Skip to main content

Synthetic data quality evaluation with Polars-native performance and interactive HTML reports.

Project description

dataxid-syntheval

PyPI version Python versions License

Synthetic data quality evaluation — compare original and synthetic datasets with interactive HTML reports.

Quickstart

import polars as pl
from dataxid_syntheval import SynthEval

original = pl.read_csv("original.csv")
synthetic = pl.read_csv("synthetic.csv")

se = SynthEval(original=original, synthetic=synthetic)
se.to_html("report.html")

Programmatic access:

diffs = se.diff
diffs["column_diffs"]          # per-column stat deltas
diffs["alert_diff"]            # new / resolved alerts
diffs["distribution_overlays"] # histogram & frequency overlays
diffs["correlation_diffs"]     # correlation matrix differences

Quality Scores

Compute fidelity and privacy metrics with a holdout dataset:

import polars as pl
from dataxid_syntheval import SynthEval

original = pl.read_csv("train.csv")
synthetic = pl.read_csv("synthetic.csv")
holdout = pl.read_csv("holdout.csv")

se = SynthEval(original=original, synthetic=synthetic, holdout=holdout)

scores = se.scores
scores.fidelity                    # overall fidelity (%)
scores.fidelity_detail.univariate  # univariate accuracy (%)
scores.fidelity_detail.bivariate   # bivariate accuracy (%)
scores.fidelity_detail.per_column  # per-column breakdown

scores.privacy.dcr_share           # DCR share
scores.privacy.ims_training        # identical match share
scores.privacy.nndr_ratio          # NNDR ratio
scores.privacy.assessments         # descriptive text assessments

Privacy metrics require a holdout dataset. Without holdout, se.scores.privacy is None.

Features

  • Column-level stat comparison — mean, std, median, min/max, missing %, distinct count and more
  • Alert change detection — new and resolved data quality alerts between profiles
  • Distribution overlays — proportion-based histograms and categorical frequency charts for fair comparison across different dataset sizes
  • Correlation matrix diffs — Pearson, Spearman, Kendall, Cramér's V, Phik
  • Interactive HTML report — tabbed column comparison, ECharts visualizations, lazy chart rendering
  • Built on dataxid-profiling and Polars

Installation

pip install dataxid-syntheval

Contributing

Contributions are welcome. See CONTRIBUTING.md for details.

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataxid_syntheval-0.2.0.tar.gz (28.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataxid_syntheval-0.2.0-py3-none-any.whl (28.5 MB view details)

Uploaded Python 3

File details

Details for the file dataxid_syntheval-0.2.0.tar.gz.

File metadata

  • Download URL: dataxid_syntheval-0.2.0.tar.gz
  • Upload date:
  • Size: 28.6 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for dataxid_syntheval-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cecde1bd6f292797821595d043c739a5a55bdcbacb3a6c537608fd7b11eccf5c
MD5 a10b602cf68779d8a4b011a0e26ab4d4
BLAKE2b-256 455e0bd5dfce1b95b6e53ad60eed8c03ea326c5a2c37270e6a8d2fad9bdd6e2f

See more details on using hashes here.

File details

Details for the file dataxid_syntheval-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dataxid_syntheval-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.5 MB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for dataxid_syntheval-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ceb1dc5b1962f7294064c5fff39710dcd68ddc48adf88e69285a049d701b67b0
MD5 410420308b34cb05ee537bed965977f8
BLAKE2b-256 40fed62c2215e7101870c954faf35f8aaedf42aaa3e8e9308b55a36bd111cb86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page