Skip to main content

dataxid-profiling

PyPI version Python versions License

Fast, Polars-native data profiling with interactive HTML reports and data quality alerts.

Quickstart

import polars as pl
from dataxid_profiling import ProfileReport

df = pl.read_csv("data.csv")
report = ProfileReport(df)
report.to_html("report.html")

Pandas works too:

report = ProfileReport(pd.read_csv("data.csv"))

Report Preview

Dataset overview — row/column counts, missing cells, duplicates, memory usage, and column type distribution at a glance.

Dataset overview and alerts

Column details — per-column statistics, top value distribution with an explicit "Other" rollup for the long tail, and word clouds for categorical data.

Column details with charts and word cloud

Correlations — interactive heatmap showing relationships between numeric columns.

Correlation heatmap

Interactions — scatter plots for numeric pairs and box plots for categorical × numeric pairs, with dynamic column selection.

Highlights

  • Built on Polars — fast, memory-efficient, Rust-powered
  • 3 lines to profile any dataset
  • Programmatic-first: .to_dict(), .stats, .alerts
  • Interactive HTML reports with ECharts
  • Accepts Polars, Pandas, CSV, and Parquet
  • 5 column types: numeric, categorical, boolean, datetime, text
  • 7 data quality alerts out of the box
  • 5 correlation types: Pearson, Spearman, Kendall, Cramér's V, Phi K
  • Interactions: scatter plot + box plot with dynamic column selection
  • Categorical value counts keep the long tail via an explicit "Other" rollup (other_values)
  • Two modes: "complete" for deep analysis, "overview" for speed
  • Fully typed

Installation

pip install dataxid-profiling

Usage

Programmatic access

report = ProfileReport(df, title="Customer Data Profile")

stats = report.to_dict()
alerts = report.alerts
column_stats = report.stats["age"]
correlations = report.correlations

JSON export

report.to_json("report.json")

Configuration

from dataxid_profiling import ProfileReport, ProfileConfig

config = ProfileConfig(
    title="Customer Data Profile",
    mode="overview",
    missing_threshold=0.1,
    histogram_bins=30,
)
report = ProfileReport(df, config=config)

Modes

Feature "complete" "overview"
Basic stats ✓ ✓
Histograms & value counts ✓ ✓
Correlations ✓ ✗
Interactions ✓ ✗
Character analysis ✓ ✗
Duplicate rows table ✓ ✗

Output formats

Format Method Use case
HTML report.to_html("report.html") Interactive report
JSON report.to_json("report.json") Machine-readable
Dict report.to_dict() Python-native

Contributing

Contributions are welcome. See CONTRIBUTING.md for details.

Links

License

Apache-2.0

Metadata

Release files for dataxid-profiling 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dataxid-profiling 0.4.0
File Size Uploaded
dataxid_profiling-0.4.0.tar.gz 758.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dataxid-profiling 0.4.0
File Interpreter ABI Platform
dataxid_profiling-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 865.2 kB

Release files / dataxid_profiling-0.4.0.tar.gz

Download URL dataxid_profiling-0.4.0.tar.gz
Size 758.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fa9b9e6dca48fafd3aff8497261116cca0ab6cbf50d86564db68ade243459aad
BLAKE2b-256 checksum
How to use checksums
df01a81f2993e1aea9e59bbefe82a5aca366f6416b04a2fdaf3922bd653e12ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dataxid_profiling-0.4.0-py3-none-any.whl

Download URL dataxid_profiling-0.4.0-py3-none-any.whl
Size 107.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74f28e9b0aae786660ff36598c64020cefc5f0a454a167e982ac6a0ee0b54a00
BLAKE2b-256 checksum
How to use checksums
2644cbab2190fb9209b1abb2d3504165f8d4f9674f8ec7ac9ad5704879577b8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page