Skip to main content

🌟 Keras Data Processor (KDP) - Powerful Data Preprocessing for TensorFlow 🌟

Keras Data Processor Logo

Provided and maintained by 🦄 UnicoLab

Python 3.10+ TensorFlow 2.18+ Keras 3 License: MIT 🦄 UnicoLab Documentation

Transform your raw data into ML-ready features with just a few lines of code!

KDP provides a state-of-the-art preprocessing system built on TensorFlow Keras. It handles everything from feature normalization to advanced embedding techniques, making your ML pipelines faster, more robust, and easier to maintain. Built with ❤️ by 🦄 UnicoLab, it provides a clean, efficient, and extensible foundation for building sophisticated machine learning models for enterprise AI applications.

✨ Key Features

  • 🚀 Efficient Single-Pass Processing: Process all features in one go, dramatically faster than alternatives
  • 🧠 Distribution-Aware Encoding: Automatically detects and optimally handles different data distributions
  • 👁️ Tabular Attention: Captures complex feature interactions for better model performance
  • 🔍 Feature Selection: Automatically identifies and focuses on the most important features
  • 🔄 Feature-wise Mixture of Experts: Specialized processing for different feature types
  • 📦 Production-Ready: Deploy your preprocessing along with your model as a single unit

🚀 Quick Installation

# Using pip
pip install kdp

# Using Poetry
poetry add kdp

📋 Simple Example

from kdp import PreprocessingModel, FeatureType

# Define your features
features_specs = {
    "age": FeatureType.FLOAT_NORMALIZED,
    "income": FeatureType.FLOAT_RESCALED,
    "occupation": FeatureType.STRING_CATEGORICAL,
    "description": FeatureType.TEXT
}

# Create and build the preprocessor
preprocessor = PreprocessingModel(
    path_data="data/my_data.csv",
    features_specs=features_specs,
    # Enable advanced features
    use_distribution_aware=True,
    tabular_attention=True
)
result = preprocessor.build_preprocessor()
model = result["model"]

# Use the preprocessor with your data
processed_features = model(input_data)

📚 Comprehensive Documentation

We've built an extensive documentation system to help you get the most from KDP:

Core Guides

Advanced Topics

Integration & Performance

Background & Resources

🖼️ Model Architecture

Your preprocessing pipeline is built as a Keras model that can be used independently or as the first layer of any model:

📊 Performance

KDP outperforms alternative preprocessing approaches, especially as data size increases:

🤝 Contributing

We welcome contributions! Please check out our Contributing Guide for guidelines on how to proceed.

💬 Join Our Community

Have questions or want to connect with other KDP users? Join us on Discord:

Discord

🛠️ Development Tools

KDP includes tools to help developers:

  • Documentation Generation: Automatically generate API docs from docstrings
  • Model Diagram Generation: Visualize model architectures with make generate_doc_content or run:
    python scripts/generate_model_diagrams.py
    
    This creates diagram images in docs/features/imgs/models/ for all feature types and configurations.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with TensorFlow and Keras
  • Inspired by modern deep learning research
  • Community-driven development
  • All contributors who help make KDP better

Built with ❤️ for the ML community by 🦄 UnicoLab.ai

Release files for kdp 1.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kdp 1.12.0
File Size Uploaded
kdp-1.12.0.tar.gz 224.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kdp 1.12.0
File Interpreter ABI Platform
kdp-1.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 371.1 kB

Release files / kdp-1.12.0.tar.gz

Download URL kdp-1.12.0.tar.gz
Size 224.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8c14ab6358ca9ea655a4b8f7e145849d8849d2b18de8f0da2dfa19fb712ce4f3
BLAKE2b-256 checksum
How to use checksums
9c36b33c631b748e949f00aae8ef8f1eb247b1092902382468a44ed3b826d6e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.16 Linux/6.17.0-1022-azure

Release files / kdp-1.12.0-py3-none-any.whl

Download URL kdp-1.12.0-py3-none-any.whl
Size 146.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a7d756fd4c57e9eee725c4c9f709cbcf73c6f16dfd6728863ebd5f434c86549
BLAKE2b-256 checksum
How to use checksums
bb440a35b74a803ba5f959406ed864b1b8ab453bd6bdafc0a342d6c5648d2895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.16 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

1.12.0 This release

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page