Install & Compatibility
Where this runs
tested against v0.7.21 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
build_error
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 42.0s · import 0.000s · 917MB
933MB installed
● package 933MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Report
✓ from evidently.report import Report
✗ from evidently.future import Report
As of v0.7, the new API is the default. 'evidently.future' imports were for a transition period (v0.6-0.6.7) and are now considered legacy for newer versions.
DataDriftPreset
✓ from evidently.metric_preset import DataDriftPreset
✗ from evidently.preset import DataDriftPreset
Metric presets are now located under `evidently.metric_preset` for clarity.
Dataset
✓ from evidently.core.datasets import Dataset
✗ from evidently import Dataset
Starting with v0.7, explicit `Dataset` objects are required when defining data, along with `DataDefinition`.
DataDefinition
✓ from evidently.core.data_definition import DataDefinition
✗ from evidently import DataDefinition
Starting with v0.7, explicit `DataDefinition` objects are required to map input columns by type and role, replacing `column_mapping`.
This quickstart demonstrates how to generate a Data Drift Report using Evidently. It fetches a sample dataset, creates Evidently `Dataset` and `DataDefinition` objects (essential since v0.7), and then runs a `DataDriftPreset` report. The report can be displayed interactively in a notebook or saved as an HTML file.
import pandas as pd
from sklearn import datasets
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset
from evidently.options import DataDriftOptions # To demonstrate custom options
from evidently.core.datasets import Dataset
from evidently.core.data_definition import DataDefinition
# Prepare a toy dataset (Adult dataset from OpenML)
reference_data_frame = datasets.fetch_openml(name="adult", version=2, as_frame="auto").frame
current_data_frame = reference_data_frame.sample(n=5000, random_state=0)
# Define data schema using DataDefinition (required from v0.7)
data_definition = DataDefinition(
prediction_features=["income"],
target_names="income",
categorical_features=[
'workclass', 'education', 'marital-status', 'occupation',
'relationship', 'race', 'sex', 'native-country'
]
)
# Create Evidently Dataset objects
reference_dataset = Dataset(reference_data_frame, data_definition)
current_dataset = Dataset(current_data_frame, data_definition)
# Create and run a Data Drift Report
data_drift_report = Report(metrics=[
DataDriftPreset(
# Example of custom options, e.g., for statistical tests
# data_drift_options=DataDriftOptions(threshold=0.1)
)
])
data_drift_report.run(reference_data=reference_dataset, current_data=current_dataset)
# To display in a Jupyter notebook or save to HTML
# data_drift_report.show()
# data_drift_report.save_html("data_drift_report.html")
print("Data drift report generated successfully!")
evidently --version
Debug
Known issues
breakingEvidently v0.7 introduced a major API overhaul, making the new API the default. This includes changes to how Reports are imported (`from evidently.report import Report`) and the introduction of explicit `Dataset` and `DataDefinition` objects which replace the older `column_mapping` approach. Code written for versions prior to 0.7 (especially 0.6.7 and older) will likely break.fixRefer to the official 'Migration Guide' in the Evidently documentation. Update import statements, and explicitly define `Dataset` and `DataDefinition` for your data inputs.
affects: >=0.7.0
breakingSupport for Python 3.9 was dropped in Evidently v0.7.21. Users on Python 3.9 will encounter errors or compatibility issues.fixUpgrade your Python environment to 3.10 or newer (Evidently requires `>=3.10`).
affects: >=0.7.21
gotchaWhen using Evidently alongside DVC (Data Version Control), there can be a dependency conflict with `pathspec`. Evidently v0.7.20 explicitly locked `pathspec` to `<1` for DVC compatibility. Ensure your `pathspec` version respects this constraint if you encounter issues with DVC.fixWhen installing with DVC, ensure `pathspec<1` is enforced, e.g., `pip install evidently 'dvc-data<3' 'pathspec<1'` or check for DVC's recommended `pathspec` version at the time.
affects: >=0.7.20
gotchaEvidently v0.7.21 added explicit support for Pandas 3. While this is an improvement, users of older Evidently versions might experience compatibility issues or unexpected behavior when using Pandas 3. Conversely, newer Evidently features might rely on specific Pandas 3 functionalities.fixAlways check the `evidently` and `pandas` compatibility matrix in the official documentation. For optimal compatibility, upgrade to the latest `evidently` version and a compatible `pandas` version (e.g., Pandas 3.x with Evidently >=0.7.21).
affects: <0.7.21 with Pandas 3, or older Evidently versions with Pandas 3
deprecatedEvidently Cloud v1 entered read-only mode after May 31, 2025, for free users. Users of Evidently Cloud must migrate to Cloud v2 and use Evidently library version `0.7.0` or newer to continue sending data and accessing features.fixUpgrade your Evidently Python library to `0.7.0` or higher and migrate your Evidently Cloud projects to v2.
affects: <0.7.0 (when using Evidently Cloud)
Upgrade
Version history
0.7.21latest on PyPI · released Mar 10, 2026
Audit
Dependencies
pandasrequiredCore data structure for input datasets.
scikit-learnoptionalOften used for datasets in examples and ML metrics calculation.