Distributed reinforcement learning in JAX, built on the Podracer architectures.
boonta [ˈbuːn.tə]: the Boonta Eve Classic, the podrace Anakin Skywalker wins on Tatooine in The Phantom Menace.
boonta is built to scale reinforcement learning up, in compute and in models. Training plays thousands of environments at once, keeps every device busy and grows from one GPU to a cluster without touching the algorithm. Models scale the same way, from a small network learning CartPole from scratch to LLMs and VLAs fine-tuned as agents, all trained by the same algorithms. And because the algorithm, the environment and the training loop stay out of each other's way, offline data, multi-agent self-play and curricula slot in without rewriting anything.
🏎️ Anakin is for JAX environments. Acting, stepping and learning compile into one program that runs on every device.
🔧 Sebulba is for slow or non-JAX environments. Actors collect rollouts on some devices while learners train on the rest.
📼 Quadinaros is for offline RL and BC. It trains on a fixed dataset and only steps the environment to evaluate.
Algorithms
Environments
Curricula
boonta is not on PyPI. Install it from a checkout with uv:
git clone https://github.com/noahfarr/boonta && cd boonta
uv sync # the library
uv sync --extra hangar # the library, plus Hydra to run the configs in hangar
The library never imports hangar, Hydra or OmegaConf. Environment suites that need their own packages come as extras too, such as craftax. uv sync installs exactly the extras it is given, so pass every one you use in one command, for example uv sync --extra hangar --extra craftax.
quadinaros, and how to add a datasetDistributed reinforcement learning in JAX, built on the Podracer architectures.
boonta [ˈbuːn.tə]: the Boonta Eve Classic, the podrace Anakin Skywalker wins on Tatooine in The Phantom Menace.
boonta is built to scale reinforcement learning up, in compute and in models. Training plays thousands of environments at once, keeps every device busy and grows from one GPU to a cluster without touching the algorithm. Models scale the same way, from a small network learning CartPole from scratch to LLMs and VLAs fine-tuned as agents, all trained by the same algorithms. And because the algorithm, the environment and the training loop stay out of each other's way, offline data, multi-agent self-play and curricula slot in without rewriting anything.
🏎️ Anakin is for JAX environments. Acting, stepping and learning compile into one program that runs on every device.
🔧 Sebulba is for slow or non-JAX environments. Actors collect rollouts on some devices while learners train on the rest.
📼 Quadinaros is for offline RL and BC. It trains on a fixed dataset and only steps the environment to evaluate.
Algorithms
Environments
Curricula
boonta is not on PyPI. Install it from a checkout with uv:
git clone https://github.com/noahfarr/boonta && cd boonta
uv sync # the library
uv sync --extra hangar # the library, plus Hydra to run the configs in hangar
The library never imports hangar, Hydra or OmegaConf. Environment suites that need their own packages come as extras too, such as craftax. uv sync installs exactly the extras it is given, so pass every one you use in one command, for example uv sync --extra hangar --extra craftax.
quadinaros, and how to add a dataset