✨ QualityClean
Fast, automated data cleaning for Polars DataFrames.
Clean messy datasets with a single function call while generating detailed audit reports.
Why QualityClean?
Cleaning datasets is one of the most repetitive steps in every data science and machine learning workflow.
QualityClean automates common preprocessing tasks so you can focus on analysis instead of writing the same cleaning code over and over.
With a single function call, QualityClean can:
- Normalize column names
- Trim unnecessary whitespace
- Replace placeholder values with nulls
- Handle missing values
- Remove duplicate rows
- Infer and convert datatypes
- Generate detailed cleaning reports
Installation
pip install qualityclean
or
uv add qualityclean
Quick Start
import qualityclean as qc
df = qc.load("employees.csv")
result = qc.clean(df)
clean_df = result.data
qc.audit(result)
qc.export(result, "cleaned.parquet")
Example
Before
| Name | Age | City |
|---|---|---|
" Alice " |
23 | Delhi |
"Bob" |
NULL | Mumbai |
"Alice" |
23 | Delhi |
After
| name | age | city |
|---|---|---|
| Alice | 23 | Delhi |
| Bob | 23 | Mumbai |
✔ Column names normalized
✔ Whitespace removed
✔ Missing values handled
✔ Duplicate rows removed
Features
- Fast Polars-based processing
- Automatic cleaning pipeline
- Human-readable audit reports
- CSV and Parquet support
- Detailed execution statistics
- Rule-level timing information
- Pythonic API
- Lightweight with minimal dependencies
Example Audit Report
QualityClean Report
Rows processed : 50,000
Duplicates removed : 1,243
Missing values fixed: 892
Whitespace trimmed : 3,144
Execution time : 0.18 s
API
qc.load(...)
qc.clean(...)
qc.audit(...)
qc.export(...)
Complete API documentation is available in the /docs directory.
Project Structure
qualityclean/
│
├── src/
├── tests/
├── docs/
├── README.md
└── pyproject.toml
Roadmap
- Core cleaning engine
- Built-in cleaning rules
- Audit reporting
- CSV & Parquet support
- Comprehensive test suite
- Custom rule plugins
- Performance benchmarks
- Documentation website
- PyPI release
Contributing
Contributions, bug reports, and feature requests are welcome.
Please open an issue or submit a pull request.
License
Released under the MIT License.
Built with ❤️ using Polars
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qualityclean-0.1.2.tar.gz.
File metadata
- Download URL: qualityclean-0.1.2.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
763b296d56abc1ebee3fb803d001631e283bf5922c21918cb428c8e404711212
|
|
| MD5 |
96c226133332864650b507f33f0e03a4
|
|
| BLAKE2b-256 |
643c29fda0642407a698c7d193ae60def5b13522f7cd5a4ee53c3577ec0d05f5
|
File details
Details for the file qualityclean-0.1.2-py3-none-any.whl.
File metadata
- Download URL: qualityclean-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6e42eb3f44e38940312eabbe51284c586aa7e4a983f605c42b357bd525cd4c
|
|
| MD5 |
a2fcff4504b86b3a13e436a208169edb
|
|
| BLAKE2b-256 |
84d9c2ed99a76989122fcbd732a318e30cf3bdac7cf92ec84f74dcdd7bb43187
|