🛠️ EasyDataFix
A modern Python library for data quality assessment, validation, and automated data cleaning.
EasyDataFix helps data analysts, data scientists, machine learning engineers, and ETL developers quickly identify data quality issues and generate professional reports with just a few lines of code.
✨ Features
- 📊 Data Quality Assessment
- ✅ Missing Value Detection
- 🔍 Duplicate Detection
- ✔️ Data Validation
- 🧹 Data Consistency Checks
- 🎯 Data Accuracy Checks
- ⏱️ Timeliness Checks
- 💡 Intelligent Recommendations
- 📄 Console Report
- 🌐 HTML Report
- 📑 PDF Report
- 📈 Excel Report
- 📋 CSV Report
- 📦 JSON Report
- 📝 Markdown Report
Installation
pip install easydatafix
For Parquet support:
pip install easydatafix[parquet]
Quick Start
import easydatafix as edf
report = edf.assess("employees.csv")
report.summary()
report.to_html()
report.to_pdf()
report.to_excel()
report.to_json()
report.to_csv()
report.to_markdown()
Example Console Output
======================================================================
🛠️ EASY DATA FIX REPORT
======================================================================
Overall Score : 90.37
Grade : A
Completeness : 96.97%
Uniqueness : 100.00%
Validity : 55.00%
Consistency : 100.00%
Accuracy : 100.00%
Timeliness : 100.00%
Supported Quality Dimensions
| Dimension | Status |
|---|---|
| Completeness | ✅ |
| Uniqueness | ✅ |
| Validity | ✅ |
| Consistency | ✅ |
| Accuracy | ✅ |
| Timeliness | ✅ |
Report Formats
EasyDataFix can generate reports in multiple formats.
report.summary()
report.to_html()
report.to_pdf()
report.to_excel()
report.to_json()
report.to_csv()
report.to_markdown()
Supported Data Sources
EasyDataFix accepts datasets in a variety of formats. edf.assess(...) and edf.fix(...) both work with:
- Pandas
DataFrame - CSV files
- Excel files (
.xlsx/.xls) - JSON files
- Parquet files
Loading is handled by the modular easydatafix.datasources package, which lets you plug in your own formats:
import pandas as pd
from easydatafix.datasources import (
DataSource,
DatasetLoader,
default_registry,
)
class TSVDataSource(DataSource):
name = "tsv"
def can_load(self, source) -> bool:
from pathlib import Path
return isinstance(source, Path) and source.suffix.lower() == ".tsv"
def load(self, source) -> pd.DataFrame:
return pd.read_csv(source, sep="\t")
default_registry.register(TSVDataSource())
# Now edf.assess(...) and edf.fix(...) accept .tsv files too.
Why EasyDataFix?
EasyDataFix is designed to make data quality assessment simple and accessible.
Whether you're validating datasets before machine learning, preparing ETL pipelines, or cleaning business reports, EasyDataFix provides a consistent way to measure and improve data quality.
Roadmap
Version 0.1
- Assessment Engine
- Validation Engine
- Recommendation Engine
- Reporting Engine
- Auto Fix Foundation
Version 0.2
- Data Profiling
- CLI Support
- Streamlit Dashboard
- SQL Support
- Apache Spark Support
- Interactive Charts
- AI Recommendations
Contributing
Contributions are welcome.
Feel free to fork the repository, open issues, or submit pull requests.
Repository:
https://github.com/suneelprojects/easydatafix
License
MIT License
Made with ❤️ by Suneel Kumar Kola
Metadata
Release files for easydatafix 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| easydatafix-0.2.0.tar.gz | 38.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| easydatafix-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 103.2 kB
Release files / easydatafix-0.2.0.tar.gz
| Download URL | easydatafix-0.2.0.tar.gz |
|---|---|
| Size | 38.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f38206f3c1fb59ebf04ea5da86817c24955a219df0a70f410ba5ae606d9a530d
|
|
BLAKE2b-256 checksum How to use checksums |
978624ec42389b25f50deb9ece04c5032858afef4b374acac370fa164c6eb432
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / easydatafix-0.2.0-py3-none-any.whl
| Download URL | easydatafix-0.2.0-py3-none-any.whl |
|---|---|
| Size | 64.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
422199832d24024331a97114f64b9a102d52239bddcd33b37cb715b23441a253
|
|
BLAKE2b-256 checksum How to use checksums |
7baf01638defa69daeaf5a97c40d5d77a561a5dc7d0927d89db1f19ec1cd5217
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for easydatafix 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.