SmartClean
An intelligent Python library for automated data cleaning with profiling, preprocessing, and detailed reporting.
SmartClean simplifies the data cleaning process by automatically identifying and handling common data quality issues such as missing values, duplicate records, and outliers. It generates comprehensive profiling reports before and after cleaning, making datasets ready for analysis and machine learning.
Features
- Automated missing value detection and handling
- Duplicate row detection and removal
- Outlier detection using the IQR method
- Automatic data profiling
- Before and after cleaning reports
- Configurable cleaning pipeline
- Modular and extensible architecture
- Simple and intuitive API
- Open-source and developer friendly
Installation
Clone the repository:
git clone https://github.com/yourusername/SmartClean.git
cd SmartClean
Install dependencies:
pip install -r requirements.txt
Quick Start
import pandas as pd
from smartclean import Cleaner
# Load dataset
df = pd.read_csv("data/raw/Kaggle/1.csv")
# Initialize SmartClean
cleaner = Cleaner()
# Clean dataset
result = cleaner.clean(df)
print(result.cleaned_df.head())
print(result.report)
Example Output
========== Missing Value Cleaning ==========
[OK] Column: Age | Missing: 177 | Strategy: mean
[OK] Column: Cabin | Missing: 687 | Strategy: most_frequent
[OK] Column: Embarked | Missing: 2 | Strategy: most_frequent
========== Duplicate Cleaning ==========
[OK] No duplicate rows found.
========== Outlier Cleaning ==========
[OK] Outlier Values Capped : 441
CleaningResult(rows=891, columns=12)
Project Structure
SmartClean/
│
├── smartclean/
│ ├── cleaning/
│ ├── config/
│ ├── core/
│ ├── handlers/
│ ├── utils/
│ ├── cleaner.py
│ ├── result.py
│ └── __init__.py
│
├── example/
│ └── demo.py
│
├── data/
│
├── reports/
│
├── README.md
└── requirements.txt
Cleaning Pipeline
Dataset
│
▼
Data Profiling
│
▼
Missing Value Handling
│
▼
Duplicate Removal
│
▼
Outlier Detection
│
▼
Updated Profiling
│
▼
Cleaning Report
│
▼
Clean Dataset
Current Cleaning Capabilities
Missing Values
- Mean imputation
- Median imputation
- Most frequent value imputation
- Drop columns with excessive missing values
Duplicates
- Detect duplicate rows
- Remove duplicate records
Outliers
- IQR-based outlier detection
- Outlier capping
- Outlier removal
Output
SmartClean returns a CleaningResult object.
result = Cleaner().clean(df)
result.cleaned_df
result.before_profile
result.after_profile
result.report
Roadmap
Version 1.0
- Data profiling
- Missing value handling
- Duplicate removal
- Outlier detection
- Cleaning reports
Metadata
Release files for smartclean-ai 1.1.1
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 | |
|---|---|---|---|---|
| smartclean_ai-1.1.1.tar.gz | 15.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smartclean_ai-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / smartclean_ai-1.1.1.tar.gz
| Download URL | smartclean_ai-1.1.1.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e2e0c1681e73bcbf64bb2b389482a8952fdf9559b2aa1a70ff178b8cffe05ab
|
|
BLAKE2b-256 checksum How to use checksums |
b8fc6825c29053094abd514990f8b6a491cecd657918a794b37438fe7f40e5cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / smartclean_ai-1.1.1-py3-none-any.whl
| Download URL | smartclean_ai-1.1.1-py3-none-any.whl |
|---|---|
| Size | 19.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d9b90899545fa35f268b3b041964af570e484542b29f082e6792edb0ebd829d
|
|
BLAKE2b-256 checksum How to use checksums |
b22a0377a4068b675fb4e4f62a086a1b345700d04e0128382749f69116217852
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for smartclean-ai 1.1.1
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.