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
[]
= "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
Envtrait and explicitVectorEnvtrait for environment bindings. EnvServer/RemoteEnvandVectorEnvServer/RemoteVectorEnvfor serving and connecting to environments.ModelWorkerfor 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:
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
- Project: https://github.com/ArenaX-Labs/rlmesh
- Documentation: https://rlmesh.dev/docs/
- API docs: https://docs.rs/rlmesh
- Python package: https://pypi.org/project/rlmesh/
License
Licensed under either of Apache License, Version 2.0 or the MIT license, at your option. See LICENSE-APACHE and LICENSE-MIT.