#rest-api-client #server-api #async #latest #experiment #mlflow

trs-mlflow

This crate contains an asynchronous client which implements 2.0 REST API of MlFlow server

31 releases

new 0.7.0 Apr 9, 2026
0.6.7 Nov 24, 2025
0.6.6 Jun 18, 2025
0.6.0 Mar 16, 2025
0.5.1 Dec 31, 2024

#9 in #latest

Download history 178/week @ 2025-12-17 34/week @ 2025-12-24 71/week @ 2025-12-31 60/week @ 2026-01-07 93/week @ 2026-01-14 83/week @ 2026-01-21 222/week @ 2026-01-28 120/week @ 2026-02-04 65/week @ 2026-02-11 56/week @ 2026-02-18 144/week @ 2026-02-25 288/week @ 2026-03-04 293/week @ 2026-03-11 341/week @ 2026-03-18 437/week @ 2026-03-25 455/week @ 2026-04-01

1,553 downloads per month

MIT license

75KB
2K SLoC

This crate contains an unofficial asynchronous mlflow client which uses 2.0 API.

The whole API description can be found here: https://mlflow.org/docs/latest/rest-api.html

Usage example:

use trs_mlflow::{run::CreateRun, Client};

let client = Client::new("http://localhost:5000/api");

let experiment_id = client
    .create_experiment(&"foo", vec![])
    .await
    .expect("BUG: Cannot create experiment");

let create = CreateRun::new()
    .run_name("bar")
    .experiment_id(&experiment_id)
    .build();

let run = client
    .create_run(create)
    .await
    .expect("BUG: Cannot create run");

Testing

If you want to run tests you need to run MlFlow server locally, which can be done by running this command:

./server/run.sh

This command creates a new venv, installs server and then runs it.

Disclaimer

This is heavy WIP crate as I'm still trying to figure out how to wrap some API methods.


trs-mlflow

This crate contains an asynchronous client which implements 2.0 REST API of MlFlow server.

The whole api description can be found here: https://mlflow.org/docs/latest/rest-api.html

Usage example:

use trs_mlflow::{run::CreateRun, Client};

let client = Client::new("http://localhost:5000/api");

let experiment_id = client
    .create_experiment(&"foo", vec![])
    .await
    .expect("BUG: Cannot create experiment");

let create = CreateRun::new()
    .run_name("bar")
    .experiment_id(&experiment_id)
    .build();

let run = client
    .create_run(create)
    .await
    .expect("BUG: Cannot create run");

If you want to run tests you need to run MlFlow server locally, which can be done by running this command:

./server/run.sh

This command creates a new venv, installs server and then runs it.

License: MIT

Dependencies

~14–24MB
~338K SLoC