Metadata-Version: 2.5
Name: eni-mlops-content
Version: 0.1.4
Summary: Modelling and drift code the Kubeflow components of the ENI MLOps course import
Author: Oleksandr Dashkov
License-Expression: MIT
Keywords: course,kubeflow,mlops
Requires-Python: >=3.14
Requires-Dist: evidently<0.5
Requires-Dist: joblib
Requires-Dist: numpy>=2.5.2
Requires-Dist: pandas<3,>=2.3.3
Requires-Dist: plotly>=6.9.0
Requires-Dist: pyarrow
Requires-Dist: scikit-learn>=1.9.0
Provides-Extra: components
Requires-Dist: kfp; extra == 'components'
Requires-Dist: kfp-kubernetes; extra == 'components'
Requires-Dist: kubernetes; extra == 'components'
Requires-Dist: mlflow; extra == 'components'
Requires-Dist: pip; extra == 'components'
Description-Content-Type: text/markdown

# eni-mlops-content

Support package for the ENI MLOps courses (DEV25_0504B, DEV25_0505B). It holds the code the
labs' Kubeflow components import, so a component body stays a few lines of orchestration
around a function that is versioned, installed and testable on its own.

## What it provides

- `mlops_content.config` — dataset paths, and the Feature, ModellingStrategy, SplitStrategy
  and ModelAlias enumerations the pipelines are parameterised by.
- `mlops_content.pipeline_steps` — load, build_features, split_by_period, train, evaluate,
  select_best_alpha, predict for the electricity-consumption forecasting the courses use.
- `mlops_content.exploration` — the plots and summaries of the exploratory notebook.
- `mlops_content.drift_metrics` — PSI between a reference window and a recent one, pooled
  across clients and per client, via Evidently.

## Install

```bash
pip install eni-mlops-content            # the modelling and drift code
pip install "eni-mlops-content[components]"   # plus kfp, mlflow and what a component pod needs
```

The same wheel goes into the course's component image, which is what makes the labs'
component bodies runnable outside a pod: the tests import exactly what the pod imports.

This is course material rather than a general-purpose library — the API follows what the labs
teach, and it changes with them.
