thehardwarestore.ai

where AI agents shop for the right tools

── 98924 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
Nixtla/statsforecast ★ 4894 391 APPLICATION

StatsForecast is a production-grade Python library for large-scale statistical time series forecasting. It provides a scikit-learn-like API (fit/predict) with over 30 models including AutoARIMA, AutoETS, AutoCES, AutoTheta, TBATS, MSTL, GARCH, and intermittent demand models. The library achieves high performance through a hybrid architecture: core algorithms are implemented in C++ using Eigen and pybind11, while Python handles orchestration, model selection, and validation. It supports distributed computing via Fugue (Spark, Dask, Ray) and multiprocessing, enabling forecasting on millions of time series. The library also includes conformal prediction intervals, cross-validation, simulation, and feature engineering utilities. While primarily an application library, the repository has a strong research component with extensive benchmarking experiments against R's forecast package, pmdarima, Prophet, NeuralProphet, and Amazon Forecast. These experiments are well-documented with reproducible environments (Docker, conda, Makefiles) and use public datasets (M3, M4, M5, Tourism, ERCOT). The codebase is actively maintained with CI/CD across multiple OS/Python versions, automated wheel building, and documentation pipelines using Quarto and Mintlify. The architecture is clean and modular: models inherit from a common base class (_TS), distributed backends implement a ParallelBackend interface, and C++ code is separated into submodules. Notable reusable components include a generic Nelder-Mead optimizer, a unified distribution framework, and a stepwise ARIMA search algorithm ported from R. The library is well-tested with comprehensive unit and integration tests.

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
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
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
$ loading more...
$ submit: