Skip to main content

An enterprise-grade, production-quality Python library for intelligent data preprocessing.

Project description

AKDATA

Tests License: MIT Python Support

AKDATA is an enterprise-grade, production-quality, open-source Python library for intelligent and structured data preprocessing, quality profiling, leakage protection, and automated reporting.

Designed to prevent common machine learning bugs, prevent data leakage, and automate tedious data preparation, AKDATA exposes both a simple one-line API and modular pipelines suitable for mission-critical ML workflows.


Key Features

  • 🛠 Automated Data Cleaning: Strip spaces, standardized snake_case column names, drop completely empty columns and rows.
  • 🩺 Dataset Health Grading: Compute a robust Data Health Score (0-100) based on missingness, duplicates, outliers, and type conflicts.
  • 🔒 Data Leakage Protection: Automatically detect and flag target leakage (extremely highly predictive variables) prior to model training.
  • Fit-Transform Consistency: Standardized transformers that compute statistics on the training split and apply them cleanly to test splits without leakage.
  • 📈 Automatic Feature Engineering: Extract components of datetime columns and create interaction metrics safely.
  • 📊 Automated Professional Dashboards: Export beautiful, self-contained HTML dashboards and PDF summaries.

Why AKDATA?

Machine Learning projects spend a significant portion of development time preparing and cleaning data before model training.

AKDATA automates this process while maintaining transparency, reproducibility, and machine learning best practices.

Instead of manually writing preprocessing code for every dataset, developers can prepare datasets using a single, consistent workflow.


📂 Proof Script

mytest/mytest.py ← Blue hyperlink]

AKDATA Workflow

Raw Dataset
      │
      ▼
Data Loading
      │
      ▼
Exploratory Data Analysis (EDA)
      │
      ▼
Dataset Profiling
      │
      ▼
Dataset Health Score
      │
      ▼
Data Cleaning
      │
      ▼
Missing Value Handling
      │
      ▼
Duplicate Removal
      │
      ▼
Outlier Detection
      │
      ▼
Data Type Conversion
      │
      ▼
Categorical Encoding
      │
      ▼
Feature Engineering
      │
      ▼
Feature Selection
      │
      ▼
Train/Test Split
      │
      ▼
Feature Scaling
      │
      ▼
Data Leakage Validation
      │
      ▼
Professional Report Generation
      │
      ▼
Ready for Machine Learning

Example Output

from akdata import ak

dataset = ak.read_csv("employees.csv")

result = ak.prepare(
    dataset,
    target="Salary"
)

print(result.health_score)

print(result.recommendations)

result.summary()

result.export_html()

result.export_pdf()

model.fit(result.X_train, result.y_train)

Modular Usage

You can also construct and run custom pipelines manually:

from akdata.core.pipeline import Pipeline
from akdata.preprocessing.missing import MissingValueImputer
from akdata.preprocessing.scaling import NumericScaler

pipeline = Pipeline()
pipeline.add_step("impute", MissingValueImputer(numeric_strategy="median"))
pipeline.add_step("scale", NumericScaler(strategy="standard"))

# Fit on training features
pipeline.fit(X_train)

# Transform training and testing splits independently
X_train_clean = pipeline.transform(X_train)
X_test_clean = pipeline.transform(X_test)

What AKDATA Automatically Does

✔ Detects missing values

✔ Removes duplicates

✔ Detects outliers

✔ Converts incorrect data types

✔ Encodes categorical columns

✔ Generates new features

✔ Selects useful features

✔ Splits training and testing data

✔ Scales numerical features

✔ Prevents data leakage

✔ Computes Dataset Health Score

✔ Generates intelligent preprocessing recommendations

✔ Produces professional HTML/PDF reports


Roadmap

Version 1.0

  • Core preprocessing engine
  • Dataset Health Score
  • Recommendation Engine
  • HTML Reports
  • PDF Reports

Version 1.1

  • Time Series preprocessing
  • Feature importance reports

Version 2.0

  • Image dataset preprocessing
  • NLP dataset preprocessing
  • AutoML integration
  • Plugin architecture
  • CLI support

Development

AKDATA follows modern Python development practices and is designed to be maintainable, modular, and production-ready.

Clone the repository:

git clone https://github.com/arikaranrs/AKDATA.git
cd AKDATA

Create a virtual environment:

python -m venv .venv

Activate the environment:

Windows

.venv\Scripts\activate

Linux / macOS

source .venv/bin/activate

Install the project in editable mode:

pip install -e .

Install development dependencies:

pip install -r requirements.txt

Running Tests

Execute the complete unit test suite:

pytest

To view detailed test output:

pytest -v

Contributing

Contributions are welcome.

If you would like to improve AKDATA:

  1. Fork the repository.
  2. Create a new feature branch.
  3. Implement your changes.
  4. Add or update tests where appropriate.
  5. Submit a Pull Request.

Please read CONTRIBUTING.md before submitting contributions.


Roadmap

Current Version (v1.0)

  • Intelligent Data Preprocessing
  • Dataset Health Score
  • Intelligent Recommendation Engine
  • Data Leakage Detection
  • HTML Reports
  • PDF Reports
  • Modular Pipeline Architecture

Future Releases

  • Time Series Support
  • NLP Dataset Support
  • Image Dataset Support
  • AutoML Integration
  • Command Line Interface (CLI)
  • Plugin System
  • REST API
  • Interactive Dashboard

License

This project is licensed under the MIT License.

See the LICENSE file for complete license information.


Author

Arikaran R

Creator and Maintainer of AKDATA

If you find AKDATA useful, consider giving the repository a ⭐ on GitHub and contributing to its future development.

Project details


Download files

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

Source Distribution

akdata_ml-1.0.0.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

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

akdata_ml-1.0.0-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file akdata_ml-1.0.0.tar.gz.

File metadata

  • Download URL: akdata_ml-1.0.0.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for akdata_ml-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7485c1ff137c71ba15a95790933457985ccf667c3747798a228eb2a1698df98c
MD5 8f6ad2cbfe80fb0c21dccfa3dfeba66b
BLAKE2b-256 94a83bec57ccfa9a1e9cf7ae718c85e0c9b5413f32c79d21796fbbff3cd11a92

See more details on using hashes here.

File details

Details for the file akdata_ml-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: akdata_ml-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for akdata_ml-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89937183c550d0e4c453293ab6822721dc55cbe6bdaf9e000289c72907dcf8cc
MD5 797b71e3e169418e3327170e34d744e3
BLAKE2b-256 fe9a6fe2482f0a93c229a306a05ed5887039cc68f7ff946c430d86cb86ce256d

See more details on using hashes here.

Supported by

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