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

# nemo_curator.stages.text.experimental.translation.utils.async_utils

Small async helpers shared by translation stages.

## Module Contents

### Functions

| Name                                                                                                    | Description                                                       |
| ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`run_async_safe`](#nemo_curator-stages-text-experimental-translation-utils-async_utils-run_async_safe) | Run a coroutine from sync code, even if a loop is already active. |

### Data

[`_T`](#nemo_curator-stages-text-experimental-translation-utils-async_utils-_T)

### API

```python
nemo_curator.stages.text.experimental.translation.utils.async_utils.run_async_safe(
    coro_fn: collections.abc.Callable[[], collections.abc.Coroutine[object, object, nemo_curator.stages.text.experimental.translation.utils.async_utils._T]]
) -> nemo_curator.stages.text.experimental.translation.utils.async_utils._T
```

Run a coroutine from sync code, even if a loop is already active.

```python
nemo_curator.stages.text.experimental.translation.utils.async_utils._T = TypeVar('_T')
```