Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MongoDB Backend for MLflow Registered Models

[WARNING] This project is under active development and has not reached a stable release. APIs, storage formats, and configuration may change at any time without notice. It is not intended for production use. See LICENSE for the full disclaimer of warranties.

An MLflow plugin that stores registered models, versions, aliases, tags, and related metadata in MongoDB. MLflow tracking data, such as experiments and runs, remains in a separate backend store.

Installation

Python 3.10 or newer, MLflow 3.1 or newer, and a MongoDB deployment are required.

python -m pip install "mlflow-mongodb>=0.1.0.dev0"

Running MLflow

The tracking store and registered-model store are configured independently. For example, the following configuration keeps experiments and runs in SQLite and stores registered models and their versions in MongoDB:

export TRACKING_STORE_URI="sqlite:///tracking.db"
export REGISTRY_STORE_URI="mongodb://localhost:27017/mlflow_registry"
export MLFLOW_BIND_HOST="127.0.0.1"
export MLFLOW_BIND_PORT="5000"

mlflow server \
  --backend-store-uri "${TRACKING_STORE_URI}" \
  --registry-store-uri "${REGISTRY_STORE_URI}" \
  --host "${MLFLOW_BIND_HOST}" \
  --port "${MLFLOW_BIND_PORT}"

Open http://127.0.0.1:5000 to use the MLflow UI. Clients can connect to the server with:

export MLFLOW_TRACKING_URI="http://127.0.0.1:5000"

The MongoDB URI must include the database name; mlflow_registry is the database name in the example above. Authentication, replica-set, TLS, and other connection options can be provided using standard MongoDB URI syntax. For example:

mongodb://username:password@mongo.example.com:27017/mlflow_registry?authSource=admin

Documentation

New to MLflow? Start with the MLflow Tracking Quickstart. The following guides provide additional context for using this plugin:

Versioning

This project follows Semantic Versioning (MAJOR.MINOR.PATCH), same as MLflow itself. It's currently on major version 0, meaning the API isn't yet stable and may change between releases. main always carries a .devN version (e.g. 0.1.0.dev0) to signal it's unreleased and ahead of the latest published version.

Contributor setup

For development, clone the repository and install it in editable mode:

git clone https://github.com/mongodb-developer/mlflow-mongodb.git
cd mlflow-mongodb

python -m venv .venv
source .venv/bin/activate
python -m pip install -e .

If you downloaded a source archive instead, extract it and run the venv and pip commands from the extracted repository root. The final . in pip install -e . means “install the project in the current directory,” and -e keeps the installation linked to that source checkout.

Install the development dependencies and Git hooks with:

python -m pip install -e ".[dev]"
pre-commit install --install-hooks

Run all formatting, linting, and repository checks with:

pre-commit run --all-files

Functional tests

The functional tests use a real MongoDB 8.0 or newer server. Install the project in editable mode with its development dependencies before running them:

python -m pip install -e ".[dev]"

Set MONGODB_URI to a dedicated test database. The database name must contain test as a distinct hyphen- or underscore-separated segment; for example:

export MONGODB_URI="mongodb://localhost:27017/mlflow_functional_test"
python -m pytest tests/functional

Authentication, replica-set, TLS, and other standard MongoDB URI options can be included in MONGODB_URI. Use a replica set when running tests that exercise MongoDB transactions.

The functional suite deletes documents from its application collections after every test so their indexes can be reused. At the end of the test session, it drops the database selected by MONGODB_URI. Never point MONGODB_URI at a database containing data that must be preserved.

Release files for mlflow-mongodb 0.1.0.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlflow-mongodb 0.1.0.dev0
File Size Uploaded
mlflow_mongodb-0.1.0.dev0.tar.gz 27.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlflow-mongodb 0.1.0.dev0
File Interpreter ABI Platform
mlflow_mongodb-0.1.0.dev0-py3-none-any.whl Python 3 none any Details

Total release size: 56.9 kB

Release files / mlflow_mongodb-0.1.0.dev0.tar.gz

Download URL mlflow_mongodb-0.1.0.dev0.tar.gz
Size 27.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e12b00af8ef7c147c350efa702c075e5789a3d57b922ae0bbc1582d7ed5dd288
BLAKE2b-256 checksum
How to use checksums
2862398d4e72ce326916b78e7fcd34eee46bdf77b2fbf9e7c9944cbe1a203d7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / mlflow_mongodb-0.1.0.dev0-py3-none-any.whl

Download URL mlflow_mongodb-0.1.0.dev0-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ce20cbd361990a2da3e8026ecce1232da6f5a3fe4e99662689361ba1ad131b4
BLAKE2b-256 checksum
How to use checksums
9d6783634d1018acba711f2c6b5aa1b2ddb9ae364493ff70078d8e3b45567707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0.dev0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page