Metadata-Version: 2.4
Name: kazemlstack
Version: 0.1.0
Summary: Kaze MLOps stack
Requires-Python: >=3.12
Requires-Dist: bentoml>=1.4.8
Requires-Dist: chex>=0.1.89
Requires-Dist: dagster>=1.10.10
Requires-Dist: fire>=0.7.0
Requires-Dist: flax>=0.10.5
Requires-Dist: grain>=0.2.7
Requires-Dist: jaxtyping>=0.3.1
Requires-Dist: minio>=7.2.15
Requires-Dist: mlflow>=2.21.3
Requires-Dist: optax>=0.2.4
Provides-Extra: cuda
Requires-Dist: jax[cuda]>=0.5.3; extra == 'cuda'
Description-Content-Type: text/markdown

# Kaze's MLOps stack

This is an evolving stack of tool I uses for my ML workflow. It is going to be very opinionated, not necessarily always up to date (considering the pace of the field, I think this is fair), and not always the best choice for your use case. I choose this stack because it fits my philosophy and my workflow.

The main purpose of this repo is to serve as a reference to retrace my steps whenever I need, instead of a template which I just copy and deploy to the next project. I have no intention of making this a full fledge library.

## Stack

- **Machine learning framework**: [Jax](https://jax.readthedocs.io/en/latest/) (with [Flax](https://flax.readthedocs.io/en/latest/) for neural networks)
- **Hyperparameter tuning** : [Optax](https://optax.readthedocs.io/en/latest/) (for optimizers) + [Optuna](https://optuna.org/) (for hyperparameter tuning)
- **Object storage**: [MinIO](https://min.io/) (for storing data and models)
- **Database**: [PostgreSQL](https://www.postgresql.org/) (for storing metadata and results)
- **Experiment tracking**: [MLflow](https://mlflow.org/) (for tracking experiments and models)
- **Data versioning**: [DVC](https://dvc.org/) (for data versioning and pipelines)
- **Orchestration**: [Dagster](https://dagster.io/) (for orchestrating the pipeline)
- **Deployment**: [BentoML](https://docs.bentoml.org/en/latest/) (for deploying the model as a service)
- **Monitoring**: [Prometheus](https://prometheus.io/) (for monitoring the service) + [Grafana](https://grafana.com/) (for visualizing the metrics)