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

# data\_designer.engine.processing.processors.schema\_transform

## Module Contents

### Classes

| Name                                                                                                           | Description                                                        |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [`SchemaTransformProcessor`](#data_designerengineprocessingprocessorsschema_transformschematransformprocessor) | Transforms dataset schema using Jinja2 templates after each batch. |

### Functions

| Name                                                                                                       | Description                                             |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [`_escape_value_for_json`](#data_designerengineprocessingprocessorsschema_transform_escape_value_for_json) | Escape a value for safe embedding inside a JSON string. |

### Data

[`logger`](#data_designerengineprocessingprocessorsschema_transformlogger)

### API

```python
logger = getLogger(...)
```

```python
data_designer.engine.processing.processors.schema_transform._escape_value_for_json(value: typing.Any) -> str
```

Escape a value for safe embedding inside a JSON string.

Unlike prompt or expression templates (which produce plain text),
schema transform templates produce JSON. Values interpolated into
a JSON string must be escaped - e.g. quotes and backslashes - so
the rendered output is valid JSON. We pass this as record\_str\_fn
to also enable nested dot access, such as \{\{ col.sub.field }}, on
deserialized JSON columns.

```python
class data_designer.engine.processing.processors.schema_transform.SchemaTransformProcessor(
    config: data_designer.engine.configurable_task.TaskConfigT,
    resource_provider: data_designer.engine.resources.resource_provider.ResourceProvider
)
```

**Bases**: `data_designer.engine.processing.ginja.environment.WithJinja2UserTemplateRendering`, `data_designer.engine.processing.processors.base.Processor[data_designer.config.processors.SchemaTransformProcessorConfig]`

Transforms dataset schema using Jinja2 templates after each batch.

```python
template_as_str: str
```

```python
process_after_batch(
    data: pandas.DataFrame,
    *,
    current_batch_number: int | None
) -> pandas.DataFrame
```

```python
_transform(data: pandas.DataFrame) -> pandas.DataFrame
```