nemoguardrails.imports

View as Markdown

Utilities for handling optional dependencies.

Module Contents

Functions

NameDescription
check_optional_dependencyCheck if an optional dependency is available.
get_optional_dependencyGet an optional dependency using predefined settings.
import_optional_dependencyImport an optional dependency, inspired by pandas implementation.
optional_importImport an optional dependency.

Data

OPTIONAL_DEPENDENCIES

API

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:

module_name
str

The module name to check.

package_name
Optional[str]Defaults to None

The package name for installation messages (defaults to module_name).

extra
Optional[str]Defaults to None

The name of the extra dependency group.

Returns: bool

True if the module is available, False otherwise.

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

Get an optional dependency using predefined settings.

Parameters:

name
str

The module name (should be in OPTIONAL_DEPENDENCIES).

errors
strDefaults to 'raise'

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

Returns: Any

The imported module or None.

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:

name
str

The module name.

extra
Optional[str]Defaults to None

The name of the extra dependency group.

errors
strDefaults to 'raise'

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

min_version
Optional[str]Defaults to None

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

Returns: Any

The imported module or None.

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:

module_name
str

The module name to import.

package_name
Optional[str]Defaults to None

The package name for installation messages (defaults to module_name).

error
strDefaults to 'raise'

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

extra
Optional[str]Defaults to None

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”.
nemoguardrails.imports.OPTIONAL_DEPENDENCIES = {'openai': 'server', 'langchain': None, 'langchain_openai': None, 'langchain_com...