> This page is for version 0.7.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/gym/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/gym/_mcp/server.

# Installation

> Install NeMo Gym and verify your setup.

> **Info**
>
> Python 3.13.14 is required. Refer to [Prerequisites](/get-started/prerequisites) for full system requirements.

Install from PyPI for the quickest setup. Clone from git if you need the latest features and environments, or use a NeMo RL container if you intend to train with NeMo Gym and NeMo RL.

#### PyPI

```bash
python3.13 -m pip install nemo-gym
```

Or with [uv](https://docs.astral.sh/uv/):

```bash
uv venv --python 3.13.14 && source .venv/bin/activate
uv pip install nemo-gym
```

The package includes built-in environments and CLI commands. Config and data paths resolve against the package install location automatically. To pin a release: `python3.13 -m pip install nemo-gym==0.5.1`.

#### Git

```bash
git clone https://github.com/NVIDIA-NeMo/Gym.git
cd Gym
uv venv --python 3.13.14 && source .venv/bin/activate
uv sync
```

#### Container

Container choice depends on your NeMo Gym version and model recipe. See [RL Framework Compatibility](/reference/rl-framework-compatibility) for the full mapping.

### Pre-built NeMo Gym image

NeMo Gym publishes a pre-built container to NGC with each release, tagged with the release version (for example `v0.5.1`):

```bash
docker run --gpus all -it --rm \
  -v "$PWD:/workspace" \
  --shm-size=128g \
  --ipc=host \
  -p 8888:8888 \
  -p 6006:6006 \
  --ulimit memlock=-1 \
  --ulimit stack=67108864 \
  nvcr.io/nvidia/nemo-gym:v0.5.1
```

The image's default entrypoint is `gym`, so it drops you straight into the CLI. To get a shell instead, override the entrypoint:

```bash
docker run --gpus all -it --rm \
  --entrypoint /bin/bash \
  -v "$PWD:/workspace" \
  --shm-size=128g \
  --ipc=host \
  -p 8888:8888 \
  -p 6006:6006 \
  --ulimit memlock=-1 \
  --ulimit stack=67108864 \
  nvcr.io/nvidia/nemo-gym:v0.5.1
```

> **Note**
>
> The image ships the `enroot` sandbox backend along with `nvidia-container-toolkit`,
> so enroot's NVIDIA GPU hook (`/etc/enroot/hooks.d/98-nvidia.sh`) can find
> `nvidia-container-cli` and inject GPUs into enroot sandboxes. If your workload
> doesn't need GPUs inside enroot sandboxes (for example CPU-only
> SWE-bench-style tasks) and you see hook-related errors, you can remove the
> hook: `rm /etc/enroot/hooks.d/98-nvidia.sh`.

### NeMo RL recipe containers

For NeMo Gym **v0.3.0** with the Nemotron 3 Ultra recipe, build the container from the NeMo RL `ultra-v3` branch (there is no pre-built NGC tag for this pairing):

This command uses Docker Buildx and Docker 23+ syntax. By default, Docker builds for your host platform; add `--platform` only if you need to target a different architecture.

```bash
git clone https://github.com/NVIDIA-NeMo/RL
cd RL
git checkout ultra-v3
# See build options in the Nemotron 3 Ultra guide:
# https://github.com/NVIDIA-NeMo/RL/blob/ultra-v3/docs/guides/nemotron-3-ultra.md#container
docker buildx build \
  -f docker/Dockerfile \
  --target release \
  -t nemo-rl-ultra:latest \
  --build-context nemo-rl=. \
  .
```

For other Gym versions and recipes (for example Nemotron 3 Nano), use the container listed in the compatibility table for that pairing.

## Verify Installation

```bash
gym --version
```

You should see output like:

```text
NeMo Gym v0.5.1
Python 3.13.14
Installation: /path/to/Gym
```

## Next Steps

#### [Quickstart](/get-started/quickstart)

Run your first evaluation.