Skip to content

ML Pipeline Automation Tool - Chain together data processing, model training, and deployment with minimal code. Build production-ready ML workflows in minutes, not hours.

License

Notifications You must be signed in to change notification settings

brkcvlk/MLFCrafter

Repository files navigation

MLFCrafter

ML Pipeline Automation Tool - Chain together data processing, model training, and deployment with minimal code

PyPI Version Python Support Tests Documentation License PyPI Downloads

⭐ If you find MLFCrafter useful, please consider starring this repository!

GitHub stars

Your support helps us continue developing and improving MLFCrafter for the ML community.


What is MLFCrafter?

MLFCrafter is a Python Tool that simplifies machine learning pipeline creation through chainable "crafter" components. Build, train, and deploy ML models with minimal code and maximum flexibility.

Key Features

  • πŸ”— Chainable Architecture - Connect multiple processing steps seamlessly
  • πŸ“Š Smart Data Handling - Automatic data ingestion from CSV, Excel, JSON
  • 🧹 Intelligent Cleaning - Multiple strategies for missing value handling
  • πŸ“ Flexible Scaling - MinMax, Standard, and Robust scaling options
  • πŸ€– Multiple Models - Random Forest, XGBoost, Logistic Regression support
  • πŸ“ˆ Comprehensive Metrics - Accuracy, Precision, Recall, F1-Score
  • πŸ’Ύ Easy Deployment - One-click model saving with metadata
  • πŸ”„ Context-Based - Seamless data flow between pipeline steps

Why MLFCrafter?

Writing the same ML boilerplate again and again is exhausting β€” especially when juggling multiple datasets or experimenting with different models. MLFCrafter was created to solve exactly that.

Here’s why MLFCrafter might be the right tool for you:

βœ… Automation without Black Box: You automate repetitive steps, but still keep visibility and control over each stage.

βœ… Modular by Design: You can run only the steps you need. Don't want automatic data cleaning ? Just skip CleanerCrafter and plug in your own function.

βœ… Readable & Reusable: The API is simple, clean, and built for easy experimentation and reproducibility.

βœ… Scikit-learn Compatible: Use your favorite tools and estimators within the pipeline.

βœ… Open for Extension: You can build your own custom crafters if needed.

βœ… Easy to Learn: MLFCrafter’s intuitive API and clear component structure make it approachable even for users with basic machine learning knowledge. You don’t need to dive deep into complex frameworks to start building.


Documentation

Quick Start

Installation

pip install mlfcrafter

Basic Usage

from mlfcrafter import MLFChain, DataIngestCrafter, CleanerCrafter, ScalerCrafter, ModelCrafter, ScorerCrafter, DeployCrafter

# Create ML pipeline in one line
chain = MLFChain(
    DataIngestCrafter(data_path="data/iris.csv"),
    CleanerCrafter(strategy="auto"),
    ScalerCrafter(scaler_type="standard"),
    ModelCrafter(model_name="random_forest"),
    ScorerCrafter(),
    DeployCrafter()
)

# Run entire pipeline
results = chain.run(target_column="species")
print(f"Test Score: {results['test_score']:.4f}")

Requirements

  • Python: 3.8 or higher
  • Core Dependencies: pandas, scikit-learn, numpy, xgboost, joblib

Development

Setup Development Environment

git clone https://github.com/brkcvlk/mlfcrafter.git
cd mlfcrafter
pip install -r requirements-dev.txt
pip install -e .

Run Tests

# Run all tests
python -m pytest tests/ -v

# Run tests with coverage  
python -m pytest tests/ -v --cov=mlfcrafter --cov-report=html

# Check code quality
ruff check .

# Auto-fix code issues
ruff check --fix .

# Format code
ruff format .

Run Examples

python example.py

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

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

Support


Made for the ML Community

About

ML Pipeline Automation Tool - Chain together data processing, model training, and deployment with minimal code. Build production-ready ML workflows in minutes, not hours.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •