scikit-learn-extra
A set of tools for scikit-learn.
What it is and what it does
scikit-learn-extra is a Python extension module that adds machine learning algorithms to scikit-learn that are useful but fall outside scikit-learn's strict inclusion criteria—typically due to novelty or lower citation counts. It maintains API compatibility with scikit-learn, so algorithms work with the same fit/predict interface developers already know.
The package depends on numpy, scipy, and scikit-learn itself, making it a natural fit for projects already using the scikit-learn ecosystem. It provides pre-built wheels for multiple Python versions and platforms (macOS, Linux, Windows), though installation requires compilation support on some systems. The repository is actively maintained and has no known security vulnerabilities.
Use it for:
- Access clustering algorithms when scikit-learn's built-in options don't fit your problem.
- Experiment with newer machine learning methods in production code while maintaining scikit-learn compatibility.
- Extend scikit-learn pipelines with additional estimators that follow the same interface conventions.
- Use algorithms from recent research papers that haven't yet reached scikit-learn's maturity threshold.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extends scikit-learn with additional machine learning algorithms that don't meet scikit-learn's inclusion criteria, such as newer or less-cited methods.
Yes, if you need specific algorithms beyond scikit-learn's core set and are comfortable with a smaller, less-mature project. The permissive BSD license, active maintenance, and scikit-learn-compatible API make it low-risk. However, the latest release was over a year ago—verify that the algorithms you need are stable and well-documented before adopting for critical production work.
Install
scikit-learn-extra on PyPI
pip
pip install scikit-learn-extrauv
uv add scikit-learn-extrapoetry
poetry add scikit-learn-extraInstalling scikit-learn-extra
Before you install
Medium install friction due to compiled wheel dependencies across multiple Python versions and platforms. Repository is actively maintained with recent commits, though the latest release was over a year ago.
License in practice
Released under new BSD, a permissive license that allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install scikit-learn-extra
from scikit_learn_extra.cluster import KMedoids
import numpy as np
model = KMedoids(n_clusters=3)
model.fit(X)
Requires Python >=3.6 and scikit-learn >=0.24 with its dependencies (numpy, scipy).
Verify before relying
- Which specific algorithms are included and how they differ from scikit-learn's offerings.
- Performance characteristics and computational overhead compared to standard scikit-learn.
- Active user community size and support availability beyond the repository.
Package facts
| License | new BSD (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — numpy, scipy, scikit-learn |
| Maintenance | actively maintained — 1,236 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 281,398/month — #8,098 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scikit_learn_extra-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl; scikit_learn_extra-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_learn_extra-0.3.0-cp310-cp310-win_amd64.whl; scikit_learn_extra-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl; scikit_learn_extra-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_learn_extra-0.3.0-cp311-cp311-win_amd64.whl; scikit_learn_extra-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl; scikit_learn_extra-0.3.0-cp36-cp36m-manylinux1_i686.whl; scikit_learn_extra-0.3.0-cp36-cp36m-manylinux1_x86_64.whl; scikit_learn_extra-0.3.0-cp36-cp36m-manylinux2010_i686.whl; scikit_learn_extra-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl; scikit_learn_extra-0.3.0-cp36-cp36m-win32.whl; scikit_learn_extra-0.3.0-cp36-cp36m-win_amd64.whl; scikit_learn_extra-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl; scikit_learn_extra-0.3.0-cp37-cp37m-manylinux1_i686.whl; scikit_learn_extra-0.3.0-cp37-cp37m-manylinux1_x86_64.whl; scikit_learn_extra-0.3.0-cp37-cp37m-manylinux2010_i686.whl; scikit_learn_extra-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl; scikit_learn_extra-0.3.0-cp37-cp37m-win32.whl; scikit_learn_extra-0.3.0-cp37-cp37m-win_amd64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
imbalanced-learnProvides re-sampling techniques to address…
permissive · top 5,000 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
sagemaker-scikit-learn-extensionExtends scikit-learn with additional estimators…
permissive · top 15,000 on PyPI
forestciComputes confidence intervals and variance…
permissive · top 15,000 on PyPI
azureml-train-coreProvides estimator classes for training machine…
unclear · top 15,000 on PyPI
array-api-extraProvides extra array manipulation functions…
permissive · top 15,000 on PyPI
scikit-learn-intelexAccelerates scikit-learn algorithms on CPU and…
permissive · top 15,000 on PyPI
hmmlearnhmmlearn implements unsupervised learning and…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-sklearnAdds distributed tracing instrumentation to…
permissive · top 15,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI