Data Quality Plane · Profiling & Anomaly Detection

ydata-profiling

Python library that generates exploratory data profiling reports from DataFrames. Renamed in April 2026 from ydata-profiling to fg-data-profiling, imported as data_profiling; the old package no longer receives updates.

Overview

This is a Python library for exploratory data analysis, not a monitoring platform, and keeping that distinction clear matters when it sits next to a tool like Anomalo.

Its goal is a one-line exploratory analysis: where pandas describe gives you a summary, this gives an extended analysis of the whole dataframe in a single call.

The output is a self-contained HTML report, or JSON, or a widget inside a notebook, covering an overview, an alerts section and a reproduction section recording the time, version and configuration used.

What it computes is genuinely broad: type inference, univariate statistics and histograms, correlations, missing-data analysis, duplicate rows, pairwise interactions, time-series autocorrelation and seasonality, and text analysis.

The alerts section flags likely problems automatically, across sixteen or more categories including constant values, high cardinality, missing values, skewness, imbalance, high correlation and duplicates.

Be clear about what it is not, because the overlap with monitoring tools is superficial. There is no freshness check, no volume comparison against history, no schema-change detection and no drift monitoring over time.

It profiles the dataframe you hand it, once. It has no notion of a previous run, no scheduler, no alerting channels and no feedback loop, so nothing learns from a human verdict.

Name history is the single most important practical fact. It was pandas-profiling, then ydata-profiling, and since April 2026 it is fg-data-profiling, imported as data_profiling, in a new GitHub organisation.

So most published install instructions are now wrong: the old package still resolves but is pinned at its April 2026 version and the project says it will get no further updates or fixes.

Maintenance is best described honestly as low velocity. It is MIT licensed, not archived, and shipped Python 3.14 support in September 2026, but that was eleven commits in a year against 329 open issues.

Key features and capabilities

The same headings are used for every profiling & anomaly detection entry, so two tools can be read side by side.

What it detects
  • An alerts section flags likely issues across sixteen or more categories, automatically
  • Those include constant values, zeros, high cardinality, missing values, skewness, imbalance and high correlation
  • Dedicated missing-data analysis with diagrams, plus duplicate-row detection with a preview
  • Correlation matrices and interaction plots surfacing nonlinear relationships
  • Time-series alerts for seasonality and non-stationarity, with autocorrelation plots
  • No freshness, no volume-against-history, no schema-change detection and no drift monitoring
How it decides what is normal
  • Straightforward computed statistics, not models; it profiles what you hand it
  • Type inference across eight types, including boolean, numeric, date, categorical, URL, path, file and image
  • Alerts fire on configurable static thresholds, with the docs noting domain validation is still necessary
  • Correlations on the Spark backend are limited to Pearson and Spearman
  • No unsupervised model, no forecasting and no learned per-column threshold
Coverage and configuration
  • Pointed at an in-memory pandas dataframe, or a Spark dataframe with partial support
  • On Spark, univariate analysis, samples and two correlations work; missing-value analysis and interactions do not
  • Effectively no configuration needed for a default report, just one constructor call
  • A minimal mode disables the most expensive computations for large datasets
  • Sampling is the caller's job in plain pandas, with the docs suggesting a sample and a disclaimer on the report
Output and reporting
  • A single self-contained HTML report that can be shared directly
  • JSON export for integration into automated systems
  • A widget rendered inline in a notebook
  • Dataset comparison reports on two datasets you supply, the nearest thing to change detection
  • No dashboards, alerts, notification channels, root-cause analysis or lineage
Tuning and feedback
  • There is no feedback loop at all, no confirm or dismiss, no suppression store and no learning over time
  • Tuning is static configuration only, through a config file or environment variables
  • Metadata and data dictionaries annotate a report without changing what is computed
  • Sensitive-data handling and PII classification can suppress values shown in reports
  • Report appearance and visualisation styling are customisable
Integrations
  • pandas as the primary backend, with partial PySpark support
  • Airflow through either a shell or a Python operator, with published code examples
  • A community Kedro plugin; Dagster and Prefect are said to work similarly but with no examples
  • Documented integrations with Great Expectations and Bytewax
  • The Python API and a command-line interface; no REST API, warehouse connectors or catalogue integrations
Where it runs and what it costs
  • A library, installed with pip or conda, on Python 3.10 up to but excluding 3.15
  • Runs wherever your Python runs, from a laptop to a CI job to a Databricks cluster
  • No self-hosted service, managed cloud, in-network option or regions, since none apply
  • The hosted path is YData Fabric, a different product
  • Install and import names changed in April 2026, so older instructions no longer give you the current version

Pricing

Open sourceFree, MIT licensed

Free and open source under the MIT licence, verified in the repository, with no paid tier, licence key or usage limit. Two capabilities are held behind YData's commercial product: profiling databases and warehouses rather than dataframes, and outlier profiling, which the docs say is limited to the hosted solution. YData Fabric publishes three tiers, a free community edition, a pay-as-you-go tier and a quote-only enterprise tier, with no monetary figures on the page, plus a 15-day trial on Azure and AWS.

Vendor pricing page →

Demos and videos

About YData

The library is MIT licensed, with copyright running from Jos Polfliet in 2016 through Simon Brugman to YData Labs from 2022, and is now maintained in the Data-Centric AI Community GitHub organisation after moving there in March 2026 and being renamed in April. YData Labs remains the commercial steward, evidenced by the copyright line and the documentation domains. It has around 13,700 stars and 115 contributors. Two capabilities are held behind YData's paid product: profiling databases and warehouses, which routes to its data catalogue, and outlier profiling, which the docs say is limited to the hosted solution.

Founded 2016 · docs.profiling.ydata.ai

Other profiling & anomaly detection tools

Anomalo

Data Quality Plane · Profiling & Anomaly Detection

Automated data quality monitoring that uses machine learning to detect anomalies.

  • Commercial

Drafted with AI assistance and checked against the vendor’s own documentation.

ydata-profiling: Profiling & Anomaly Detection · UDP