ydf
YDF (short for Yggdrasil Decision Forests) is a library for training, serving, evaluating and analyzing decision forest models such as Random Forest and Gradient Boosted Trees.
Decision gist · record as of 2026-08-14
Yes, if you need to train or deploy decision forest models in Python and work with tabular data. The active maintenance, permissive Apache 2.0 license, and lack of known vulnerabilities make it a solid choice. Install friction is moderate due to compiled wheels, but prebuilt binaries cover common platforms and Python versions (3.9–3.13). Not suitable if you require platforms outside macOS ARM64 or Linux x86_64.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; prebuilt wheels available only for Python 3.9–3.13 on macOS ARM64 and Linux x86_64.
- Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.9–3.13 on macOS (ARM64) and Linux (x86_64).
- Active maintenance with recent releases; last commit 2026-08-14.
License · maintenance · safety
Apache 2.0 (permissive) — Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-03-26 (141 days) · last repo commit 2026-08-14 · 668 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 439,802 downloads/mo, #6,651 on PyPI
Alternatives
Verify before relying
pip install ydf
import ydf
model = ydf.GradientBoostedTreesLearner(label="target").train(train_ds)
model.save("my_model")- Whether YDF's performance advantage over TensorFlow Decision Forests is quantified in benchmarks.
- Support status and timeline for platforms beyond macOS ARM64 and Linux x86_64.
- Whether all Yggdrasil Decision Forests features are exposed through the Python API.
What it is and what it does
YDF is a Python library for building and working with decision forest models—Random Forests, Gradient Boosted Trees, and related ensemble methods. It wraps the C++ Yggdrasil Decision Forests engine to provide fast training, evaluation, and model inspection. The library is designed as the successor to TensorFlow Decision Forests and emphasizes performance and feature completeness for new projects.
Typical workflows involve loading data, instantiating a learner (e.g., GradientBoostedTreesLearner), training on a dataset, evaluating on test data, and saving or loading models. The package depends on numpy, absl_py, and protobuf for numerical computation and serialization. It supports Python 3.9 through 3.13 and is actively maintained.
Use it for
- Train Gradient Boosted Trees or Random Forest classifiers for tabular data classification tasks.
- Evaluate and compare decision forest models on test datasets to measure performance.
- Export trained models for deployment or import pre-trained models for inference.
- Inspect and interpret decision forest models to understand feature importance and decision paths.
- Build ranking or uplift models using decision forest learners for specialized prediction tasks.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to train or deploy decision forest models in Python and work with tabular data.
The active maintenance, permissive Apache 2.0 license, and lack of known vulnerabilities make it a solid choice. Install friction is moderate due to compiled wheels, but prebuilt binaries cover common platforms and Python versions (3.9–3.13). Not suitable if you require platforms outside macOS ARM64 or Linux x86_64.
Install
ydf on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.9–3.13 on macOS (ARM64) and Linux (x86_64). Active maintenance with recent releases; last commit 2026-08-14.
Requires Python 3.9 or later; prebuilt wheels available only for Python 3.9–3.13 on macOS ARM64 and Linux x86_64.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install ydf
import ydf
model = ydf.GradientBoostedTreesLearner(label="target").train(train_ds)
model.save("my_model")
Verify before relying
- Whether YDF's performance advantage over TensorFlow Decision Forests is quantified in benchmarks.
- Support status and timeline for platforms beyond macOS ARM64 and Linux x86_64.
- Whether all Yggdrasil Decision Forests features are exposed through the Python API.
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 3 packagesnumpyabsl_pyprotobuf |
| Maintenance | Actively maintained 141 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 439,802 / month, #6,651 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: MathematicsTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python Modules |
Evidence: ydf-0.16.1-cp310-cp310-macosx_12_0_arm64.whl; ydf-0.16.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; ydf-0.16.1-cp311-cp311-macosx_12_0_arm64.whl; ydf-0.16.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; ydf-0.16.1-cp312-cp312-macosx_12_0_arm64.whl; ydf-0.16.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; ydf-0.16.1-cp313-cp313-macosx_12_0_arm64.whl; ydf-0.16.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; ydf-0.16.1-cp39-cp39-macosx_12_0_arm64.whl; ydf-0.16.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “decision forest machine learning”
- ydfYDF trains, evaluates, and interprets decision forest models (Random…
- dtreevizdtreeviz renders decision trees from scikit-learn, XGBoost, LightGBM,…
- tensorflow-decision-forestsTrains and deploys decision forest models (Random Forests, Gradient…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also tensorflow-decision-forests · dtreeviz · skope-rules · treelite · treeinterpreter · quantile-forest · py_trees · yggdrasil-engine · treelite-runtime · geocif