catboost
CatBoost Python Package
What it is and what it does
CatBoost is a gradient boosting framework that builds ensembles of decision trees for supervised learning tasks. It is designed to handle both numerical and categorical features natively, reducing the need for manual feature engineering. The library includes GPU and multi-GPU training support, distributed training via Apache Spark, and built-in visualization tools for model interpretation.
The package depends on numpy, pandas, scipy, matplotlib, plotly, graphviz, and six. It ships as pre-compiled wheels for multiple Python versions and platforms (macOS, Linux, Windows). Installation is straightforward but medium-friction due to the compiled nature of the library. CatBoost is actively maintained with recent releases and is suitable for production use.
Use it for:
- Train gradient boosting models on tabular data with mixed numerical and categorical features without manual encoding
- Accelerate model training on GPU or multi-GPU systems for large datasets
- Build distributed gradient boosting pipelines using Apache Spark integration
- Generate feature importance rankings and visualizations for model interpretation
- Deploy pre-trained CatBoost models in production applications via the C++ API
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
CatBoost is a gradient boosting library that trains decision-tree ensembles for classification, regression, and ranking, with built-in support for categorical features and GPU acceleration.
Yes. CatBoost is production-stable, actively maintained, permissively licensed, and free of known vulnerabilities. Install it if you work with tabular data and want gradient boosting with native categorical feature support, GPU acceleration, or distributed training. The medium install friction is typical for compiled ML libraries and is not a barrier.
Install
catboost on PyPI
pip
pip install catboostuv
uv add catboostpoetry
poetry add catboostInstalling catboost
Before you install
Medium install friction due to compiled wheels for multiple Python versions and architectures. Active maintenance with recent releases; last commit 2026-08-14 and latest release 2026-02-18 indicate ongoing development. Depends on seven runtime packages including numpy, pandas, scipy, and visualization libraries.
License in practice
Licensed under Apache License, Version 2.0 (permissive). You can use, modify, and distribute CatBoost freely in commercial and private projects with minimal restrictions.
Quickstart
pip install catboost
from catboost import CatBoostClassifier
import pandas as pd
X = pd.DataFrame({'feature': [1, 2]})
y = [0, 1]
model = CatBoostClassifier(verbose=0)
model.fit(X, y)
Verify before relying
- Whether categorical feature auto-encoding works without preprocessing for all data types
- GPU support availability and setup requirements on different platforms
- Performance comparison claims against other GBDT libraries on your specific datasets
- Minimum Python version requirements and compatibility with Python versions beyond 3.14
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 7 — graphviz, matplotlib, numpy, pandas, scipy, plotly, six |
| Maintenance | actively maintained — 177 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,227,476/month — #1,952 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: catboost-1.2.10-cp310-cp310-macosx_11_0_universal2.whl; catboost-1.2.10-cp310-cp310-manylinux2014_aarch64.whl; catboost-1.2.10-cp310-cp310-manylinux2014_x86_64.whl; catboost-1.2.10-cp310-cp310-win_amd64.whl; catboost-1.2.10-cp311-cp311-macosx_11_0_universal2.whl; catboost-1.2.10-cp311-cp311-manylinux2014_aarch64.whl; catboost-1.2.10-cp311-cp311-manylinux2014_x86_64.whl; catboost-1.2.10-cp311-cp311-win_amd64.whl; catboost-1.2.10-cp312-cp312-macosx_11_0_universal2.whl; catboost-1.2.10-cp312-cp312-manylinux2014_aarch64.whl; catboost-1.2.10-cp312-cp312-manylinux2014_x86_64.whl; catboost-1.2.10-cp312-cp312-win_amd64.whl; catboost-1.2.10-cp313-cp313-macosx_11_0_universal2.whl; catboost-1.2.10-cp313-cp313-manylinux2014_aarch64.whl; catboost-1.2.10-cp313-cp313-manylinux2014_x86_64.whl; catboost-1.2.10-cp313-cp313-win_amd64.whl; catboost-1.2.10-cp314-cp314-macosx_11_0_universal2.whl; catboost-1.2.10-cp314-cp314-manylinux2014_aarch64.whl; catboost-1.2.10-cp314-cp314-manylinux2014_x86_64.whl; catboost-1.2.10-cp314-cp314-win_amd64.whl
Keywords: catboost
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
category-encodersTransforms categorical variables into numeric…
permissive · top 5,000 on PyPI
xgboostXGBoost is a gradient boosting library that…
permissive · top 1,000 on PyPI
lightgbmLightGBM is a gradient boosting framework for…
unclear · top 1,000 on PyPI
xgboost-cpuXGBoost CPU-only gradient boosting library for…
permissive · top 15,000 on PyPI
ngboostNGBoost implements Natural Gradient Boosting…
permissive · top 15,000 on PyPI
pytabkitPyTabKit provides scikit-learn interfaces to…
permissive · top 15,000 on PyPI
imbalance-xgboostWraps XGBoost with weighted and focal loss…
permissive · top 15,000 on PyPI
dtreevizdtreeviz renders decision trees from…
permissive · top 15,000 on PyPI
libcuml-cu12GPU-accelerated machine learning algorithms…
permissive · top 15,000 on PyPI
tensorflow-decision-forestsTrains and deploys decision forest models…
permissive · top 15,000 on PyPI