Skip to content
All work
2024Independent project · published on PyPIcurdrice-v2

End-to-end machine learning workflow automation

From raw dataset to a ranked, exported set of trained models in a single CLI call.

Pythonscikit-learnPandasNumPyAutoMLjoblibPyPI
Published
PyPI · curdrice-v2

Overview

Supervised learning workflows repeat the same steps every time: load, preprocess, select features, train several models, compare them, export the best one. curdrice collapses that into a single command.

It handles diverse dataset formats, runs preprocessing and feature selection, then trains and compares multiple scikit-learn models — Random Forest, Gradient Boosting, and K-Means among them — surfacing metrics and model selection guidance through the CLI.

Challenges

The design constraint was reproducibility. The same command on the same data has to produce the same comparison, or the tool is just a faster route to an unreliable answer.

Decisions

The calls that shaped this project, the alternatives they beat, and what each one cost.

  • A single CLI command as the entire interface

    over a library API to import and call

    Why

    A library asks the user to already know the pipeline shape. The people who benefit most from this tool are the ones who don't yet — so the interface had to be one command with sensible defaults.

    Trade-off

    Less flexible than an API for anyone who wants to compose the steps themselves.

  • Export trained models as joblib artifacts

    over print metrics and stop

    Why

    A comparison you can't deploy is a report, not a tool. Bundling the artifacts is what lets the output of a run become the input to something else.

    Trade-off

    joblib ties the artifacts to a Python and scikit-learn version.

  • Publish to PyPI

    over leave it as a GitHub repo to clone

    Why

    Clone-and-configure is exactly the friction the tool exists to remove. A pip install is the difference between something people try and something they don't.

    Trade-off

    Committing to packaging, versioning, and the maintenance that follows.

Outcomes

Trained models export as joblib artifacts, bundled for downstream use and deployment.

Published as an open-source PyPI package (curdrice-v2), installable and runnable end to end with minimal setup, with source and usage examples on GitHub.

Next projectDecomposing Muon