> 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 AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.manifests.config_schema

Building blocks for declaring typed, per-rail configuration.

Rails define their configuration as a `RailConfigBaseModel` (a Pydantic base
that ignores unknown keys) with fields built via `rail_field`.
`RailConfigSpec` describes a single configuration field: its annotation, the
Pydantic `FieldInfo`, and any named values it exports to the runtime.

## Module Contents

### Classes

| Name                                                                                 | Description                                                          |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |
| [`RailConfigBaseModel`](#nemoguardrails-manifests-config_schema-RailConfigBaseModel) | Base model for typed per-rail configuration sections.                |
| [`RailConfigSpec`](#nemoguardrails-manifests-config_schema-RailConfigSpec)           | Typed field definition and exported values for a rail configuration. |

### Functions

| Name                                                               | Description                                                    |
| ------------------------------------------------------------------ | -------------------------------------------------------------- |
| [`rail_field`](#nemoguardrails-manifests-config_schema-rail_field) | Create Pydantic field metadata for a rail configuration field. |

### Data

[`__all__`](#nemoguardrails-manifests-config_schema-__all__)

### API

```python
class nemoguardrails.manifests.config_schema.RailConfigBaseModel()
```

**Bases:** `_PydanticBaseModel`

Base model for typed per-rail configuration sections.

**`model_config`** `= _ConfigDict(extra='ignore')`

---

```python
class nemoguardrails.manifests.config_schema.RailConfigSpec(
    annotation: typing.Any,
    field_info: pydantic.fields.FieldInfo,
    exports: typing.Dict[str, typing.Any] = dict(),
    key: typing.Optional[str] = None
)
```

Dataclass

Typed field definition and exported values for a rail configuration.

**`exports`** `Dict[str, Any] = field(default_factory=dict)`

---

**`field_info`** `FieldInfo`

---

**`key`** `Optional[str] = field(default=None, kw_only=True)`

---

```python
nemoguardrails.manifests.config_schema.rail_field(
    args: typing.Any = (),
    kwargs: typing.Any = {}
) -> pydantic.fields.FieldInfo
```

Create Pydantic field metadata for a rail configuration field.

```python
nemoguardrails.manifests.config_schema.__all__ = ['Discriminator', 'Field', 'PrivateAttr', 'RailConfigBaseModel', 'RailConfigSpec...
```