Install & Compatibility
Where this runs
tested against v4.18.4 · 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
py 3.10
✕ build_error
✓ 33.6s
py 3.11
✕ build_error
✓ 32.03s
py 3.12
✕ build_error
✓ 30.73s
py 3.13
✕ build_error
2/3 runs
py 3.9
✕ build_error
✓ 36.4s
919MB installed
● package 919MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ProfileReport
✓ from ydata_profiling import ProfileReport
✗ from pandas_profiling import ProfileReport
This quickstart demonstrates how to generate a basic profiling report for a Pandas DataFrame and save it as an HTML file. For interactive display in Jupyter environments, ensure `ipywidgets` is installed and use `profile.to_notebook_iframe()`.
import pandas as pd
import numpy as np
from ydata_profiling import ProfileReport
# Create a sample DataFrame
data = {
'col1': np.random.rand(100),
'col2': np.random.randint(0, 10, 100),
'col3': ['A', 'B', 'C'] * 30 + ['A'] * 10,
'col4': pd.to_datetime(pd.Series([], dtype='datetime64[ns]')) # Empty datetime for demonstration
}
df = pd.DataFrame(data)
# Generate the profiling report
profile = ProfileReport(df, title="My DataFrame Profiling Report")
# To display the report in a Jupyter Notebook (requires ipywidgets)
# profile.to_notebook_iframe()
# To save the report to an HTML file
profile.to_file("my_report.html")
print("Report generated to my_report.html")
ydata-profiling --version
Debug
Known issues
breakingThe `pandas-profiling` package has been deprecated. Users should migrate to `ydata-profiling`. While `pandas-profiling` might still be installable, it is no longer maintained and points to the new library.fixUninstall `pandas-profiling` and install `ydata-profiling`. Update import statements from `pandas_profiling` to `ydata_profiling`.
affects: <4.0.0 (for pandas-profiling)
gotchaProfiling very large datasets or datasets with extreme outliers can lead to `MemoryError` due to underlying `numpy` limitations in histogram generation.fixConsider sampling your data (`df.sample()`), filtering out extreme outliers before profiling, or utilizing the PySpark engine for big datasets (`pip install ydata-profiling[pyspark]`).
affects: All versions
gotchaInteractive reports in Jupyter environments might not display correctly (e.g., showing `IntSlider(value=0)`) if Jupyter Widgets are not properly enabled or configured.fixEnsure `ipywidgets` is installed (`pip install ydata-profiling[notebook]`) and properly enabled for your Jupyter Notebook or Lab environment. Consult `ipywidgets` documentation for complex configurations.
affects: All versions
breakingPython version compatibility has changed. While `pandas-profiling` supported older Python versions (e.g., >=3.7, <3.11), `ydata-profiling` now requires Python `>=3.10, <3.14`.fixEnsure your Python environment is between 3.10 and 3.13. Upgrade Python if necessary.
affects: Users upgrading from older `pandas-profiling` to `ydata-profiling` on Python <3.10 or >=3.14
Upgrade
Version history
4.18.4latest on PyPI · released Apr 22, 2026
Audit
Dependencies
pandasrequiredCore data structure for profiling.
ipywidgetsoptionalRequired for interactive reports in Jupyter notebooks.
pysparkoptionalRequired for profiling Spark DataFrames.