Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JAX
  3. gymnax

gymnax

Apache-2.0Pythonv0.0.8

A JAX-based library providing accelerated reinforcement learning environments with full compatibility to the classic gym API.

GitHubGitHub
910 stars99 forks0 contributors

What is gymnax?

Gymnax is a JAX-based library that provides accelerated reinforcement learning environments compatible with the OpenAI Gym API. It solves the problem of slow CPU-based environment simulation by leveraging JAX's just-in-time compilation and vectorization capabilities, enabling massively parallel rollouts for faster RL experimentation.

Target Audience

Reinforcement learning researchers and practitioners who need high-throughput environment simulation for tasks like meta-learning, evolutionary optimization, or large-scale policy evaluation, particularly those already working within the JAX ecosystem.

Value Proposition

Developers choose Gymnax for its unique combination of full Gym API compatibility with JAX-native acceleration, allowing them to easily port existing workflows while gaining orders-of-magnitude speed improvements through batched and compiled environment execution.

Overview

RL Environments in JAX 🌍

Use Cases

Best For

  • Running high-throughput RL experiments with massive environment parallelization
  • Meta-reinforcement learning research requiring explicit control over environment parameters
  • Evolutionary strategy optimization where population evaluation benefits from vectorization
  • Benchmarking RL algorithms with accelerated classic control and MinAtar environments
  • Educational purposes for learning JAX-based RL with a familiar gym interface
  • Implementing the Anakin architecture for fully accelerated agent-environment loops

Not Ideal For

  • Projects relying on environments not implemented in JAX, such as complex 3D simulations or proprietary robotics suites
  • Teams with existing RL workflows deeply integrated with TensorFlow or PyTorch without JAX interoperability needs
  • Applications requiring real-time environment interaction without upfront compilation overhead, like interactive demos or rapid prototyping with diverse, unsupported environments

Pros & Cons

Pros

JAX Native Acceleration

Leverages JAX's jit, vmap, and pmap for compiled, batched rollouts, enabling massive parallelization—benchmarks show 1M steps in under 0.1 seconds on an A100 for classic control tasks.

Familiar Gym API

Maintains a drop-in compatible interface with reset and step functions, easing adoption for users experienced with OpenAI Gym without sacrificing JAX benefits.

Explicit Functional Control

Provides fine-grained control over random seeds and environment parameters via env_params, facilitating reproducible research and meta-RL experiments as highlighted in the examples.

Built-in Visualization Tools

Includes a Visualizer class that generates GIF animations from state sequences, covering classic_control and MinAtar environments for easy result sharing.

Cons

Limited Environment Ecosystem

Focuses on reimplementations of classic control, bsuite, and MinAtar—lacks support for modern, complex environments like full Atari suites or physics simulators found in Brax, limiting scope for broader RL research.

JAX Learning Curve

Requires familiarity with JAX's functional programming model and accelerator setup; the README assumes users are comfortable with jit and vmap, which can be a barrier for those new to the ecosystem.

Experimental Features

Some components, like the RolloutWrapper for batch evaluation, are marked as 'work-in-progress' in the README, indicating instability or incomplete functionality for production use.

Frequently Asked Questions

Quick Stats

Stars910
Forks99
Contributors0
Open Issues27
Last commit3 months ago
CreatedSince 2020

Tags

#parallel-computing#jax#meta-learning#hardware-acceleration#evolutionary-algorithms#machine-learning#reinforcement-learning

Built With

J
JAX
P
Python

Included in

JAX2.1k
Auto-fetched 5 hours ago

Related Projects

ALXALX

Google Research

Stars38,426
Forks8,461
Last commit1 day ago
OryxOryx

Probabilistic reasoning and statistical analysis in TensorFlow

Stars4,421
Forks1,125
Last commit16 days ago
BRAXBRAX

Massively parallel rigidbody physics simulation on accelerator hardware.

Stars3,208
Forks345
Last commit15 days ago
MctxMctx

Monte Carlo tree search in JAX

Stars2,645
Forks208
Last commit15 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub