Skip to main content
freshdata logo

freshdata

The explainable cleaning layer for pandas — decision-preserving data hygiene.

One call turns a messy CSV, Excel, or SQL export into analysis- and ML-ready data, and tells you exactly what it changed and why.

PyPI Version Python Versions License: MIT CI Docs Coverage

Documentation · Quickstart · API Reference · Changelog

What is freshdata?

freshdata is an automated data-cleaning library for Python. A rule-based decision engine profiles every column — missing ratio, dtype, skewness, cardinality, inferred role — and chooses the right action per column. Every decision carries a rationale, a risk level, and a confidence score, so nothing happens silently and nothing is left unexplained.

It fills the gap between tools that only describe data and tools that only validate it: freshdata makes the cleaning decision and shows its work, producing reproducible, auditable, ML-ready output with an audit trail you can hand to a reviewer.

Key features

  • One-call cleaningfd.clean(df) handles missing values, outliers, duplicate detection (removal is opt-in), dtype repair, and messy column names.
  • Per-column decision engine — infers each column's role and applies explicit, documented rules instead of one blunt global strategy.
  • Explainable by design — every action carries a rationale, risk level, and confidence score; if a NaN survives, the report says why.
  • Safe defaults — never imputes an identifier, modifies a target column, or removes outliers blindly.
  • pandas-first, scalable when needed — pandas + NumPy core; pass a Polars frame and get one back, with optional Polars/DuckDB/Spark execution backends for larger-than-memory data.
  • CLI includedclean, plan, apply-plan, profile, learn, and trust subcommands for scripting and CI pipelines without writing Python.
  • Typed and tested — fully type-hinted (py.typed), vectorized, with a 93% coverage gate enforced in CI.

Installation

pip install freshdata-cleaner

The PyPI distribution is freshdata-cleaner; the import name is freshdata.

Requires Python >= 3.9 and pandas >= 1.5. The core install depends only on pandas and NumPy; everything else is an optional extra:

pip install "freshdata-cleaner[ml,polars]"
Extra Adds
ml KNN/model-based imputation
polars Polars DataFrame support
duckdb Out-of-core execution via DuckDB
spark Out-of-core execution via PySpark
viz Interactive HTML report rendering
privacy PII detection and anonymization
enterprise Compliance reporting, orchestration hooks, quality-ops exporters
all Everything above

See the installation guide for the full list of extras (domain packs, format parsers, streaming, entity resolution, and more).

Quickstart

import pandas as pd
import freshdata as fd

df = pd.read_csv("messy_export.csv")

cleaned = fd.clean(df)                               # one line
cleaned, report = fd.clean(df, return_report=True)   # ... with a full audit trail
print(report.summary())
freshdata clean report
  rows:    525 -> 500 (-25)
  columns: 7 -> 6 (-1)
  missing: 421 -> 0 cell(s)
  memory:  100.8 KB -> 89.2 KB

The same operation is available from the command line:

freshdata clean messy_export.csv -o clean.csv --report audit.json

See the quickstart guide for strategies, reports, and CLI usage.

Beyond core cleaning

Optional layers, all off by default and covered in the documentation:

  • Repair plans — suggest a reviewable plan, then apply exactly the approved actions.
  • Context policies — compile plain-English cleaning rules into an enforceable policy.
  • Streaming — micro-batch and time-series-aware cleaning with bounded memory.
  • Privacy — PII detection, masking, and jurisdiction-aware anonymization policies.
  • Plugins — extend the engine with your own experts, validators, and backends.
  • AI Copilot (experimental) — deterministic, offline dataset analysis that returns an explainable cleaning plan and copy-ready freshdata code; no API key required.

Documentation and examples

Contributing

Contributions are welcome — standard GitHub flow: fork, branch, add tests, open a pull request. CI runs ruff, mypy, and the fast pytest lane on every PR. See CONTRIBUTING.md for setup and guidelines, and CODE_OF_CONDUCT.md for community standards.

License

MIT — see LICENSE.

Download files

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

Source Distribution

freshdata_cleaner-2.0.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

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

freshdata_cleaner-2.0.0-py3-none-any.whl (728.0 kB view details)

Uploaded Python 3

File details

Details for the file freshdata_cleaner-2.0.0.tar.gz.

File metadata

  • Download URL: freshdata_cleaner-2.0.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for freshdata_cleaner-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1a030d6f7ae0357009c7dcb3ae107e50d96f0a362e212d70ee8f697e8a8e6441
MD5 ba4ad47662498165928d646ecdef926a
BLAKE2b-256 d8341c5baca9f022c8eef842b3cf7effdaa4bdfeb6026247009d39d63cc2b22e

See more details on using hashes here.

Provenance

The following attestation bundles were made for freshdata_cleaner-2.0.0.tar.gz:

Publisher: release.yml on FreshCode-Org/freshdata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file freshdata_cleaner-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for freshdata_cleaner-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55e92b2a2f0e874af6be79888a8cc0d67ab84393f624cc932f49622ffe3a1fe5
MD5 9aea72663796cfbc4dda2ee42342d936
BLAKE2b-256 d9fd9f3e9dddd21c8daf3fd05a2e9b81d0117d707b6769d0435786bafea0c70c

See more details on using hashes here.

Provenance

The following attestation bundles were made for freshdata_cleaner-2.0.0-py3-none-any.whl:

Publisher: release.yml on FreshCode-Org/freshdata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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