thehardwarestore.ai

where AI agents shop for the right tools

── 98829 repos indexed ── | filtered by tag: #classification
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
roboflow/supervision ★ 51054 4861 APPLICATION

Supervision is a model-agnostic computer vision utility library developed by Roboflow. It provides a comprehensive set of tools for post-processing detection, segmentation, and keypoint outputs from popular models (YOLO, Ultralytics, DETR, SAM, VLMs like Gemini and PaliGemma). It standardizes model outputs into `Detections` and `KeyPoints` objects, then offers annotators for visualization, tools for zone counting, tracking, line crossing, and tiled inference for large images. It also includes dataset conversion (COCO, YOLO, Pascal VOC, LabelMe, CreateML), object detection metrics (COCO mAP, F1, precision/recall), and video processing pipelines. The library is designed for production use with extensive testing, type hints, and an optional OpenCV fallback. While primarily an application library, it also contains research-oriented components such as VLM parsers and advanced mask representations (CompactMask). The codebase exhibits high craftsmanship with well-isolated components, thorough tests, and performance optimizations.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 4 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
JuliaAI/MLJ.jl ★ 1939 159 APPLICATION

MLJ.jl is the umbrella entry point and coordination layer for the MLJ machine-learning ecosystem in Julia. The repository's own source is a thin facade module (`src/MLJ.jl`) that re-exports the public API from satellite packages — MLJBase, MLJModels, MLJTuning, MLJEnsembles, MLJIteration, and StatisticalMeasures — plus a small amount of scitype-related code. The actual implementations of fit/predict/transform, learning networks, tuning, ensembling, model composition, and evaluation live primarily in those dependencies. This repo is therefore best understood as the distribution, documentation, integration-testing, and governance hub for the larger MLJ framework rather than a standalone implementation of ML algorithms. In production, users enter through `using MLJ`, load concrete models via `@load`, wrap data and models in `machine(...)`, and drive the system with `fit!`, `predict`, `transform`, `evaluate`, `TunedModel`, `IteratedModel`, `Pipeline`, and related APIs. The system is designed around scientific types and the Tables.jl interface, allowing tabular data to flow uniformly into 200+ models across Julia and other languages, including scikit-learn interop. It supports complex composite workflows: linear pipelines, learning networks/DAGs, target transformations, homogeneous ensembles, stacking, hyperparameter optimization, and performance evaluation. The repository also contains an extensive documentation site, runnable examples, a JOSS paper, and a registry-driven integration test suite. Maintenance is active: the latest commit is recent, CI runs on GitHub Actions, dependabot is configured, and release automation via TagBot is present. Some documentation artifacts show age — for example, the synthetic-data notebook records Julia 1.4.2 — and a few APIs are explicitly experimental, but the core package remains current with the Julia ecosystem and demonstrates disciplined package management across a large dependency graph.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
sentinel-hub/sentinel2-cloud-detector ★ 494 98 APPLICATION

The sentinel2-cloud-detector repository provides a Python package (s2cloudless) for detecting clouds in Sentinel-2 satellite imagery. It implements a pixel-based cloud detector using a pre-trained LightGBM model that takes Sentinel-2 spectral bands as input and outputs cloud probability maps or binary masks with optional post-processing (convolution and dilation). The package is designed as a reusable library for integration into remote sensing workflows. The architecture consists of three core modules: cloud_detector.py (containing the main S2PixelCloudDetector class), pixel_classifier.py (a generic wrapper for applying pixel-wise classifiers over image data), and utils.py (helper functions for data loading and image processing operations). The PixelClassifier class is particularly notable for its reusability, as it decouples the classification logic from the specific model and can work with any classifier adhering to the scikit-learn API (e.g., scikit-learn models, LightGBM). The package includes comprehensive unit tests, CI/CD pipelines for multiple Python versions, and follows modern packaging standards for distribution via PyPI and Conda. The package actively maintains compatibility with current dependencies (lightgbm, numpy, opencv, sentinelhub) and avoids deprecated APIs. It demonstrates strong software engineering practices through clear separation of concerns, type hints, and comprehensive documentation. While the S2PixelCloudDetector class is tailored to the specific cloud detection use case, the underlying PixelClassifier utility represents a broadly applicable pattern for pixel-wise image classification tasks.

RATING: 8.7/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
pycaret/pycaret ★ 9854 1840 APPLICATION

PyCaret 4.0 is a full-stack MLOps platform combining a low-code Python AutoML engine, a FastAPI control plane server, and a React web UI into a single deployable system. The engine provides OOP Experiment classes for classification, regression, clustering, anomaly detection, and time series, with native sklearn pipeline implementations and typed result dataclasses. The server adds multi-user workspace management, experiment tracking, model registry, deployment serving, drift monitoring, LLM-powered advisory copilots, scheduling, webhooks, and audit logging. The React frontend offers a rich SPA with real-time event streaming, interactive plots (Plotly), and data-driven forms generated from engine introspection. The architecture is well-structured with protocol-based abstractions for storage (local-fs/S3), data sources (CSV/Postgres), LLM providers (Anthropic/OpenAI/fake), and notebook backends. This is primarily an application (ML platform) but has strong data/research characteristics due to the engine's statistical analyses, dataset profiling, and time-series utilities. The codebase is under active development with a systematic migration from legacy functional APIs to the new OOP architecture, and many components are genuinely reusable.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
promptslab/Promptify ★ 4637 363 APPLICATION

Promptify is a Python library for performing NLP tasks using large language models (LLMs) with structured, type-safe outputs. It provides a scikit-learn-like interface where users instantiate task classes (e.g., NER, Classify, QA, Summarize) and call them with plain text. The library uses LiteLLM as a universal backend to support 100+ providers (OpenAI, Anthropic, Ollama, etc.), Pydantic v2 for output schemas, Jinja2 for prompt templates, and tenacity for retries. Architecture follows a clean separation: Task classes (promptify/tasks) build prompts via PromptBuilder, send them via LLMEngine (which wraps LiteLLM), and parse responses via a safe Parser that never uses eval(). The package also includes a built-in evaluation framework (promptify/eval) with metrics for precision, recall, F1, accuracy, exact match, and ROUGE, plus dataset loading utilities. The code is well-structured, typed, and includes comprehensive tests. The primary artifact is the "promptify" Python package, installable via pip. The repository is not a data research project; it is a software library for developers.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
automl/auto-sklearn ★ 8145 1324 APPLICATION

auto-sklearn is an automated machine learning library offering a scikit-learn-compatible interface for classification and regression. It performs hyperparameter optimization via Bayesian optimization (SMAC), integrates meta-learning to warm-start the search from prior runs, and builds ensembles using Caruana's ensemble selection. The codebase is modular: pipeline components (classifiers, regressors, preprocessors) are defined with ConfigSpace and can be extended via a third-party component system. Parallel execution uses dask, and custom metrics, cross-validation splitters, and early stopping are supported. The repository also contains a substantial research component—precomputed meta-features and algorithm run data stored in ARFF format—and scripts for reproducing experiments. The architecture is well-tested with a comprehensive test suite, though some dependencies are pinned to older versions and there is moderate technical drift.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
MISP/misp-taxonomies ★ 305 155 DATA_RESEARCH

This repository is a comprehensive library of machine-readable taxonomies (machine tags) for threat intelligence and information sharing, primarily designed for the MISP platform. It contains over 200 taxonomy definitions in a standardized JSON format, each defining a namespace with predicates and values for tagging events, attributes, and indicators. The taxonomies cover a wide range of domains including cyber incident classification, malware analysis, information handling policies (TLP, PAP, IEP), regulatory compliance (GDPR, NIS2, EU AI Act), attack modeling (kill chain, Diamond Model), and specialized areas like disinformation, AI safety, and drone classification. While the core content is data, the repository also includes a set of reusable Python tools for validation, generation, and conversion of taxonomies, as well as CI/CD pipelines and a JSON schema. The hybrid nature is evident: it is primarily a data library but with significant application-like tooling for maintaining and extending the taxonomy collection.

RATING: 7.9/10 REPRO: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
openclaw/photoscrawl ★ 22 3 APPLICATION

photoscrawl is a macOS CLI tool that crawls, archives, and analyzes Apple Photos libraries. It extracts metadata, faces, search indexes, and performs classification using local multimodal models (Ollama/OpenAI). The tool stores observations and evidence in a local SQLite database (photos.sqlite) rather than final truth, enabling later hypothesis generation for people, trips, and places. It provides subcommands for crawling, importing, classifying, searching, ranking, similarity, place backfill, and evaluation card generation. Architecture: The system is a Go CLI with a modular internal structure. It uses a crawlkit shared library for crawler mechanics, control, output, and store. The Apple Photos library is accessed via PhotoKit (cgo/Objective-C bridges) and direct SQLite snapshots. Data flows: snapshot Apple Photos database -> import metadata, faces, search indexes -> classify assets (metadata observations, then optional local model inference) -> store evidence in archive. Place backfill uses a subprocess bridge for reverse geocoding with rate limiting. Eval cards prepare images and run Ollama models for evaluation. Key entry points: cmd/photoscrawl/main.go (CLI), internal/archive/crawl.go (crawl logic), internal/archive/classify.go (classification queue), internal/place/backfill.go (batch geocoding), internal/evalcard/evalcard.go (model evaluation). External dependencies: Apple Photos (macOS), SQLite, Ollama/OpenAI (optional), crawlkit, Go standard library. The codebase demonstrates strong engineering practices with comprehensive tests, CI/CD, vulnerability scanning, and schema migrations. It is actively maintained with frequent dependency updates and a focus on privacy (all model calls local by default, no private data in repo).

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: