rlgym_learn_backend/
lib.rs

1use pyo3::prelude::*;
2
3pub mod agent_manager;
4pub mod common;
5pub mod communication;
6pub mod env_action;
7pub mod env_process;
8pub mod env_process_interface;
9pub mod serdes;
10pub mod standard_impl;
11
12#[pymodule]
13#[pyo3(name = "rlgym_learn_backend")]
14fn rlgym_learn_backend(m: &Bound<'_, PyModule>) -> PyResult<()> {
15    m.add_function(wrap_pyfunction!(env_process::env_process, m)?)?;
16    m.add_function(wrap_pyfunction!(communication::recvfrom_byte_py, m)?)?;
17    m.add_function(wrap_pyfunction!(communication::sendto_byte_py, m)?)?;
18    m.add_class::<env_process_interface::EnvProcessInterface>()?;
19    m.add_class::<agent_manager::AgentManager>()?;
20    m.add_class::<standard_impl::ppo::gae_trajectory_processor::GAETrajectoryProcessor>()?;
21    m.add_class::<standard_impl::ppo::gae_trajectory_processor::DerivedGAETrajectoryProcessorConfig>()?;
22    m.add_class::<serdes::pyany_serde::PyAnySerdeFactory>()?;
23    m.add_class::<serdes::pyany_serde::DynPyAnySerde>()?;
24    m.add_class::<standard_impl::rocket_league::rocket_league_serde_factory::RocketLeaguePyAnySerdeFactory>()?;
25    m.add_class::<env_action::EnvActionResponse>()?;
26    m.add_class::<env_action::EnvActionResponseType>()?;
27    m.add_class::<env_action::EnvAction>()?;
28    Ok(())
29}