✨ 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
Metadata
Release files for qualityclean 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qualityclean-0.1.2.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qualityclean-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.6 kB
Release files / qualityclean-0.1.2.tar.gz
| Download URL | qualityclean-0.1.2.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
763b296d56abc1ebee3fb803d001631e283bf5922c21918cb428c8e404711212
|
|
BLAKE2b-256 checksum How to use checksums |
643c29fda0642407a698c7d193ae60def5b13522f7cd5a4ee53c3577ec0d05f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / qualityclean-0.1.2-py3-none-any.whl
| Download URL | qualityclean-0.1.2-py3-none-any.whl |
|---|---|
| Size | 18.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe6e42eb3f44e38940312eabbe51284c586aa7e4a983f605c42b357bd525cd4c
|
|
BLAKE2b-256 checksum How to use checksums |
84d9c2ed99a76989122fcbd732a318e30cf3bdac7cf92ec84f74dcdd7bb43187
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|