scikit-learn

Simple and efficient tools for machine learning and data analysis in Python.

Library
PyPI
v1.9.1
67,883 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
95 /100 Excellent
Development Activity 100
Maintenance 84
Community 96
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
91 /100 Excellent
Architecture 95
Code Quality 95
Innovation 92
Learning Curve 80

scikit-learn is the de-facto standard machine learning library for Python, built on top of NumPy, SciPy, and joblib. It provides a unified, well-documented API for classification, regression, clustering, dimensionality reduction, model selection, and preprocessing, exposing hundreds of battle-tested algorithms through a consistent estimator interface.

Distributed under the permissive BSD-3-Clause license and maintained by a large open-source community, scikit-learn is designed to interoperate cleanly with the rest of the scientific Python stack. Its fit/predict/transform conventions and composable Pipeline objects make it approachable for beginners while remaining a dependable workhorse for production data science.

What You Get

  • A consistent estimator API (fit, predict, transform, score) shared by every algorithm in the library.
  • Hundreds of implemented algorithms spanning classification, regression, clustering, dimensionality reduction, and preprocessing.
  • Composable Pipeline and ColumnTransformer objects for building reproducible end-to-end workflows.
  • Robust model-selection tooling: cross-validation, grid/randomized hyperparameter search, and scoring metrics.
  • Performance-critical routines implemented in Cython with parallelism via joblib and threadpoolctl.

Common Use Cases

  • Training classification and regression models on tabular data.
  • Clustering and dimensionality reduction for exploratory data analysis.
  • Building reproducible preprocessing-plus-model pipelines for production scoring.
  • Benchmarking and tuning models with cross-validation and hyperparameter search.
  • Feature extraction and engineering from text and numerical datasets.

Under The Hood

Architecture — scikit-learn is organized around a small set of base abstractions in sklearn/base.py (BaseEstimator plus ClassifierMixin, RegressorMixin, TransformerMixin) that every algorithm module (linear_model, ensemble, cluster, svm, tree, preprocessing, etc.) subclasses to inherit the shared fit/predict/transform/score contract and parameter-cloning via clone(). Composite objects in sklearn/pipeline.py (Pipeline, FeatureUnion, ColumnTransformer) sequence estimators and transformers into a single fitted object, while model_selection layers cross-validation and hyperparameter search on top of that uniform interface. Tech Stack — the library targets Python >=3.11 and depends on NumPy (>=1.24.1), SciPy (>=1.10.0), joblib (>=1.4.0), narwhals (>=2.0.1), and threadpoolctl (>=3.5.0); the codebase is ~93% Python with ~5% Cython plus some C/C++ for hot numeric kernels, built with Meson via meson-python. Code Quality — the project is exceptionally well-tested, with roughly 259 test_*.py modules co-located with source, strict parameter validation (_param_validation), an estimator-tags system, Ruff-enforced style, and thorough NumPy-style docstrings throughout core files. API Design — the developer experience is a benchmark for the ecosystem: a single, memorable estimator convention (fit/predict/transform) makes algorithms interchangeable, make_pipeline/make_union reduce boilerplate, keyword-only constructor parameters and consistent naming keep call sites readable, and the documentation and example gallery are extensive.

Used by 28 apps in this directory

Python
99%
Apache 2.0

Rasa Open Source

AI Assistants · AI Development · Voice AI

21,353

Rasa Open Source is a Python machine learning framework for building contextual, multi-turn chatbots and voice assistants that understand natural language and maintain conversation state.

View details
62
Repo Health
78
Technical
63
Dependency
Built with
Python 99%
Updated 3 months ago
Python
76%
Apache 2.0

Second Me

AI Assistants · Productivity

15,687

Train a locally hosted AI twin on your own memories—then connect it to the world through a decentralized identity network.

View details
41
Repo Health
75
Technical
68
Dependency
Built with
Python 76%
TypeScript 19%
Updated 1 years ago
Python
64%
AGPL 3.0

Shadowbroker

Analytics · Monitoring · Security

11,358

Self-hosted OSINT dashboard that fuses 60+ live intelligence feeds — flight tracking, ship AIS, satellites, CCTV, seismic and radio networks — into one real-time map, with an agent-ready command channel for AI co-analysts.

View details
85
Repo Health
83
Technical
71
Dependency
Built with
Python 64%
TypeScript 32%
Updated 1 weeks ago
Python
94%
BSD 3

skrub

Developer Tools

1,660

Turn messy real-world dataframes into machine learning features — no manual wrangling required.

View details
86
Repo Health
84
Technical
79
Dependency
Built with
Python 94%
Updated 1 weeks ago
Python
59%
AGPL 3.0

Speakr

AI Assistants

4,112

Self-hosted AI transcription with speaker diarization, smart tagging, and multi-user collaboration — your recordings stay on your infrastructure.

View details
84
Repo Health
79
Technical
70
Dependency
Built with
Python 59%
HTML 21%
JavaScript 17%
Updated 1 weeks ago
Python
71%
Apache 2.0

SurfSense

AI Assistants · Search

16,586

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
88
Repo Health
71
Technical
66
Dependency
Built with
Python 71%
TypeScript 27%
Updated 6 days ago
Rust
79%
Apache 2.0

TensorZero

Ab Testing Experimentation · AI Development · Monitoring

11,708

TensorZero unifies the LLM gateway, observability, evaluation, optimization, and experimentation stack behind a single OpenAI-compatible API, built in Rust for sub-millisecond p99 latency.

View details
53
Repo Health
87
Technical
68
Dependency
Built with
Rust 79%
TypeScript 15%
Updated 4 months ago
Python
73%
Apache 2.0

timesfm

AI Development · Analytics

34,750

A pretrained decoder-only foundation model by Google Research that delivers zero-shot time series forecasting with calibrated quantile prediction intervals — no training required.

View details
76
Repo Health
81
Technical
71
Dependency
Built with
Python 73%
HTML 14%
Jupyter Notebook 12%
Updated 1 months ago
Rust
71%
MIT

Trieve

AI Development · Developer Tools · Search

2,721

All-in-one self-hostable platform for hybrid search, RAG, recommendations, and analytics built on Rust and Qdrant.

View details
42
Repo Health
74
Technical
65
Dependency
Built with
Rust 71%
Updated 9 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers