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

C++
66%
Other

Memgraph

AI Development · Databases

4,628

High-performance in-memory graph database for AI context and real-time analytics

View details
90
Repo Health
79
Technical
66
Dependency
Built with
C++ 66%
Python 18%
Updated 6 days ago
Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

28,512

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
96
Repo Health
86
Technical
67
Dependency
Built with
Python 58%
TypeScript 35%
Updated 6 days ago
Go
93%
MIT

NornicDB

AI Development · AI Memory · Databases

916

A single graph+vector+temporal database for AI workloads — Neo4j-compatible, sub-millisecond hybrid search, and built-in memory decay.

View details
80
Repo Health
82
Technical
71
Dependency
Built with
Go 93%
Updated 6 days ago
TypeScript
26%
AGPL 3.0

Omnivore

Bookmarks Archiving · Knowledge Management · Note Taking

16,356

Self-hosted read-it-later platform with highlights, newsletters, PDFs, and seamless Obsidian and Logseq integration.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
TypeScript 26%
JavaScript 24%
HTML 20%
Updated 1 weeks ago
Python
100%
Other

OpenBB

Analytics · Databases · Invoicing Finance

74,601

The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics

View details
80
Repo Health
80
Technical
65
Dependency
Built with
Python 100%
Updated 1 weeks ago
TypeScript
92%
Other

OpenHands

AI Code Assistants · AI Development

91,695

The self-hosted developer control center for running AI coding agents — locally, in Docker, on VMs, or across cloud backends — with automation workflows for GitHub, Slack, and more.

View details
91
Repo Health
82
Technical
67
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
Python
63%
GPL 3.0

Paperless-ngx

Bookmarks Archiving

47,038

Turn your paper pile into a searchable digital archive with OCR, AI classification, and automated workflows — all running on your own server.

View details
91
Repo Health
88
Technical
67
Dependency
Built with
Python 63%
TypeScript 28%
Updated 6 days ago
Python
49%
Other

Arize Phoenix

Analytics · Devops · Monitoring

11,976

Open-source AI observability platform for tracing, evaluating, and debugging LLM applications with built-in intelligence and MCP support.

View details
92
Repo Health
88
Technical
67
Dependency
Built with
Python 49%
TypeScript 43%
Updated 6 days ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 6 days 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