> 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.

# nemo_gym

## Subpackages

* **[`nemo_gym.cli`](/nemo-gym/nemo_gym/cli)**
* **[`nemo_gym.sandbox`](/nemo-gym/nemo_gym/sandbox)**

## Submodules

* **[`nemo_gym.agent_registry`](/nemo-gym/nemo_gym/agent_registry)**
* **[`nemo_gym.anthropic_converter`](/nemo-gym/nemo_gym/anthropic_converter)**
* **[`nemo_gym.anthropic_utils`](/nemo-gym/nemo_gym/anthropic_utils)**
* **[`nemo_gym.base_resources_server`](/nemo-gym/nemo_gym/base_resources_server)**
* **[`nemo_gym.base_responses_api_agent`](/nemo-gym/nemo_gym/base_responses_api_agent)**
* **[`nemo_gym.base_responses_api_model`](/nemo-gym/nemo_gym/base_responses_api_model)**
* **[`nemo_gym.benchmarks`](/nemo-gym/nemo_gym/benchmarks)**
* **[`nemo_gym.cli_setup_command`](/nemo-gym/nemo_gym/cli_setup_command)**
* **[`nemo_gym.config_types`](/nemo-gym/nemo_gym/config_types)**
* **[`nemo_gym.dataset_orchestrator`](/nemo-gym/nemo_gym/dataset_orchestrator)**
* **[`nemo_gym.gitlab_utils`](/nemo-gym/nemo_gym/gitlab_utils)**
* **[`nemo_gym.global_config`](/nemo-gym/nemo_gym/global_config)**
* **[`nemo_gym.hf_utils`](/nemo-gym/nemo_gym/hf_utils)**
* **[`nemo_gym.openai_utils`](/nemo-gym/nemo_gym/openai_utils)**
* **[`nemo_gym.package_info`](/nemo-gym/nemo_gym/package_info)**
* **[`nemo_gym.profiling`](/nemo-gym/nemo_gym/profiling)**
* **[`nemo_gym.prompt`](/nemo-gym/nemo_gym/prompt)**
* **[`nemo_gym.registry`](/nemo-gym/nemo_gym/registry)**
* **[`nemo_gym.responses_converter`](/nemo-gym/nemo_gym/responses_converter)**
* **[`nemo_gym.reward_profile`](/nemo-gym/nemo_gym/reward_profile)**
* **[`nemo_gym.rollout_collection`](/nemo-gym/nemo_gym/rollout_collection)**
* **[`nemo_gym.server_metadata`](/nemo-gym/nemo_gym/server_metadata)**
* **[`nemo_gym.server_status`](/nemo-gym/nemo_gym/server_status)**
* **[`nemo_gym.server_utils`](/nemo-gym/nemo_gym/server_utils)**
* **[`nemo_gym.skills`](/nemo-gym/nemo_gym/skills)**
* **[`nemo_gym.train_data_utils`](/nemo-gym/nemo_gym/train_data_utils)**

## Package Contents

### Functions

| Name                                                                       | Description                                                                      |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [`_resolve_under_cwd_or_install`](#nemo_gym-_resolve_under_cwd_or_install) | Resolve a possibly-relative path for *reading* a built-in or user-supplied file. |
| [`print_always_flushes`](#nemo_gym-print_always_flushes)                   | -                                                                                |

### Data

[`CACHE_DIR`](#nemo_gym-CACHE_DIR)

[`OLD_PRINT`](#nemo_gym-OLD_PRINT)

[`PARENT_DIR`](#nemo_gym-PARENT_DIR)

[`RESULTS_DIR`](#nemo_gym-RESULTS_DIR)

[`ROOT_DIR`](#nemo_gym-ROOT_DIR)

[`WORKING_DIR`](#nemo_gym-WORKING_DIR)

[`_is_editable_install`](#nemo_gym-_is_editable_install)

### API

```python
nemo_gym._resolve_under_cwd_or_install(
    path
) -> pathlib.Path
```

Resolve a possibly-relative path for *reading* a built-in or user-supplied file.

Absolute paths are returned unchanged. A relative path is tried first under the current working
directory (the user's project), then under the Gym install root (`PARENT_DIR`) where built-in
assets live in both editable and wheel installs. This mirrors `config_paths` resolution, so a
repo-relative path like `resources_servers/&lt;env&gt;/data/example.jsonl` resolves by name from any
cwd. If neither exists the cwd candidate is returned so error messages point at the user's cwd.

Use this for read paths only — never for write targets (e.g. metrics written next to a dataset),
which must stay relative to the user's writable cwd rather than the install root.

```python
nemo_gym.print_always_flushes(
    args = (),
    kwargs = {}
) -> None
```

```python
nemo_gym.CACHE_DIR = WORKING_DIR / 'cache'
```

```python
nemo_gym.OLD_PRINT = print
```

```python
nemo_gym.PARENT_DIR = ROOT_DIR.parent
```

```python
nemo_gym.RESULTS_DIR = WORKING_DIR / 'results'
```

```python
nemo_gym.ROOT_DIR = Path(__file__).absolute().parent
```

```python
nemo_gym.WORKING_DIR = PARENT_DIR if _is_editable_install else Path.cwd()
```

```python
nemo_gym._is_editable_install = (PARENT_DIR / 'pyproject.toml').exists()
```