Skip to main content

PyPI package management integrated directly into MLflow's web interface

Project description

MLflow Plugin Manager

License: MIT PyPI Python

PyPI package management integrated directly into MLflow's web interface

🚀 Quick Start

Install from PyPI (Recommended)

pip install mlflow-plugin-manager

Install from Source

git clone https://github.com/thijsdezoete/mlflow-plugin-manager.git
cd mlflow-plugin-manager
pip install -e .

📦 Core Features

  • 📦 Direct PyPI Integration - Install any MLflow-compatible package from PyPI through the web interface
  • 🔄 Version Management - Compare installed versions against latest PyPI releases, update or rollback as needed
  • 🎯 Version Pinning - Install specific package versions for reproducibility
  • 🔍 Package Discovery - Browse and search MLflow packages indexed from PyPI
  • 📝 Installation Logs - View complete pip output for debugging
  • 🔧 REST API - Programmatic access for CI/CD integration

🎮 Usage

Run the MLflow server with the Plugin Manager:

mlflow server --app-name plugin_manager

Access the Plugin Manager at:

⚙️ Configuration

Environment Variables

  • PLUGIN_SERVER_URL: URL of the plugin metadata server
    • Default: https://api.mlflowplugins.com (production)
    • Local Development: Set to http://localhost:5001 if running your own server
# Use production server (default)
mlflow server --app-name plugin_manager

# Use local server for development
export PLUGIN_SERVER_URL="http://localhost:5001"
mlflow server --app-name plugin_manager

🏗️ Architecture

The MLflow Plugin Manager consists of two components:

  1. MLflow Plugin (this package): Integrates with MLflow's web interface and handles package installation locally via pip
  2. Metadata Server: Provides plugin information (hosted at api.mlflowplugins.com)

Note: Package installation happens locally on your machine. The remote server only provides plugin metadata (available packages, versions, etc.).

🔌 API Endpoints

  • GET /plugin-manager/ - Web interface
  • GET /plugin-manager/installed-plugins - List installed packages
  • GET /plugin-manager/available-plugins - Browse PyPI packages
  • POST /plugin-manager/install-plugin - Install a package
  • POST /plugin-manager/uninstall-plugin - Remove a package
  • GET /plugin-manager/check-plugin-updates - Check for updates
  • POST /plugin-manager/upgrade-plugin - Update a package

📋 Requirements

  • Python 3.8+
  • MLflow 2.0+ (optimized for 3.0+)
  • pip package manager

🔧 Advanced: Running Your Own Metadata Server

For maintainers who want to run their own plugin metadata server:

cd server
python reindex_plugins.py  # Index packages from PyPI
python app.py              # Run metadata server on port 5001

Note: End users don't need to run these commands - the default configuration uses api.mlflowplugins.com.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the MIT License. See the LICENSE file for details.

🔗 Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlflow_plugin_manager-0.1.1.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlflow_plugin_manager-0.1.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file mlflow_plugin_manager-0.1.1.tar.gz.

File metadata

  • Download URL: mlflow_plugin_manager-0.1.1.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for mlflow_plugin_manager-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dcda26202737b095e6870c3d1f34b0b3bbf88fe6b38e76d28606ee8a0fc2d9d6
MD5 338818d24c0258353046455b84508268
BLAKE2b-256 cf5ff998c598b80a5622d1af4223d7535cc92a57389e2f4277521a3d548745d0

See more details on using hashes here.

File details

Details for the file mlflow_plugin_manager-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mlflow_plugin_manager-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f68588c524cef10c1fc64e2d840661c8c984144d6e3dc5c9a81b8f47079cd62
MD5 05ba20c8be5cbf6ce32872fe65538e6b
BLAKE2b-256 2f5949f9617f6ee20f565d2710f6540af1d0d8e092a980bc3c60d1e38592d5f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page