gmgn 0.2.0

A reinforcement learning environments library for Rust.
Documentation

gmgn — Rust Reinforcement Learning Gymnasium

A pure-Rust library for reinforcement learning environments, inspired by Gymnasium. Designed for zero-cost abstraction and idiomatic Rust ergonomics.

Quick Start (static, generic)

use gmgn::prelude::*;
use gmgn::envs::classic_control::{CartPoleEnv, CartPoleConfig};

let mut env = CartPoleEnv::new(CartPoleConfig::default()).unwrap();
let reset = env.reset(Some(42)).unwrap();

for _ in 0..200 {
    let action = env.action_space().sample(&mut gmgn::rng::create_rng(None));
    let step = env.step(&action).unwrap();
    if step.terminated {
        break;
    }
}

Quick Start (dynamic, registry)

use gmgn::registry::{self, DynValue};

registry::register_builtins();
let mut env = registry::make("CartPole-v1").unwrap();
env.reset_dyn(Some(42)).unwrap();
let step = env.step_dyn(&DynValue::Discrete(1)).unwrap();