The SciPy ecosystem's machine learning layer, circa 2007
A volunteer-maintained Python machine learning module built on SciPy since 2007.

What it does
scikit-learn is a Python module for machine learning built on top of SciPy and distributed under the 3-Clause BSD license. Born as a 2007 Google Summer of Code project, it has been maintained ever since by volunteers. It functions as the machine learning layer for Python’s scientific computing stack, relying on NumPy, SciPy, joblib, threadpoolctl, and Narwhals.
The interesting bit
The README lists dependency minimums—Python >= 3.11, NumPy >= 1.24.1, SciPy >= 1.10.0—before describing anything the library actually does. That ordering is honest: the project’s value is tight, predictable integration with the scientific Python ecosystem rather than novelty. It is plumbing you notice only when it leaks.
Key highlights
- Locks to a modern dependency baseline: Python >= 3.11, NumPy, SciPy, joblib, threadpoolctl, and Narwhals
- Plotting utilities (functions starting with
plot_and classes ending withDisplay) require Matplotlib - Examples pull in adjacent libraries: pandas, seaborn, scikit-image, and Plotly
- Benchmarked via asv with CI across GitHub Actions and CircleCI
- BSD-licensed and volunteer-maintained since 2007
Verdict
Reach for it if you need a mature machine learning module inside the SciPy ecosystem. Look elsewhere if your work sits outside the Python scientific stack or demands capabilities the README does not describe.
Frequently asked
- What is scikit-learn/scikit-learn?
- A volunteer-maintained Python machine learning module built on SciPy since 2007.
- Is scikit-learn open source?
- Yes — scikit-learn/scikit-learn is open source, released under the BSD-3-Clause license.
- What language is scikit-learn written in?
- scikit-learn/scikit-learn is primarily written in Python.
- How popular is scikit-learn?
- scikit-learn/scikit-learn has 67.2k stars on GitHub and is currently holding steady.
- Where can I find scikit-learn?
- scikit-learn/scikit-learn is on GitHub at https://github.com/scikit-learn/scikit-learn.