PyCaret 4.0 is here — repository cleanup notice
PyCaret 4.0 is here — repository cleanup
TL;DR: PyCaret 4.0 is a ground-up rewrite. The old issue and PR backlog (~400 items, almost all against 3.x) is being closed in bulk so we can start clean. If your issue still affects you in 4.0, please re-file it as a new issue.
What is 4.0?
4.0 is a complete redesign, not a 3.x point release. The headlines:
- OOP-only API.
setup()/compare_models()as module-level calls were removed. You instantiate an experiment instead:from pycaret.classification import ClassificationExperiment exp = ClassificationExperiment(target="y").fit(df) best = exp.compare_models().best - sklearn-native engine. Pipelines are real
sklearn.Pipelineobjects. Output isset_output("pandas")-compliant. CV usescross_validate. No more bespoke wrappers. - Python 3.11+, sklearn ≥ 1.7. Older versions are not supported.
- React + FastAPI dashboard. Replaces the ipywidgets
evaluate_modelpanel. - A leaner dependency surface. ~30 transitive deps removed.
Full release notes (44 development sessions) are in the blog and docs/revamp/release_notes_pycaret4.md.
What was removed
Before filing a 4.0 issue about a missing feature, please check the What's removed section on the relevant function page:
- Initialize (replaces
setup()) - Train (
create_model,compare_models) - Optimize (
tune_model,ensemble_model,blend_models,stack_models,calibrate_model) - Analyze (
predict_model+pycaret.plots.*; replaces removedplot_model,evaluate_model,interpret_model) - Deploy (
finalize_model,save/load_model, FastAPI snippet) - Other functions (
pull,models,get/set_config,add_metric)
Most removed features have direct replacements (a sklearn API, a dedicated library, or a constructor parameter). If you can't find one, file a new issue and we'll restore it or document the workaround.
Where to find things now
| What | Where |
|---|---|
| Documentation | https://pycaret.org/docs |
| API reference | https://pycaret.org/reference |
| Tutorials | https://pycaret.org/docs/getting-started/tutorials |
| Migrate from 3.x | https://pycaret.org/docs/guides/migrating-from-3-x |
| FAQ | https://pycaret.org/docs/resources/faqs |
| Cheat sheet | https://pycaret.org/docs/resources/cheat-sheet |
| Changelog | https://pycaret.org/changelog |
| Release notes | https://pycaret.org/blog |
| Bug reports | https://github.com/pycaret/pycaret/issues/new (this repo) |
| Q&A | https://github.com/pycaret/pycaret/discussions |
The legacy gitbook (pycaret.gitbook.io) is frozen and will not be updated. Everything 4.0 lives in this repo's apps/site/ directory and auto-deploys to pycaret.org on every push.
Why we're closing the old backlog
The pre-4.0 backlog is ~400 issues and ~35 PRs. Almost all of them:
- Reference APIs that no longer exist (
setup(),plot_model(),evaluate_model(),interpret_model(),automl(), the legacy time-series module, the Streamlit dashboard, etc.). - Predate Python 3.11 / sklearn 1.7.
- Were filed against branches that no longer exist.
- Have been stale for 1–4 years with no triage.
Keeping them open is misleading — it suggests they're being worked on, when they're not. Closing them en masse with a redirect to 4.0 is honest, and lets the few that still apply re-surface as fresh, properly-tagged 4.0 issues.
How to file a 4.0 issue
- Confirm you're on PyCaret 4.0 (
pip install -U pycaret,pycaret.__version__reports4.0.x). - Reproduce against the OOP API —
Experiment(...), notsetup(). - Open a new issue with:
- the experiment constructor call,
- the operation that fails,
- the full traceback,
- your Python / sklearn / pycaret versions.
Bug reports with reproductions get triaged within a week. Feature requests are weighed against the kill list — we're keeping the surface small on purpose.
Maintenance model
Going forward, this library is maintained primarily by AI coding agents (with human review on every change). All artifacts — code, docs, release notes, this announcement — live in the repo, are versioned in git, and are regenerated on each CI build. See apps/site/AGENTS.md for the agent contract.
If you want to contribute, the project is MIT-licensed and PRs against 4.0 are welcome. Start with a discussion or issue describing the change before opening a PR.
— Moez & the PyCaret 4.0 team
Source: pycaret/pycaret