rlmesh 0.1.0

Internal RLMesh crate (unstable Rust API): Rust bindings for model-environment evaluation; build on the rlmesh Python package.
Documentation

rlmesh

Rust crate for serving RLMesh environments and connecting Rust evaluators.

This is the Rust-side surface we intend to stabilize. It is not stable yet and carries no compatibility promise for now, but stabilizing it is a near-term goal. Most users should install the rlmesh Python package instead; reach for this crate to work directly against the Rust layer.

Installation

[dependencies]
rlmesh = "0.1.0"

Env, VectorEnv, and ModelHandler are async-trait traits: annotate your impls with #[rlmesh::async_trait], the macro this crate re-exports. If you would rather name the macro directly, add async-trait = "0.1" beside rlmesh and use #[async_trait::async_trait].

What it provides

  • The scalar Env trait and explicit VectorEnv trait for environment bindings.
  • EnvServer / RemoteEnv and VectorEnvServer / RemoteVectorEnv for serving and connecting to environments.
  • ModelWorker for model-side workflows.
  • Re-exported space, value, lifecycle, and error types used by the SDK.

Examples

Two runnable examples mirror the Python quickstart. Serve an environment, then drive it from another process:

cargo run -p rlmesh --example serve_env    # host a CounterEnv on 127.0.0.1:5555
cargo run -p rlmesh --example run_model    # connect a model and run three episodes

The boundary is language-neutral, so the same server also accepts the Python client in examples/python/quickstart/eval.py, and a Rust run_model can drive a Python environment.

Status

This is the Rust-side surface we intend to stabilize. It is not stable yet and carries no compatibility promise for now, but stabilizing it is a near-term goal. Until then, build on the rlmesh Python package; see the compatibility policy.

Links

License

Licensed under either of Apache License, Version 2.0 or the MIT license, at your option. See LICENSE-APACHE and LICENSE-MIT.