Python Client for MLflow
Python client for MLflow REST API.
Features:
- Unlike MLflow Tracking client all REST API methods are exposed to user.
- All class fields are validated with pydantic
- Basic and Bearer auth is supported.
- All methods and classes are documented.
Limitations:
- There is no integration with ML frameworks and libraries. You should use official MLflow client instead.
- There are no integration with S3 or other artifact storage type. You should access it directly with boto3 or other client.
- Only Python 3.7+ is supported. Python 3.6 and lower already reached end of life.
Documentation
See https://mlflow-client.readthedocs.io/en/latest/
Contribution guide
See CONTRIBUTING.rst
Security
See SECURITY.rst
Installation
Stable release
Stable version is released on every tag to master
branch. Please use stable releases on production environment. Version example: 2.0.0
pip install mlflow-client==2.0.0 # exact version
pip install mlflow-client # latest release
Development release
Development version is released on every commit to dev
branch. You can use them to test some new features before official release. Version example: 2.0.0.dev5
pip install mlflow-client==2.0.0.dev5 # exact dev version
pip install --pre mlflow-client # latest dev version
Development
Clone repo:
git clone [email protected]:MobileTeleSystems/mlflow-client.git
cd mlflow-client
Install dependencies for development:
pip install -r requirements-dev.txt
Install pre-commit hooks:
pre-commit install
pre-commit autoupdate
pre-commit install-hooks
Test pre-commit hooks run:
pre-commit run --all-files -v
Usage
Make sure you have an MLflow Tracking Server running.
from mlflow_client import MLflowClient
client = MLflowClient("https://mlflow.domain", ignore_ssl_check=True)
experiment = client.get_or_create_experiment("experiment_name")
run = client.create_run(experiment.id)
See sample.py for more examples.