Skip to content

Releases

mlflow-mongodb 0.1.0

Choose a tag to compare

@atandon2024 atandon2024 released this 05 Nov 17:41
2a29260

First generally available release of the MongoDB for MLflow. The plugin stores MLflow tracking data (experiments, runs, traces, and logged models) and model registry data (registered models, versions, aliases, tags, and prompts) in MongoDB. The two stores are configured independently, so either one can use MongoDB while the other uses a different MLflow backend.

python -m pip install mlflow-mongodb

Point mlflow server --backend-store-uri and --registry-store-uri at a mongodb:// or mongodb+srv:// URI that includes a database name. An Atlas connection string works unchanged.

Documentation: Get Started with the MLflow Integration in the Atlas docs walks through configuring MLflow with Atlas, logging a run, registering a model, and capturing traces. The README covers self-managed MongoDB, trace storage per MLflow version, and release verification.

Highlights

  • Tracking store. Experiments, runs, params, metrics with full step history, tags, run inputs and outputs, and logged models, with search and pagination that follow MLflow's filter syntax.
  • Tracing. Span ingestion, trace metadata and lifecycle, trace search with pagination, standalone assessments, and aggregated trace metrics (MLflow 3.9 or newer).
  • Model registry. Registered models, model versions, tags, aliases, latest-version lookup, and prompts, including linking prompt versions to runs, models, and traces.
  • Atlas and self-managed MongoDB. Standard MongoDB URI options for authentication, replica sets, and TLS. No transactions, sessions, or server-side JavaScript are required.
  • Signed, reproducible releases. Distributions are published to PyPI through trusted publishing and attached to the GitHub release with detached GPG signatures and a SHA256SUMS file (see "Verifying this release").

Supported versions

Component Minimum Tested up to
Python 3.11 3.14
MLflow 3.5 3.17
PyMongo 4.0 4.19
MongoDB 8.0 8.0

MLflow 4.x is not supported. Every pull request and release is tested against both the minimum and the latest of these combinations.

Changes since 0.1.0b2

Tracking and tracing

  • Added run search and pagination, logged-model search, and logged-model lifecycle and finalization, including logging parameters to existing logged models.
  • Added trace search and pagination, aggregated trace metrics, standalone assessment operations, span ingestion with trace summaries, and trace metadata reads and lifecycle.
  • Run and logged-model metric histories are now stored by scope so the two cannot collide.
  • Repeated metric deliveries are idempotent, and run batches are validated atomically before any metric history is written.
  • Metric infinity handling matches MLflow's SQLAlchemy store.
  • Experiment deletion and restoration cascade to the experiment's runs.
  • Span trace tags update correctly across batches, and remaining trace summaries are refreshed after a batch failure.
  • Run and registry search cursors are closed explicitly.

Model registry

  • Membership filters (IN, NOT IN) are supported in registry searches.
  • Alias validation works on MLflow 3.18, which renamed the internal validator helpers (#24).
  • Model-version error messages no longer echo unsupported tracking URIs (#20).

Datasets

  • Range comparisons on string dataset attributes and pattern matching on numeric attributes.
  • Empty evaluation-dataset searches return an empty page instead of failing.

Packaging and compatibility

  • Python 3.11 is now the minimum; Python 3.10 is no longer supported (#17).
  • MLflow 3.5.0 remains the minimum; MLflow 4.x is excluded by the dependency pin.
  • The package is marked Production/Stable.

Release pipeline and supply chain

  • Release distributions are signed with MongoDB's Garasign service and published with a SHA256SUMS file (#22).
  • The release workflow tests the built wheel in a clean environment before publishing, pins actions by SHA, runs zizmor, and uses Dependabot for action updates (#18).

Documentation

  • README rewritten for GA: supported-version matrix, Atlas connection examples, trace storage notes per MLflow version, release verification steps, and contributor setup (#23).

Known limitations

  • MLflow 4.x is not supported.

Verifying this release

Download the wheel or sdist, its .sig, and SHA256SUMS from this release, then:

curl -sSLO https://pgp.mongodb.com/ai-builder-experience.pub
gpg --import ai-builder-experience.pub
sha256sum -c SHA256SUMS --ignore-missing
gpg --verify mlflow_mongodb-0.1.0-py3-none-any.whl.sig mlflow_mongodb-0.1.0-py3-none-any.whl

Expect Good signature from "ai-builder-experience <packaging@mongodb.com>" with fingerprint 6E33 09C7 3676 2845 73EC 0E52 5994 2DBC 12A6 CD89.

0.1.0b2: Release Notes

Pre-release

Choose a tag to compare

@atandon2024 atandon2024 released this 21 Oct 23:00

Updates to the README

  • The README now covers both MongoDB stores: tracking data (experiments, runs, traces and logged models) and model registry data (registered models, versions, aliases, tags and prompts). It previously described a registry-only plugin.
  • The minimum MongoDB version is now stated in Installation: MongoDB 8.0 or newer.
  • The install command is pinned to mlflow-mongodb>=0.1.0b2.

Beta release v0.1.0b1

Beta release v0.1.0b1 Pre-release
Pre-release

Choose a tag to compare

@caseyclements caseyclements released this 21 Oct 21:38
064aa3a

Caution

  • Pre-release — not yet recommended for production use; APIs and storage format may still change.
  • Trace retrieval behavior differs slightly between MLflow 3.5 and 3.6+ servers (see README).

Highlights

  • Full tracking store: experiments, runs, metrics/params/tags (batch, sync/async), run inputs/outputs, traces (spans, tags, aggregated metrics), logged models.
  • Full model registry store: registered models, versions, tags, aliases, latest versions.
  • Prompt support: create/version/tag/alias prompts, and link prompt versions to runs, models, and traces.
  • Requires MLflow 3.5+ (<4), Python 3.10+, MongoDB 8.0+.
  • Reports driver name/version to MongoDB via client metadata.

v0.1.0.dev0: Merge pull request #3 from caseyclements/prepare-to-publish

Choose a tag to compare

@caseyclements caseyclements released this 25 Sep 21:37
c3db7c9

Initial development release.