scikit-learn is the world’s most widely used machine learning library for Python, with more than 67,000 stars on GitHub and 655 appearances in the trending archive — a top-five all-time fixture of GitHub Trending.
scikit-learn provides simple, efficient tools for predictive data analysis, built on NumPy, SciPy and matplotlib and designed to be accessible to non-specialists while remaining production-grade for experts. Its consistent estimator API covers classification, regression, clustering, dimensionality reduction, model selection and preprocessing, with implementations of workhorse algorithms from logistic regression and random forests to gradient boosting and support vector machines. Because the interface is uniform, swapping algorithms, building pipelines and running cross-validation take a few lines of code. It is the default machine learning toolkit in countless university courses, Kaggle notebooks and production systems, maintained by a large open-source community with continuous releases — its latest push was in October 2026 — under the permissive BSD-3-Clause license.
Its influence is hard to overstate: scikit-learn defined how a generation of practitioners expects machine learning tooling to feel — small, composable pieces with sensible defaults and honest documentation. It integrates with joblib for parallelism, supports ONNX export paths for deployment, and its example gallery remains one of the best free educations in applied machine learning available anywhere.
scikit-learn is completely free and open source under the BSD-3-Clause license, for personal, academic and commercial use alike. There are no paid tiers.
Data scientists, ML engineers, researchers and students who need reliable classical machine learning in Python — from a first model in a notebook to audited production pipelines.