thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: machine-learning
streamlit/streamlit ★ 45838 4395 APPLICATION

Streamlit is an open-source Python framework (Apache-2.0) that converts Python scripts into interactive web applications. It is a product/framework repository — the platform on which data apps are built — not a user-facing application. The architecture is a hybrid: a Python backend (`lib/streamlit/`) that executes scripts and manages a session state machine, plus a TypeScript/React frontend (`frontend/`) that renders the browser UI. The two halves communicate via a WebSocket connection using protobuf-serialized messages and Arrow-based dataframes for tabular data. Key entry points include `streamlit run` (CLI in `lib/streamlit/web/cli.py`), the React frontend with component libraries (`@streamlit/component-v2-lib`), and a WebSocket connection layer (`frontend/connection/src/constants.ts`). The framework supports custom components, theming, charts (Vega-Lite, PyDeck, Mermaid), and dataframes. The repository also contains extensive Playwright E2E tests, pytest unit tests, and custom tooling including a custom ESLint plugin and license-header enforcement scripts. Notable engineering practices include exact dependency pinning with upper caps, protobuf generation as a build step, and a component authoring SDK. However, the codebase shows some maintenance burden: version sync across 7 package.json files via regex, brittle E2E selectors, mixed source/test content, and hardcoded exclusion lists in license checks. The repository is actively maintained with recent commits and strict contribution hygiene.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
vaexio/vaex ★ 8518 599 APPLICATION

Vaex is a high-performance Python library for lazy out-of-core DataFrames designed to handle datasets larger than memory. It achieves efficiency through memory mapping, zero-copy policies, lazy evaluation, and virtual columns that avoid materializing intermediate results. The system supports HDF5, Apache Arrow, Parquet, CSV, and FITS formats, with accelerated operations via C++ extensions for critical paths like hash-based aggregations and string processing. The architecture is modular, consisting of a core package (vaex-core) and specialized extensions: vaex-viz (visualization), vaex-hdf5 (HDF5 enhancements), vaex-astro (astronomy tools), vaex-ml (machine learning integrations), vaex-jupyter (notebook support), vaex-server (remote access via WebSocket/REST), and vaex-graphql (GraphQL API). Key entry points include the `vaex` CLI tool, `vaex.open()` for data loading, and programmatic APIs for DataFrame operations, expressions, and visualizations. Data flows prioritize out-of-core processing: data remains on disk until needed, computations are lazily executed and cached via fingerprinting, and results are streamed to minimize memory footprint. The codebase demonstrates strong engineering practices with a plugin system for extensibility (expression/dataframe accessors), centralized settings configuration, and a task-based execution engine supporting parallelism and async operations. While primarily a general-purpose data analysis library, it is widely used in data research due to its efficiency with large datasets and domain-specific integrations (e.g., astronomy via vaex-astro). Recent commits indicate active maintenance, low technical drift through adoption of modern dependencies (Apache Arrow, FastAPI), and a comprehensive test suite covering core functionality and extensions.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
FluxML/Flux.jl ★ 4741 625 APPLICATION

Flux.jl is a pure-Julia machine learning library emphasizing flexibility and hackability for deep learning and differentiable programming. It provides lightweight abstractions over Julia's native GPU support and automatic differentiation systems, enabling users to define, train, and evaluate neural networks with minimal boilerplate while remaining fully customizable. The library supports multiple AD backends (Zygote, Enzyme, Mooncake, FiniteDifferences) and hardware accelerators (CUDA, AMDGPU, Metal) via a unified device abstraction layer. The architecture centers around composable layers (Dense, Conv, RNN, etc.), optimization utilities, and training loops. Key entry points include the Flux module (src/Flux.jl) reexporting layers, optimizers, training functions (train!, trainstep!, setup), gradient functions (gradient, withgradient), device functions (gpu, cpu), and loading utilities. Data flows typically involve defining a model as a Chain of layers, computing loss via modular loss functions, initializing an optimizer, and iterating over data with gradient updates. Device transfers are handled via functor-based traversal for seamless CPU/GPU movement. Flux.jl demonstrates strong engineering practices through reusable patterns like the @layer macro for automatic functor integration and pretty-printing, a modular loss function design with shared numerical utilities, and optimizer composition via chaining gradient transformations. While the library has undergone breaking changes to improve consistency (e.g., v0.14.0 dropping Julia <1.9 support, v0.15.0 recurrent cell redesign), it remains actively maintained with frequent updates. The extensive test suite and performance benchmarks validate correctness across backends, though dependency complexity from supporting multiple AD/hardware systems introduces moderate technical drift.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Evovest/EvoTrees.jl ★ 201 27 APPLICATION

EvoTrees.jl is a production-grade gradient-boosted decision tree (GBDT) library written entirely in Julia. It implements a histogram-based tree-growing algorithm with support for multiple loss functions (MSE, LogLoss, Poisson, Gamma, Tweedie, MAE, Quantile, MultiQuantile, credibility losses, Gaussian/Legistic MLE, and LambdaRank for ranking). The library provides both CPU (multi-threaded) and GPU (CUDA, ROCm, Metal via KernelAbstractions) backends, enabling efficient training and inference on diverse hardware. It is designed as a composable Julia package with a clean module structure, MLJ integration for seamless use within the Julia machine learning ecosystem, and serialization/deserialization via BSON for model persistence. At its core, the system implements a loss-type hierarchy (`src/loss.jl`) where each loss is an abstract type with inline scalar gradient/hessian functions that are shared across CPU and GPU code paths. The training algorithm binarizes features into 8-bit histograms, computes gradient statistics per bin, and finds optimal splits via gain scanning. Multi-target objectives (e.g., location/scale MLE) and monotonic constraints are supported. The library also includes SHAP value computation (Linear TreeShap), feature importance, tree plotting (Makie recipe), and a comprehensive callback system for evaluation and early stopping during training. While primarily a library for embedding in larger ML workflows, EvoTrees.jl also comes with an extensive collection of benchmarks, tutorials, and research experiments (credibility loss, multi-quantile, ranking). It is not a data-pipeline or analytics project but a well-architected software library that demonstrates advanced patterns in Julia numerics, GPU programming, and loss function abstraction. The repository is actively maintained, with regular commits, CI/CD, and comprehensive documentation built with Documenter.jl and Vitepress.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
yzhao062/pyod ★ 10029 1514 APPLICATION

PyOD is a comprehensive Python library for anomaly/outlier detection offering 60+ detectors across tabular, time series, graph, text, image, and audio modalities. It provides a classic scikit-learn-compatible API (fit/predict/decision_function) via pyod.models, a high-level orchestration engine (ADEngine) for automatic profiling, detector selection, consensus scoring, and reporting, and an agentic workflow layer for LLM-driven anomaly detection through CLI, MCP server, and packaged AI skills. The library is primarily a software library (application) with strong data research influence: it comes with benchmark-backed routing rules, academic references, and Jupyter notebooks for research reprocibility. Its architecture follows a three-layer design (classic detectors, ADEngine orchestration, agentic skills) that allows progressive engagement from simple model fitting to full automated pipelines.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pyro-ppl/pyro ★ 9065 1024 APPLICATION

Pyro is a deep probabilistic programming library built on PyTorch, providing a unified framework for Bayesian inference, variational inference, and Monte Carlo methods. Its architecture centers on composable effect handlers (poutine) that enable tracing, conditioning, replay, and reparameterization of probabilistic programs. The library includes a rich set of distributions, bijective transforms for normalizing flows, automatic guide construction, and a variety of inference algorithms (SVI, HMC, NUTS, SVGD, SMC). It also offers domain-specific contrib modules for Gaussian processes, time series forecasting, epidemiology, optimal experimental design, and multi-object tracking. While primarily a software library, Pyro has strong research roots, with many features inspired by recent papers and experimental modules that may evolve. The codebase is well-structured, extensively tested, and actively maintained, though some contrib modules carry instability warnings and a few internal patches to PyTorch may require attention.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
aimacode/aima-python ★ 8856 4054 APPLICATION

This repository is the official Python implementation of the algorithms from the textbook *Artificial Intelligence: A Modern Approach* (AIMA) by Russell and Norvig. It is primarily an educational library, providing clean, well-documented reference implementations of classic AI algorithms. The code is organized as a monolithic Python package (`aima/`) with modules corresponding to major AI subfields (search, logic, probability, learning, NLP, planning, agents, etc.), complemented by an extensive set of Jupyter notebooks that serve as interactive tutorials and a JupyterLite deployment for browser-based execution. The architecture emphasizes clarity and adherence to textbook pseudocode over production performance. The library demonstrates high craftsmanship in its core abstractions. The `Problem`/`Node` search framework, the `Expr` symbolic logic engine, the `BayesNet` probabilistic inference system, and the `CSP` constraint satisfaction framework are all well-isolated, reusable components that could be extracted for other projects. The code is extensively tested with pytest and actively maintained, with a very low open issue count relative to its popularity. While the core library is robust and written in pure Python with minimal dependencies, some modules (particularly `deep_learning.py` and `perception.py`) rely on heavy external libraries like TensorFlow/Keras and OpenCV, which have experienced significant API drift over time. The educational focus means the code prioritizes readability and algorithmic correctness over scalability or performance optimization. Overall, it is an invaluable resource for learning AI and a solid foundation for building educational tools and demonstrations.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
VowpalWabbit/vowpal_wabbit ★ 8730 1922 APPLICATION

Vowpal Wabbit is a production-ready machine learning system specializing in online learning algorithms, particularly contextual bandits. It features a modular reduction-based architecture where learning algorithms can be composed and stacked. The system provides a command-line interface, Python package, and bindings for C#/.NET, Java, and WebAssembly. Its core innovation lies in the reduction framework that allows flexible composition of learning algorithms, efficient feature hashing for scalable representation, and extensive support for various learning paradigms including supervised learning, multilabel classification, cost-sensitive learning, and reinforcement learning.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Kiln-AI/Kiln ★ 5194 395 APPLICATION

Kiln is a full-stack AI development platform for building, evaluating, and optimizing LLM-based tasks and agents. It provides a desktop application (Tkinter tray + FastAPI server) with a Svelte web UI, plus a core Python library and a cloud server component. The system supports the complete AI workflow: project/task management, multi-provider LLM orchestration via LiteLLM, evaluation with multiple judge types (LLM-as-judge, code eval, exact match, pattern match, etc.), synthetic data generation, RAG pipelines (chunking, embedding, vector stores), fine-tuning, prompt optimization, and Git-based project versioning. It also includes a 'Kiln Pro' cloud service for advanced features like copilot-assisted spec refinement and batch generation. The architecture is a monorepo with uv workspace, featuring extensive test coverage (unit, integration, e2e) and CI/CD pipelines. While the primary character is an application, it incorporates significant data engineering patterns for evaluation pipelines, synthetic data generation, and statistical analysis.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
SupeRuier/awesome-active-learning ★ 1001 87 DATA_RESEARCH

This repository is a comprehensive, curated bibliography and knowledge base for the field of active learning. It organizes hundreds of research papers by conference (ICML, NeurIPS, CVPR, etc.), journal (JMLR, TPAMI, etc.), thesis, and content topic (problem settings, deep active learning, applications, etc.). The repository also provides taxonomies, summaries, and links to papers. It is not a software application or data pipeline; it is a structured reference list intended for researchers and practitioners. The content is entirely in Markdown files, making it trivially reproducible and easy to navigate. The repository is actively maintained with recent commits and a growing star count.

RATING: 9.0/10 REPRO: 9.9/10 MAINT: maintained DRIFT: low
lixilinx/psgd_torch ★ 207 14 APPLICATION

This repository provides a PyTorch implementation of Preconditioned Stochastic Gradient Descent (PSGD), a general-purpose second-order optimizer. It implements various preconditioner structures including Kronecker product, low-rank approximation, dense matrix, affine group, and X-matrix preconditioners. The code offers both Newton-type and whitening preconditioners with multiple update rules for the preconditioner matrices. Key features include support for different geometries (Q0.5EQ1.5, EQ, QEP, etc.), momentum handling, gradient clipping, and numerical stability mechanisms. The library includes optimizers suitable for various deep learning applications as demonstrated in the provided examples (vision transformers, GPT2, LSTMs, CNNs, etc.).

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
deepfakes/faceswap ★ 57565 13459 APPLICATION

FaceSwap is a deep learning face-swapping application that provides a complete pipeline for extracting faces from images/video, training autoencoder models, and converting (swapping) faces in new media. It features a modular plugin architecture for detectors, aligners, maskers, identity extractors, training models, and converters, supporting multiple GPU backends (NVIDIA, AMD, Apple Silicon, CPU). The application includes both a command-line interface and a full tkinter-based GUI for managing projects, editing alignments manually, previewing conversions, and analyzing training progress. It also provides auxiliary tools for sorting faces, generating masks, manipulating alignments, and processing video via ffmpeg. The codebase is heavily research-oriented with custom loss functions (LPIPS, LDR-FLIP, GMSD, etc.), custom neural network layers (PixelShuffler, AdaIN), and advanced training features (learning rate finder, mixed precision, distributed training). While primarily an application, it contains significant data/research components in its model architectures and loss implementations.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
ItzCrazyKns/Vane ★ 36945 4103 APPLICATION

Vane is a privacy-focused, self-hosted AI answering engine that combines web search with large language models (LLMs) to produce cited, real-time answers. The system is built as a Next.js 16 application with a React frontend and a set of API routes that orchestrate a multi-step research pipeline: classification of user queries, parallel execution of search actions (web, academic, social, scrape, upload-based retrieval), widget generation (weather, stock, calculation), and final answer synthesis via an LLM. It supports multiple LLM providers (OpenAI, Anthropic, Gemini, Groq, Ollama, LM Studio, etc.) through a clean provider abstraction, and stores chat history in a local SQLite database managed by Drizzle ORM. The architecture is a monolith with clear separation of concerns: a model registry for LLM/embedding providers, a search agent with an action registry pattern, a widget system for structured data display, and a configuration manager that persists user settings to a JSON file. The frontend uses client-side streaming via EventSource to display research progress and final answers in real-time. Deployment is Docker-first, bundling a SearXNG instance for privacy-respecting web search, with multi-arch images and a slim variant. Key entry points include the main chat page (`/`), individual chat pages (`/c/[chatId]`), a news discovery page (`/discover`), and a library for uploaded documents. The primary API endpoints are `POST /api/chat` (streaming chat), `POST /api/search` (non-streaming search), and various CRUD routes for providers, config, and uploads. External dependencies include SearXNG (self-hosted), Open-Meteo (weather), Yahoo Finance (stocks), and the LLM provider APIs. The codebase demonstrates strong engineering practices with well-defined abstractions, a modular agent architecture, and a focus on privacy and local-first operation. It is actively maintained with a large community, though some areas (custom migration runner, large chat hook) show room for refinement.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Fincept-Corporation/FinceptTerminal ★ 32159 4546 APPLICATION

Fincept Terminal is a native C++20/Qt6 desktop financial intelligence platform, open-sourced under AGPL-3.0, with a proprietary Enterprise edition. It functions as a comprehensive trading, research, and analytics terminal supporting equities, options, futures, crypto, forex, and prediction markets. The architecture is a modular monolith: a single Qt Widgets process with embedded Python 3.11 for scripting, SQLite for persistence, and a DataHub pub/sub system for real-time data flows. Key entry points are the main window (WindowFrame) and screen router (DockScreenRouter), with over 100 data connectors, 20+ broker integrations, backtesting engines (QuantConnect/LEAN compatibility), AI agents (LangGraph/Agno-based), and extensive analytics (corporate finance, portfolio optimization, options pricing, economic indicators). The repository is actively maintained with a monthly release cycle, but contains a very large codebase with some boilerplate and incomplete features, making it powerful but complex to reuse partially.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
shap/shap ★ 25793 3760 APPLICATION

SHAP (SHapley Additive exPlanations) is a mature Python library for interpreting machine learning model predictions using Shapley values from cooperative game theory. It provides a unified API across model types: tree ensembles (XGBoost, LightGBM, CatBoost, sklearn, PySpark), deep neural networks (TensorFlow, PyTorch), linear models, and arbitrary callables. The architecture is modular: explainers (Tree, Deep, Kernel, Partition, Gradient, Linear, etc.) consume models and maskers (tabular, image, text) to produce Explanation objects, which are visualized via matplotlib or interactive JavaScript force plots. The library includes benchmarks for evaluating explanation quality, extensive test suites with serialization baselines, and C++/CUDA extensions for performance. Although primarily a library (application), it has a strong research character: it originated from academic papers, includes notebooks reproducing experiments, and contains a user study on human interpretability. The codebase is well-engineered with reusable patterns (serialization, OpChain for lazy operations, MaskedModel abstraction), but carries some technical drift from legacy API aliases, dependency version sprawl, and a large minified JavaScript bundle in the repository.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
CVHub520/X-AnyLabeling ★ 10676 1178 APPLICATION

X-AnyLabeling is a cross-platform desktop application (PyQt6) for AI-assisted annotation of images, videos, and 3D point clouds. It serves as a unified interface for a vast model zoo including YOLO (v5-v26), SAM (1/2/3), Grounding DINO, Florence-2, PP-OCR, and many others, enabling auto-labeling for detection, segmentation, pose estimation, OCR, tracking, and more. The application features a plugin-based model architecture, abstracted inference engines (ONNX, TensorRT, PyTorch), and a comprehensive settings system. It also integrates an Ultralytics YOLO training pipeline and a secure in-app update mechanism. While primarily an application, it has a strong hybrid nature due to its deep integration of research code (vendored Grounding DINO, SAHI) and data pipeline utilities (format converters, COCO evaluators). The codebase demonstrates high craftsmanship in its model abstraction layer and inference engine design, though the sheer volume of integrated models introduces a medium risk of technical drift. It is actively maintained with a large community and extensive test coverage.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
bitsandbytes-foundation/bitsandbytes ★ 8526 940 APPLICATION

bitsandbytes is a production-grade Python/C++ extension library that enables k-bit quantization for PyTorch. Its actual function is to reduce the memory footprint of large language model training and inference by providing 8-bit blockwise quantized optimizers (Adam, AdamW, LAMB, Lion, AdEMAMix, etc.), 4-bit NF4/FP4 quantized linear layers used by QLoRA, and LLM.int8()-style mixed-precision matmul with outlier separation. It is an application library rather than a data research repository; the research algorithms it implements are packaged as reusable, production-oriented components exposed to downstream libraries such as Hugging Face Transformers, PEFT, Accelerate, TGI, and vLLM. Users interact through quantized nn modules, functional quantize/dequantize primitives, optimizer classes, and autograd matmul functions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pytorch/ignite ★ 4780 720 APPLICATION

PyTorch-Ignite is a lightweight library designed to simplify training neural networks in PyTorch. It provides a flexible engine/event system that decouples training logic from user-defined process functions, allowing attachment of handlers for logging, checkpointing, and metrics computation. The library supports distributed training across multiple backends (Horovod, XLA, native PyTorch) and includes comprehensive metrics for classification, regression, NLP, recommendation systems, and GANs. Architecture centers around Engine, Handler, and Metric components with clear separation of concerns. Key entry points include ignite.engine.Engine, ignite.handlers.* loggers, ignite.metrics.* metrics, and ignite.distributed utilities for distributed training abstraction.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
PyGCL/PyGCL ★ 967 98 APPLICATION

PyGCL is a PyTorch-based library for Graph Contrastive Learning (GCL) that provides modular components for building GCL models. The library implements graph augmentation techniques, contrasting architectures, contrastive objectives, and negative sampling strategies. It features clean abstractions that separate concerns across different graph frameworks (PyG and DGL), standardized evaluation utilities, and comprehensive examples demonstrating usage. The architecture follows a modular design with distinct modules for augmentors, losses, models, evaluation, and utilities, allowing users to mix and match components to build custom GCL algorithms.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
christopherkarani/Swarm ★ 580 43 APPLICATION

Swarm is a production-grade Swift-native agent runtime framework for building multi-agent conversational systems with type-safe tools, on-device Apple Foundation Models, composable workflows, memory, guardrails, and observability. The architecture is modular: core agent execution (Agent, Workflow, Job) with pluggable inference providers (Foundation Models, OpenAI-compatible, mock), memory backends (conversation, sliding window, summary, vector, persistent via SwiftData or Wax SQLite), and tool integration (built-in tools, MCP protocol, web search). Key entry points include Agent.run()/stream(), Workflow.execute(), and the SwarmMCPServerService for exposing tools via MCP. Data flows involve agent turns with tool calls, memory retrieval/consolidation, and durable workflow checkpointing via the HiveCore deterministic runtime. External dependencies include Apple FoundationModels (macOS 26+), swift-log, swift-syntax (for macros), and optional Wax (SQLite vector store) and OpenTelemetry SDK. The framework emphasizes compile-time safety via @Tool and @Agent macros, and provides resilience patterns (retry, fallback, circuit breaker, rate limiting) and observability (tracing, metrics, OpenTelemetry).

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
$ loading more...
$ submit: