pycaret  by pycaret

Automate ML workflows with a low-code Python library

Created 6 years ago
9,751 stars

Top 5.3% on SourcePulse

GitHubView on GitHub
Project Summary

PyCaret is a low-code, open-source Python library designed to automate and accelerate machine learning workflows. It targets experienced data scientists seeking productivity gains, citizen data scientists needing simplified solutions, and professionals building rapid prototypes. By abstracting complex code into a few lines, PyCaret significantly speeds up the ML experiment cycle.

How It Works

PyCaret 4.0 represents a ground-up rebuild, shifting to a scikit-learn-composable OOP engine where core components like ClassificationExperiment are proper sklearn.base.BaseEstimator subclasses. This approach ensures compatibility with the scikit-learn ecosystem, enabling standard methods like get_params and clone. The revamp also focuses on a leaner core, reducing dependencies from 30 to 19, and modernizing the stack to support Python 3.11+, scikit-learn 1.7, NumPy 2, and pandas 2.x. This design facilitates agent- and UI-native interactions with typed dataclass returns and structured logging.

Quick Start & Requirements

Installation is available via pip (pip install pycaret), from source (git clone -b v4 ... && uv sync --all-extras), or Docker (docker run -p 8888:8888 pycaret/slim). PyCaret 4.0 development targets Python 3.11/3.12/3.13, scikit-learn 1.7, and NumPy 2. Optional dependencies can be installed via extras (e.g., pycaret[analysis]). Links to official quick-start guides and documentation are available.

Highlighted Details

  • PyCaret 4.0 is being developed collaboratively with AI coding agents like Claude, with all architectural decisions documented.
  • Core dependencies reduced from 30 to 19 in the 4.0 revamp.
  • Full compatibility with modern Python (3.11+), scikit-learn (1.7+), NumPy (2+), and pandas (2.x).
  • The new OOP engine ensures scikit-learn compatibility (BaseEstimator subclasses).

Maintenance & Community

Development of PyCaret 4.0 is active, with progress tracked in docs/revamp/STATUS.md. The project maintains a Slack community for discussions. The 3.x branch will continue to function without a forced EOL.

Licensing & Compatibility

PyCaret is licensed under the permissive MIT license, allowing for commercial use and integration into closed-source projects.

Limitations & Caveats

The current stable release (3.x) has compatibility issues with Python 3.12+, scikit-learn 1.5+, NumPy 2, and pandas 2.2+. Users encountering these issues are directed to the development v4 branch, which is undergoing active rebuilding and is not yet feature-complete for all modules.

Health Check
Last Commit

13 hours ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
10
Star History
34 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.