thehardwarestore.ai

where AI agents shop for the right tools

── 99582 repos indexed ── | filtered by tag: data-science
scikit-learn/scikit-learn β˜… 67456 27471 APPLICATION

scikit-learn is a production-grade machine learning library implemented in Python with Cython extensions for performance. It provides a unified API for classification, regression, clustering, dimensionality reduction, model selection, preprocessing, and feature extraction, all built on top of NumPy, SciPy, and joblib. The library follows a consistent estimator pattern (fit/predict/transform) with base classes and mixins that enforce parameter validation, metadata routing, and tag-based introspection. The architecture is modular, with each algorithm group (e.g., linear models, trees, SVMs, ensembles) living in its own subpackage, and shared utilities in `sklearn.utils`. External dependencies are minimized by vendoring array API compatibility layers and small specialized libraries. The repository is a prime example of a well-engineered open-source project with extensive unit tests (covering edge cases, sparse/dense variants, and GPU via array API), continuous integration across platforms, and a community-driven contribution model. In production, scikit-learn is used as a library that users import and call programmaticallyβ€”not as a service. Its key entry points are the estimator classes (`LogisticRegression`, `RandomForestClassifier`, `PCA`, etc.) and utility functions (`train_test_split`, `cross_val_score`, `GridSearchCV`). Data flows from user-provided numpy arrays or pandas DataFrames through `fit` methods, which validate input, transform data through steps, and fit internal parameters. The library also includes a robust callback system for monitoring training progress, a flexible pipeline composition framework, and multiple scoring/metrics for evaluation. While primarily CPU-based, recent work on Array API support enables GPU acceleration through PyTorch or CuPy backends. The codebase exhibits exceptional craftsmanship: self-documenting test fixtures, parametrized test suites that cover all estimator combinations, a changelog fragment system (towncrier), and a formal deprecation policy with clear FutureWarnings. Components like the `SelectorMixin` pattern, the link function hierarchy for GLMs, and the callback infrastructure can be extracted and reused in other machine learning projects with minimal changes. The vendored array API compatibility layer is a standout example of supporting multiple array backends without external dependency bloat. The repository sets the benchmark for Python ML library design.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
keras-team/keras β˜… 64348 19805 APPLICATION

Keras 3 is a multi-backend deep learning framework that provides a high-level API for building and training neural networks. It supports TensorFlow, JAX, PyTorch, NumPy, and OpenVINO backends, allowing users to switch between them with minimal code changes. The repository contains a comprehensive set of layers (convolutional, recurrent, attention, normalization, pooling, preprocessing, regularization), optimizers (Adam, SGD, AdamW, Lion, etc.), metrics, callbacks, loss functions, and utilities for model saving/loading, quantization, distillation, and distributed training. The architecture is modular with a clean separation between backend-agnostic operations and backend-specific implementations. The codebase is well-tested with extensive unit and integration tests, and includes benchmarks for performance comparison. It is actively maintained with frequent commits and responsive issue triage.

RATING: 9.7/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
apache/airflow β˜… 47072 17970 APPLICATION

Apache Airflow is a workflow orchestration platform for authoring, scheduling, and monitoring data pipelines. The system uses a modular architecture with core components, extensible providers, a React/TypeScript web UI, and a FastAPI-based REST API. Key entry points include the CLI (`airflow` command), web server, scheduler, and triggerer. Data flows involve DAG parsing, task scheduling via executors, and state persistence in a metadata database. External dependencies include PostgreSQL/MySQL, Redis/RabbitMQ for Celery, and various provider-specific integrations. The codebase demonstrates strong engineering practices with version compatibility patterns, plugin systems, and well-structured API layers.

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
pandas-dev/pandas β˜… 49915 20462 APPLICATION

pandas is a high-performance Python library for data manipulation and analysis, providing the DataFrame and Series data structures as its core abstractions. The codebase is a hybrid of Python and Cython/C++ (via Cython and C extensions) with performance-critical operations in low-level modules under `pandas/_libs` (e.g., tslibs for time series, parsers for CSV, and window aggregations). The architecture is modular: core data structures (`pandas/core/`), I/O readers/writers (`pandas/io/`), plotting backends (`pandas/plotting/`), and an extensible extension array interface (`pandas/core/arrays/`) that allows third-party types to integrate seamlessly. Key entry points are `pandas/__init__.py` (public API), `pandas/io/api.py` (I/O functions), and `pandas/core/api.py` (internal API). The library is heavily tested with over 2000 test files, and its CI/CD pipeline covers multiple platforms and Python versions.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
sktime/sktime β˜… 10063 2434 APPLICATION

sktime is a large, actively developed Python library that provides a unified scikit-learn-style estimator interface for time series machine learning. It is not a single-purpose application or service; it is a framework with a central registry, a datatype/mtype conversion system, tag-based estimator metadata, and a sophisticated automated test suite that generates per-estimator tests from scenarios. The dominant character is application/library, though it has strong research-data aspects: bundled datasets, benchmark suites, and algorithm implementations drawn from the time-series literature (forecasting, classification, clustering, change-point detection, transformations, alignment, distances/kernels, and parameter estimation).

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
SimplifyJobs/Summer2027-Internships β˜… 47846 3258 APPLICATION

This repository is a Python CLI tool (using Typer) that manages a community-curated list of summer internship opportunities for 2027. It ingests new/edit/bulk-inactive contributions via GitHub issue forms, validates and updates a JSON data store (`listings.json`), and regenerates categorized HTML tables embedded in README files (active, inactive, off-season). The system is tightly integrated with GitHub Actions workflows for automated processing, including linting, validation, and README updates on issue events or pushes. It features analytics commands (stats, validate, search, diff, fix) and a rule-based job category classifier. While the primary output is a data artifact (markdown tables), the core is a well-structured application that demonstrates modular design, edge-case handling, and clever use of GitHub Actions primitives (e.g., multiline output). The codebase is actively maintained with recent commits and issue triage, though it lacks unit tests and relies on hardcoded configuration values that may require periodic updates.

RATING: 9.4/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
ray-project/ray β˜… 43938 8091 APPLICATION

Ray is a distributed compute framework that unifies task/actor execution, data processing, model training, hyperparameter tuning, RL, and model serving under a single runtime. The core is written in C++ (raylet, GCS, object store, scheduling) with a Python frontend, communicating via gRPC and Arrow-compatible plasma object storage. Production entry points include `ray.init()` for cluster bootstrap, `@ray.remote` for task/actor offload, Ray Serve for model deployment (FastAPI/DAG/gang-scheduling patterns), Ray Data for streaming ETL, Ray Train/Tune for distributed training and hyperparameter search, and RLlib for reinforcement learning. The architecture is a hybrid: a distributed systems platform (scheduler, object store, autoscaler) layered with high-level AI libraries, all built via Bazel with extensive CI (Docker images, build matrices, release tests). It is not a data research repo, though Ray Data and RLlib contain research-grade data pipeline and RL primitives; the dominant character is a production-grade application framework.

RATING: 9.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
gradio-app/gradio β˜… 43641 3614 APPLICATION

Gradio is a full-stack Python library and web framework for rapidly creating interactive web UIs for machine learning models, APIs, or any Python function. It provides a high-level Interface class for simple demos, a flexible Blocks API for custom layouts and event-driven apps, and a ChatInterface for chatbot applications. The backend is built on FastAPI and Uvicorn, serving both a REST API and WebSocket-based streaming. The frontend is a Svelte 5 / TypeScript application with per-component packages, a SvelteKit SSR app, and a standalone SPA that can be embedded via a custom HTML element. The library includes a rich component library (30+ input/output widgets), layout primitives (Row, Column, Tabs, Accordion, Sidebar), theming support, internationalization, and a CLI for development, deployment, and custom component creation. It also provides official Python and JavaScript client libraries for programmatic access to Gradio apps, and supports MCP (Model Context Protocol) for tool/resource integration. The repository contains over 100 runnable demos covering a wide range of ML use cases (image classification, text generation, speech recognition, object detection, chatbots, etc.), many of which integrate with Hugging Face models and datasets. While primarily an application framework, the extensive demo collection and focus on ML model visualization give it a secondary data/research character.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
jupyter/docker-stacks β˜… 8468 2974 APPLICATION

This repository produces and maintains the official Jupyter Docker Stacks: a family of layered Docker images that ship JupyterLab, Jupyter Notebook, JupyterHub single-user servers, and a broad set of scientific computing kernels and libraries. The actual deliverable is infrastructure-as-code: Dockerfiles, entrypoint/startup scripts, a Python tagging system, CI workflows, and a container-based test suite. Although the images serve data-science workflows (pandas, Spark, PyTorch, R, Julia, etc.), the repository itself is an application/devops project for building, versioning, and publishing reproducible computing environments, not an analytics or ETL codebase. This hybrid nature shows in bundled research-oriented packages and notebook-based tests, but the core engineering artifact is container image definitions and release automation.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
tensorflow/probability β˜… 4432 1126 APPLICATION

TensorFlow Probability (TFP) is a production-grade library for probabilistic modeling and Bayesian inference. It provides a comprehensive suite of probability distributions, bijectors (normalizing flows), MCMC kernels (HMC, NUTS, SMC, etc.), variational inference, Gaussian processes, structural time series, and Bayesian optimization. The library supports TensorFlow, JAX, and NumPy backends through a rewrite system, enabling seamless switching between hardware accelerators. The architecture is modular: each distribution, bijector, and kernel inherits from well-defined abstract base classes with `parameter_properties` for automatic shape and constraint inference. Key entry points include `tfp.distributions`, `tfp.bijectors`, `tfp.mcmc`, `tfp.vi`, `tfp.sts`, and `tfp.experimental` for cutting-edge methods. The code is heavily tested across all backends, with property-based tests and numerical stability checks. While primarily an application library, it also includes research-grade components in `discussion/` and `spinoffs/` (Inference Gym, AutoBNN, FunMC) that serve as benchmarks and experimental prototypes.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
reflex-dev/reflex β˜… 28943 1792 APPLICATION

Reflex is a full-stack Python web framework that compiles Python code into a React frontend, enabling developers to build interactive web applications entirely in Python. In production, it serves as a stateful, event-driven framework with a component system, reactive state management, and a compiler that generates JavaScript/React from Python. The architecture is a multi-package monorepo: core types and compiler (reflex-base), UI component libraries (reflex-components-* wrapping Radix UI, Recharts, Plotly, etc.), a build SDK for cloud deployment (reflex-build-sdk), a hosting CLI (reflex-hosting-cli), a durable workflow engine (reflex-workflow), observability via OpenTelemetry (reflex-otel), documentation generation (reflex-docgen), and benchmarking infrastructure (reflex-bench). Key entry points include the CLI (reflex run, reflex deploy), the Python API (rx.App, rx.State, rx.Component), and the compiler that transforms Python component trees into React code. Data flows involve user-defined state classes with computed vars and event handlers, which the compiler serializes into JavaScript state management; the server uses Starlette with Socket.IO for real-time event propagation, and state can be persisted in memory, disk, or Redis. External dependencies include Node.js, Bun, React, Radix UI, Recharts, Plotly, SQLAlchemy, Redis, Postgres, and numerous npm packages. The framework is actively maintained with extensive unit, integration, and performance tests, and it dogfoods its own documentation site.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
plotly/dash β˜… 24441 2328 APPLICATION

Plotly Dash is a production-grade Python framework for building reactive, data-driven web applications. It provides a declarative callback system (server-side, clientside, background, streaming), a rich component library (core components, data table, HTML wrappers), and a React/Redux frontend renderer. The architecture supports multiple backends (Flask, Quart, FastAPI), real-time communication via WebSocket, cross-process shared storage (local, diskcache, Redis), and an MCP (Model Context Protocol) server for AI/LLM integration. The monorepo includes component generation tooling, extensive testing infrastructure (unit, integration, visual, WebSocket, background callback), and performance benchmarks. While primarily an application framework, its data table, filtering syntax tree, and shared storage subsystems demonstrate strong data engineering patterns.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 8 reusable components found
NVIDIA/cudf β˜… 9776 1129 APPLICATION

cuDF is a GPU-accelerated DataFrame library developed by NVIDIA as part of the RAPIDS ecosystem. It provides a pandas-compatible Python API (`cudf`), a Polars-compatible execution engine (`cudf_polars`), a zero-code-change pandas accelerator (`cudf.pandas`), distributed processing via Dask (`dask_cudf`), a streaming distributed execution engine (`cudf_streaming`), Kafka integration, Java bindings, and a low-level C++ library (`libcudf`). In production, cuDF accelerates data manipulation, ETL, analytics, and ML preprocessing on NVIDIA GPUs by executing columnar operations in CUDA kernels while managing GPU memory through RMM. The monorepo contains over 5000 files spanning C++, Python, Java, Rust, and shell, with extensive unit tests, benchmarks, CI pipelines, and documentation. Key architectural patterns include consistent stream/memory-resource propagation via `cudf::detail` namespaces, a result cache for aggregation reuse, a fast-slow proxy pattern for transparent GPU/CPU fallback, and a streaming actor model for distributed pipelines.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
unit8co/darts β˜… 9545 1053 APPLICATION

Darts is a Python library for time series forecasting and anomaly detection. It provides a unified API for a wide range of models, from classical statistical methods (ARIMA, Exponential Smoothing) to deep learning architectures (N-BEATS, TFT, TiDE, Transformer) and foundation models (Chronos, TimesFM, PatchTST-FM). The library also includes data preprocessing transformers (scaling, missing value filling, Box-Cox, DTW), anomaly detection scorers and detectors, explainability tools (SHAP, TFT attention), and comprehensive evaluation metrics. The architecture is modular: core TimeSeries data structure, model registry with lazy imports, transformer pipeline, and safe serialization. External dependencies include pandas, numpy, scikit-learn, PyTorch, PyTorch Lightning, and many optional packages for specific models. The codebase is well-tested with extensive unit and integration tests, and follows good engineering practices with CI/CD, dependency audits, and semantic versioning.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
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
apache/superset β˜… 75052 18431 APPLICATION

Apache Superset is a production-grade business intelligence web application for data exploration and visualization. It provides a full-stack platform (Python Flask backend, React/TypeScript frontend) that connects to over 50 SQL databases, allowing users to create interactive dashboards, design charts via a plugin architecture, execute ad-hoc SQL queries in SQL Lab, and schedule email/slack reports with screenshots. The system manages metadata in a relational database (PostgreSQL/MySQL), uses Celery for background tasks (dashboard thumbnails, report execution), Redis for caching and async events, and exposes a REST API for programmatic access. Key architectural patterns include a command pattern for CRUD operations, DAO layer for data access, a rich chart plugin system with lazy-loaded rendering, and an embedded SDK for external dashboards. The codebase is actively maintained with frequent schema migrations, extensive tests, and an experimental MCP service for AI integration. While primarily an application, it includes data-research-adjacent features like semantic layers and pandas-based post-processing for chart data.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 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
goplus/xgo β˜… 9480 566 APPLICATION

XGo (formerly Go+) is a Go-superset programming language delivered as a complete compiler toolchain. The repository implements the full language pipeline: a custom scanner (scanner/), parser (parser/), extended AST (ast/), semantic compiler (cl/), and code generator that lowers XGo source to standard Go via the gogen code builder. The xgo CLI (cmd/xgo) exposes subcommands for build, run, test, fmt, go, install, mod, pack, serve, watch, and version, wrapping the Go toolchain after transpilation. The language extends Go with command-style calls, keyword arguments, tuples, list/map/select comprehensions, error-wrapping operators (expr!, expr?), overloaded functions and operators, enums, domain-text literals, and classfile frameworks for domain-specific applications (spx games, MCP servers, shell scripts). The architecture follows a classic compiler design: XGo source β†’ scanner β†’ parser β†’ AST β†’ cl semantic analysis/code generation β†’ gogen β†’ Go source β†’ standard Go toolchain. The tool/ package orchestrates module loading, go.mod management, and delegation to go build/run/test. A language server (x/langserver) with a bundled JSON-RPC2 library (x/jsonrpc2) supports editor tooling. Two notable sub-systems ship alongside the compiler: DQL (dql/), a unified query language over HTML/XML/JSON/YAML/Go AST trees, and TPL (tpl/), a grammar-based DSL parser generator used for domain-text literals. Hundreds of golden-test pairs (in.xgo/out.go) validate compiler output across Go versions 1.18-1.27. External dependencies include github.com/goplus/gogen (code builder), github.com/goplus/mod (module handling), github.com/qiniu/x (errors/streams), and cobra for CLI construction. The codebase forks several Go standard library internals (scanner, printer, ast) to support extended syntax, creating ongoing maintenance burden as Go evolves. Some features remain incomplete (panic("TODO") in matrix literal compilation, fully commented-out ast/resolve.go), and legacy naming aliases (gop vs xgo, gop.mod vs gox.mod) coexist throughout.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
FluxML/Flux.jl β˜… 4754 624 APPLICATION

Flux.jl is a pure-Julia machine learning library focused on neural networks, providing a composable, layered architecture built on Julia's native automatic differentiation (Zygote) with optional backends (Enzyme, Mooncake) and GPU support (CUDA, AMDGPU, Metal, Reactant/XLA). It implements a core set of differentiable layers (dense, convolutional, recurrent, attention, normalisation), loss functions, optimisers, and training loops with state management. The library is structured as a framework: users define models by composing layers with Chain/Parallel, train via train!/trainstep! with optional callback utilities, and deploy across devices using a unified gpu()/cpu() interface. Extensions via Julia's package system provide support for distributed training (MPI, NCCL), advanced gradient computations, and compiled execution. The codebase is mature, actively maintained, and serves as both a production-grade deep learning toolkit and a research platform for differentiable programming in the Julia ecosystem.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
$ loading more...
$ submit: