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

# nemo_relay.scope

> Scope stack operations.

Generated from `python/nemo_relay/scope.py`.

Module `nemo_relay.scope`.

Scope stack operations.

## Functions

### `get_handle`

```python
def get_handle() -> ScopeHandle
```

Return the current top-of-stack `ScopeHandle`.

### `push`

```python
def push(name: str, scope_type: ScopeType, *, handle: ScopeHandle | None = None, attributes: ScopeAttributes | None = None, data: Json | None = None, metadata: Json | None = None, input: Json | None = None, timestamp: datetime | None = None) -> ScopeHandle
```

Push a new child scope and return its handle.

### `pop`

```python
def pop(handle: ScopeHandle, *, output: Json | None = None, timestamp: datetime | None = None) -> None
```

Pop a scope previously returned by `push()` or `scope()`.

### `event`

```python
def event(name: str, *, handle: ScopeHandle | None = None, data: Json | None = None, metadata: Json | None = None, timestamp: datetime | None = None) -> None
```

Emit a `Mark` event under the current or provided scope.

### `scope`

```python
def scope(name: str, scope_type: ScopeType, *, handle: ScopeHandle | None = None, attributes: ScopeAttributes | None = None, data: Json | None = None, metadata: Json | None = None, input: Json | None = None, timestamp: datetime | None = None, end_timestamp: datetime | None = None) -> Iterator[ScopeHandle]
```

Create a scope for the duration of a `with` block.