pycaret
PyCaret - An open source, low-code machine learning library in Python.
What it is and what it does
PyCaret is a low-code machine learning library that automates the end-to-end workflow of building, comparing, and deploying supervised and unsupervised models. It wraps popular libraries like scikit-learn, LightGBM, and statsmodels, reducing hundreds of lines of boilerplate code to a handful of function calls. You initialize a setup with your data and target, then call compare_models() to automatically train and rank candidate algorithms, evaluate_model() to inspect performance, and predict_model() to generate predictions on new data. The library supports classification, regression, time-series forecasting, clustering, and anomaly detection through both a functional API and an object-oriented API.
PyCaret is designed for data scientists who want to prototype quickly, citizen data scientists with moderate technical depth, and ML students. It handles preprocessing, feature engineering, hyperparameter tuning, and model selection internally. The library includes visualization tools (via matplotlib, plotly, yellowbrick) and supports GPU acceleration for tree-based models. With 34 runtime dependencies spanning the scientific Python stack, it trades environment size for convenience—you get a complete ML toolkit in one package.
Use it for:
- Rapidly prototype classification or regression models on a new dataset without writing custom preprocessing or cross-validation code.
- Compare multiple algorithms automatically to identify the best performer before investing in tuning.
- Build time-series forecasts or detect anomalies in sensor/log data with minimal boilerplate.
- Train clustering models and visualize results interactively for exploratory data analysis.
- Generate model predictions on hold-out or new data and export trained pipelines for deployment.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyCaret automates machine learning workflows by wrapping scikit-learn, LightGBM, and related libraries, letting you build classification, regression, clustering, time-series, and anomaly-detection models with minimal code.
Yes, if you want to accelerate ML prototyping and experimentation. PyCaret is actively maintained, has no known vulnerabilities, and installs cleanly. The 34 dependencies are a trade-off: they bloat your environment but eliminate the need to manually orchestrate scikit-learn, LightGBM, and visualization libraries. Best suited for rapid iteration and learning; less ideal if you need fine-grained control over every preprocessing step or want a minimal dependency footprint.
Install
pycaret on PyPI
pip
pip install pycaretuv
uv add pycaretpoetry
poetry add pycaretInstalling pycaret
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with recent commits and no known vulnerabilities. The 34 runtime dependencies are substantial but standard ML stack (numpy, pandas, scikit-learn, LightGBM, plotly, statsmodels)—expect a moderately sized environment.
License in practice
MIT license permits commercial and private use with minimal restrictions. You may use, modify, and distribute PyCaret freely provided you include the license notice.
Quickstart
from pycaret.datasets import get_data
from pycaret.classification import setup, compare_models, predict_model
data = get_data('juice')
s = setup(data, target='Purchase', session_id=123)
best = compare_models()
predictions = predict_model(best, data=data)
Requires Python 3.9 or later. GPU training requires additional setup (e.g., LightGBM GPU libraries) if use_gpu=True is passed.
Verify before relying
- Whether the 34 listed runtime dependencies are all installed by default or only with extras like [full], [analysis], or [models].
- Performance characteristics and scalability limits for large datasets or high-dimensional feature spaces.
- Stability and API compatibility guarantees across minor versions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 34 — ipython, ipywidgets, tqdm, numpy, pandas, jinja2, scipy, joblib, scikit-learn, pyod, imbalanced-learn, category-encoders, lightgbm, numba, requests, psutil, markupsafe, importlib-metadata, nbformat, cloudpickle, deprecation, xxhash, matplotlib, scikit-plot, yellowbrick, plotly, kaleido, schemdraw, plotly-resampler, statsmodels |
| Maintenance | actively maintained — 838 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 483,296/month — #6,414 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pycaret-3.3.2-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
skforecastSkforecast is a Python library for time series…
permissive · top 15,000 on PyPI
feature-engineFeature-engine provides transformers for…
permissive · top 15,000 on PyPI
scikit-learn-intelexAccelerates scikit-learn algorithms on CPU and…
permissive · top 15,000 on PyPI
azureml-sdkProvides a Python SDK to build, train, and…
unclear · top 15,000 on PyPI
xgboost-cpuXGBoost CPU-only gradient boosting library for…
permissive · top 15,000 on PyPI
libcuml-cu12GPU-accelerated machine learning algorithms…
permissive · top 15,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
azureml-pipelineBuilds, optimizes, and manages machine learning…
unclear · top 15,000 on PyPI
dtreevizdtreeviz renders decision trees from…
permissive · top 15,000 on PyPI
scikit-baseProvides base classes and design patterns for…
permissive · top 5,000 on PyPI