scikit-learn/scikit-learn

scikit-learn: machine learning in Python

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on April 24th, 2023
Created on August 17th, 2010
Open Issues & Pull Requests: 2,129 (+0)
Number of forks: 27,308
Total Stargazers: 67,042 (+0)
Total Subscribers: 2,124 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 31.5 hours
Mean response time: 512.1 days
90th percentile: 2074.1 days
Tracked items: 2,253

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 65% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "Build / CI" is answered fastest, typically in about 10 hours, while "Enhancement" waits about 41 months. 44% of tracked open issues have had no activity in three months. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 965
New in 7 days: 4
Closed in 7 days: 10
Avg open age: 1,390 days
Stale 30+ days: 878
Stale 90+ days: 794

Recent activity

Opened in 7 days: 4
Closed in 7 days: 9
Comments in 7 days: 69
Events in 7 days: 171

Top labels

  • Bug (999)
  • New Feature (703)
  • Documentation (602)
  • Needs Triage (597)
  • help wanted (316)
  • Enhancement (264)
  • Needs Decision (170)
  • Build / CI (161)

Detailed Description

scikit-learn is a Python machine learning library built on top of SciPy and distributed under the 3-Clause BSD license. The project was initiated in 2007 by David Cournapeau as a Google Summer of Code project and has since grown through contributions from numerous volunteers. It is currently maintained by a volunteer team and provides a comprehensive toolkit for machine learning tasks in Python.

The library encompasses a broad range of machine learning functionality across multiple domains. This breadth reflects scikit-learn's position as a general-purpose machine learning framework rather than a specialized tool for any single technique or problem domain.

The project maintains active development with significant community engagement.

The repository's technical infrastructure reflects production-grade standards. The codebase uses GitHub Actions for unit testing, CircleCI for continuous integration, and Codecov for coverage tracking. Code quality is enforced through Ruff for style checking, and nightly wheel builds ensure compatibility across platforms. The project maintains a benchmark suite tracked through asv, allowing performance monitoring across releases.

Dependencies are carefully managed with specified minimum versions. The project requires Python 3.11 or later, NumPy 1.24.1 or higher, and SciPy 1.10.0 or higher. Additional dependencies include Joblib 1.4.0, Narwhals 2.0.1, Threadpoolctl 3.5.0, Matplotlib 3.6.1, scikit-image 0.22.0, Pandas 1.5.0, Seaborn 0.13.0, Pytest 7.1.2, and Plotly 5.22.0, reflecting the library's integration with the broader Python scientific computing ecosystem.

The repository shares contributors with other major Python projects including Microsoft's VSCode, pandas-dev/pandas, and matplotlib/matplotlib, indicating deep integration within the Python data science community. Installation is straightforward through pip or conda, with comprehensive documentation available both for stable releases and development versions. The project actively welcomes new contributors of all experience levels and provides detailed development guides covering code contribution, documentation, and testing procedures. Testing can be controlled through the SKLEARN_SEED environment variable for reproducibility.