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

# nemoguardrails.imports

Utilities for handling optional dependencies.

## Module Contents

### Functions

| Name                                                                               | Description                                                       |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`check_optional_dependency`](#nemoguardrails-imports-check_optional_dependency)   | Check if an optional dependency is available.                     |
| [`get_optional_dependency`](#nemoguardrails-imports-get_optional_dependency)       | Get an optional dependency using predefined settings.             |
| [`import_optional_dependency`](#nemoguardrails-imports-import_optional_dependency) | Import an optional dependency, inspired by pandas implementation. |
| [`optional_import`](#nemoguardrails-imports-optional_import)                       | Import an optional dependency.                                    |

### Data

[`OPTIONAL_DEPENDENCIES`](#nemoguardrails-imports-OPTIONAL_DEPENDENCIES)

### API

```python
nemoguardrails.imports.check_optional_dependency(
    module_name: str,
    package_name: typing.Optional[str] = None,
    extra: typing.Optional[str] = None
) -> bool
```

Check if an optional dependency is available.

**Parameters:**

The module name to check.

The package name for installation messages (defaults to module\_name).

The name of the extra dependency group.

**Returns:** `bool`

True if the module is available, False otherwise.

```python
nemoguardrails.imports.get_optional_dependency(
    name: str,
    errors: str = 'raise'
) -> typing.Any
```

Get an optional dependency using predefined settings.

**Parameters:**

The module name (should be in OPTIONAL\_DEPENDENCIES).

What to do when a dependency is not found. One of 'raise', 'warn', 'ignore'.

**Returns:** `Any`

The imported module or None.

```python
nemoguardrails.imports.import_optional_dependency(
    name: str,
    extra: typing.Optional[str] = None,
    errors: str = 'raise',
    min_version: typing.Optional[str] = None
) -> typing.Any
```

Import an optional dependency, inspired by pandas implementation.

**Parameters:**

The module name.

The name of the extra dependency group.

What to do when a dependency is not found or its version is too old.
One of 'raise', 'warn', 'ignore'.

Specify a minimum version that is different from the global version.

**Returns:** `Any`

The imported module or None.

```python
nemoguardrails.imports.optional_import(
    module_name: str,
    package_name: typing.Optional[str] = None,
    error: str = 'raise',
    extra: typing.Optional[str] = None
) -> typing.Any
```

Import an optional dependency.

**Parameters:**

The module name to import.

The package name for installation messages (defaults to module\_name).

What to do when dependency is not found. One of "raise", "warn", "ignore".

The name of the extra dependency group.

**Returns:** `Any`

The imported module, or None if not available and error="ignore".

**Raises:**

* `ImportError`: If the module is not available and error="raise".

```python
nemoguardrails.imports.OPTIONAL_DEPENDENCIES = {'openai': 'server', 'langchain': None, 'langchain_openai': None, 'langchain_com...
```