MLflow Skinny is a lightweight Python package that provides core MLflow functionalities for experiment tracking and model management, omitting heavier dependencies like SQL storage, the MLflow UI, server, and extensive data science libraries. It serves as a foundation for users who need only the tracking and logging capabilities. MLflow is an open-source platform designed to streamline the entire machine learning lifecycle, supporting experiment tracking, reproducible code packaging, and model deployment. The current version is 3.10.1 and it requires Python >=3.10. The library maintains an active development status with frequent patch and minor releases, often on a monthly cadence.
pip install mlflow-skinnyVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to use `mlflow-skinny` for experiment tracking with scikit-learn's autologging feature. It logs a `RandomForestRegressor` model, its parameters, and metrics automatically. Note that for this example to run, `scikit-learn`, `numpy`, and `pandas` must be installed alongside `mlflow-skinny`. It explicitly sets a file-based tracking URI to avoid issues with MLflow 3.x's default SQLite backend, which `mlflow-skinny` doesn't support out-of-the-box.
Explicitly set `mlflow.set_tracking_uri('file:///path/to/mlruns')` to use a file-based store without extra dependencies, or `pip install mlflow-skinny sqlalchemy alembic sqlparse` to enable SQLite support.To use the MLflow UI and server, you must install the full `mlflow` package (`pip install mlflow`) or manually build the UI assets if running from source (not recommended for general users).
Install `mlflow-skinny` along with the specific extra dependencies needed for your use case (e.g., `pip install mlflow-skinny scikit-learn pandas` for `mlflow.sklearn` functionality, or `pip install mlflow-skinny flask` for serving).
Consult the MLflow 3.x Migration Guide for a comprehensive list of changes. Update code to use `run_id` instead of `run_uuid` and adjust model logging patterns as necessary.
Ensure that Git is installed on the system and its executable is included in the system's PATH environment variable. Alternatively, set the `GIT_PYTHON_GIT_EXECUTABLE` environment variable to the full path of the Git executable.
To use the MLflow UI, install the full `mlflow` package using `pip install mlflow`. If you intend to use `mlflow-skinny`, you must connect it to a separate, running MLflow tracking server that provides the UI.
Explicitly set a file-based tracking URI (e.g., `mlflow.set_tracking_uri('./mlruns')`) or configure a remote HTTP/HTTPS tracking server URI (e.g., `mlflow.set_tracking_uri('http://your-mlflow-server:5000')`) before performing tracking operations.Install the `jinja2` package explicitly: `pip install jinja2`.
Ensure `mlflow-skinny` is correctly installed in your environment: `pip install mlflow-skinny`. If you intended the full `mlflow` package, use `pip install mlflow`. Consider using a clean virtual environment to avoid package conflicts.