mlflow-python

Unified read/write MLflow operations via Python API with QuantStats integration for comprehensive trading metrics.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mlflow-python" with this command: npx skills add terrylica/cc-skills/terrylica-cc-skills-mlflow-python

MLflow Python Skill

Unified read/write MLflow operations via Python API with QuantStats integration for comprehensive trading metrics.

ADR: 2025-12-12-mlflow-python-skill

Note: This skill uses Pandas (MLflow API requires it). The mlflow-python path is auto-skipped by the Polars preference hook.

When to Use This Skill

CAN Do:

  • Log backtest metrics (Sharpe, max_drawdown, total_return, etc.)

  • Log experiment parameters (strategy config, timeframes)

  • Create and manage experiments

  • Query runs with SQL-like filtering

  • Calculate 70+ trading metrics via QuantStats

  • Retrieve metric history (time-series data)

CANNOT Do:

  • Direct database access to MLflow backend

  • Artifact storage management (S3/GCS configuration)

  • MLflow server administration

Prerequisites

Authentication Setup

MLflow uses separate environment variables for credentials (NOT embedded in URI):

Option 1: mise + .env.local (recommended)

Create .env.local in skill directory with:

MLFLOW_TRACKING_URI=http://mlflow.eonlabs.com:5000 MLFLOW_TRACKING_USERNAME=eonlabs MLFLOW_TRACKING_PASSWORD=<password>

Option 2: Direct environment variables

export MLFLOW_TRACKING_URI="http://mlflow.eonlabs.com:5000" export MLFLOW_TRACKING_USERNAME="eonlabs" export MLFLOW_TRACKING_PASSWORD="<password>"

Verify Connection

/usr/bin/env bash << 'SKILL_SCRIPT_EOF' cd ${CLAUDE_PLUGIN_ROOT}/skills/mlflow-python uv run scripts/query_experiments.py experiments SKILL_SCRIPT_EOF

Quick Start Workflows

A. Log Backtest Results (Primary Use Case)

/usr/bin/env bash << 'SKILL_SCRIPT_EOF_2' cd ${CLAUDE_PLUGIN_ROOT}/skills/mlflow-python uv run scripts/log_backtest.py
--experiment "crypto-backtests"
--run-name "btc_momentum_v2"
--returns path/to/returns.csv
--params '{"strategy": "momentum", "timeframe": "1h"}' SKILL_SCRIPT_EOF_2

B. Search Experiments

uv run scripts/query_experiments.py experiments

C. Query Runs with Filter

uv run scripts/query_experiments.py runs
--experiment "crypto-backtests"
--filter "metrics.sharpe_ratio > 1.5"
--order-by "metrics.sharpe_ratio DESC"

D. Create New Experiment

uv run scripts/create_experiment.py
--name "crypto-backtests-2025"
--description "Q1 2025 cryptocurrency trading strategy backtests"

E. Get Metric History

uv run scripts/get_metric_history.py
--run-id abc123
--metrics sharpe_ratio,cumulative_return

QuantStats Metrics Available

The log_backtest.py script calculates 70+ metrics via QuantStats, including:

Category Metrics

Ratios sharpe, sortino, calmar, omega, treynor

Returns cagr, total_return, avg_return, best, worst

Drawdown max_drawdown, avg_drawdown, drawdown_days

Trade win_rate, profit_factor, payoff_ratio, consecutive_wins/losses

Risk volatility, var, cvar, ulcer_index, serenity_index

Advanced kelly_criterion, recovery_factor, risk_of_ruin, information_ratio

See quantstats-metrics.md for full list.

Bundled Scripts

Script Purpose

log_backtest.py

Log backtest returns with QuantStats metrics

query_experiments.py

Search experiments and runs (replaces CLI)

create_experiment.py

Create new experiment with metadata

get_metric_history.py

Retrieve metric time-series data

Configuration

The skill uses mise [env] pattern for configuration. See .mise.toml for defaults.

Create .env.local (gitignored) for credentials:

MLFLOW_TRACKING_URI=http://mlflow.eonlabs.com:5000 MLFLOW_TRACKING_USERNAME=eonlabs MLFLOW_TRACKING_PASSWORD=<password>

Reference Documentation

  • Authentication Patterns - Idiomatic MLflow auth

  • QuantStats Metrics - Full list of 70+ metrics

  • Query Patterns - DataFrame operations

  • Migration from CLI - CLI to Python API mapping

Migration from mlflow-query

This skill replaces the CLI-based mlflow-query skill. Key differences:

Feature mlflow-query (old) mlflow-python (new)

Log metrics Not supported mlflow.log_metrics()

Log params Not supported mlflow.log_params()

Query runs CLI text parsing DataFrame output

Metric history Workaround only Native support

Auth pattern Embedded in URI Separate env vars

See migration-from-cli.md for detailed mapping.

Troubleshooting

Issue Cause Solution

Connection refused MLflow server not running Verify MLFLOW_TRACKING_URI and server status

Authentication failed Wrong credentials Check MLFLOW_TRACKING_USERNAME and PASSWORD in .env

Experiment not found Experiment name typo Run query_experiments.py experiments to list all

QuantStats import error Missing dependency uv add quantstats in skill directory

Pandas import warning Expected for this skill Ignore - MLflow requires Pandas (hook-excluded)

Run creation fails Experiment doesn't exist Use create_experiment.py to create first

Metric history empty Wrong run_id or metric name Verify run_id with query_experiments.py runs

Returns CSV parse error Wrong date format or columns Check CSV has date index and returns column

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python-logging-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

clickhouse-architect

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-clone-assistant

No summary provided by upstream source.

Repository SourceNeeds Review