ydata-profiling
Generate profile report for pandas DataFrame
Decision gist · record as of 2026-08-14
Yes, with a migration caveat. The package is actively maintained, has no known vulnerabilities, and provides genuine value for exploratory data analysis workflows. However, install fg-data-profiling instead—ydata-profiling is deprecated and will not receive future updates. If you are already using ydata-profiling, plan migration soon; if starting fresh, use the renamed package directly.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- The 21 runtime dependencies (scipy, statsmodels, numba, etc.) add significant installation size; ensure adequate disk space and network bandwidth.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
permissive license (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
last release 2026-04-22 (114 days) · last repo commit 2026-04-22 · 13,670 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,895,918 downloads/mo, #3,452 on PyPI
Alternatives
Verify before relying
pip install ydata-profiling
import pandas as pd
from ydata_profiling import ProfileReport
df = pd.read_csv('data.csv')
profile = ProfileReport(df, title="Analysis")
profile.to_file("report.html")- Whether the old ydata-profiling package will continue to receive security patches or is fully deprecated in favor of fg-data-profiling
- Performance characteristics when profiling datasets at scale or with very large numbers of columns
- Specific memory requirements for the 21 runtime dependencies, particularly scipy, statsmodels, and numba
What it is and what it does
ydata-profiling automates exploratory data analysis by generating a single-line report on a pandas DataFrame. It infers column data types, computes descriptive statistics, detects data quality issues (missing values, duplicates, skewness, high correlations), and produces visualizations for univariate and multivariate analysis. The package handles specialized data including time-series (with autocorrelation and seasonality analysis), text (script and block detection), images (dimensions, EXIF metadata), and files (sizes, creation dates).
Reports export to HTML for sharing, JSON for automation, or Jupyter widgets for interactive exploration. The package includes dataset comparison, sensitive data handling, and configuration options for large datasets. It depends on a substantial stack: pandas, numpy, scipy, statsmodels for statistics; matplotlib, seaborn, wordcloud for visualization; pydantic for validation; and specialized libraries like phik for correlation, imagehash for image analysis, and numba for performance.
Use it for
- Generate a quick statistical summary and quality report on a new dataset before cleaning or modeling
- Compare two versions of the same dataset to identify changes in distributions, missing values, or data quality
- Profile time-series data to detect seasonality, autocorrelation, and temporal patterns in one command
- Embed interactive profiling widgets in Jupyter notebooks for exploratory analysis during data investigation
- Export a shareable HTML report documenting data characteristics and potential issues for stakeholders or documentation
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with a migration caveat.
The package is actively maintained, has no known vulnerabilities, and provides genuine value for exploratory data analysis workflows. However, install fg-data-profiling instead—ydata-profiling is deprecated and will not receive future updates. If you are already using ydata-profiling, plan migration soon; if starting fresh, use the renamed package directly.
Install
ydata-profiling on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits and no known vulnerabilities. However, the package has been renamed to fg-data-profiling and the old ydata-profiling package will no longer receive updates—migration is recommended for long-term support.
Requires Python 3.10 or later. The 21 runtime dependencies (scipy, statsmodels, numba, etc.) add significant installation size; ensure adequate disk space and network bandwidth.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install ydata-profiling
import pandas as pd
from ydata_profiling import ProfileReport
df = pd.read_csv('data.csv')
profile = ProfileReport(df, title="Analysis")
profile.to_file("report.html")
Verify before relying
- Whether the old ydata-profiling package will continue to receive security patches or is fully deprecated in favor of fg-data-profiling
- Performance characteristics when profiling datasets at scale or with very large numbers of columns
- Specific memory requirements for the 21 runtime dependencies, particularly scipy, statsmodels, and numba
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release <3.14,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 21 packagesscipypandasmatplotlibpydanticPyYAMLjinja2visionsnumpyminify-htmlfiletypephikrequeststqdmseabornmultimethodstatsmodelstypeguardimagehashwordclouddacitenumba |
| Maintenance | Actively maintained 114 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,895,918 / month, #3,452 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: IPythonIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Healthcare IndustryIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Software Development :: Build Tools |
Evidence: ydata_profiling-4.18.4-py2.py3-none-any.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 › “pandas dataframe profiling”
- ydata-profilingGenerates comprehensive exploratory data analysis reports for pandas…
- pandas-profilingThis package is deprecated; it redirects users to ydata-profiling for…
- cualleeCuallee provides a dataframe-agnostic API to define and run data…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also facets-overview · pandas-profiling · sweetviz · pygwalker · dtale · itables · visions · percentify · palmerpenguins · whylogs