# RunConfig

```python
class RunConfig:
    id: str
    project_id: str
    columns: list[ColumnSchema]
    scalars: Optional[list[ScalarSchema]] = None
    description: Optional[str] = None
    display_name: Optional[str] = None
    row_id: Optional[list[str]] = None
    components_dag: Optional[dict[str, list[str]]] = None
```

## Fields

<table><thead><tr><th width="240">Argument</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>str</code></td><td>The ID of the RunConfig. RunConfig ID starts with the prefix <code>runcfg_</code></td></tr><tr><td><code>project_id</code></td><td><code>str</code></td><td>The ID of the <a href="project">Project</a> this RunConfig is associated with. </td></tr><tr><td><code>columns</code></td><td><code>list[dict[str, str]]</code></td><td><p>A list of column schema specs for the uploaded data, required keys <code>name</code> and <code>type</code>, optional key <code>component</code> and <code>description</code>.  Example:</p><p><code>columns=[{"name": "pred_proba", "type": "float", "component": "fraud-predictor"}, {"name": "decision", "type": "boolean", "component": "threshold-decision"}, {"name": "requests", "type": "string", "description": "curl request response msg"}]</code></p><p></p><p>See the <a href="../../sdk-functions/run-config/create_run_config#column-schema">column schema</a> section on the <code>dbnl.create_run_config</code> page for more information.</p></td></tr><tr><td><code>scalars</code></td><td><code>list[dict[str, str]]</code></td><td>An optional list of scalar schema specs for the uploaded scalar data, required keys <code>name</code> and <code>type</code>, optional key <code>component</code>, <code>description</code> and <code>greater_is_better</code>. <code>type</code> can be <code>int</code>, <code>float</code>, <code>category</code>, <code>boolean</code>, or <code>string</code>. <code>component</code> is a string that indicates the source of the data. e.g. "component" : "sentiment-classifier" or "component" : "fraud-predictor". Specified components must be present in the <code>components_dag</code> dictionary. <code>greater_is_better</code> is a boolean that indicates if larger values are better than smaller ones. False indicates smaller values are better. None indicates no preference. An example RunConfig scalars: <code>scalars=[{"name": "accuracy", "type": "float", "component": "fraud-predictor"}, {"name": "error_type", "type": "category"}]</code><br><br>Scalar schema is identical to column schema.</td></tr><tr><td><code>description</code></td><td><code>str</code></td><td>An optional description of the RunConfig. Descriptions are limited to 255 characters.</td></tr><tr><td><code>display_name</code></td><td><code>str</code></td><td>An optional display name of the RunConfig.</td></tr><tr><td><code>row_id</code></td><td><code>list[str]</code></td><td>An optional list of the column names that are used as unique identifiers. </td></tr><tr><td><code>components_dag</code></td><td><code>dict[str, list[str]]</code></td><td>An optional dictionary representing the direct acyclic graph (DAG) of the specified components. Every <code>component</code> listed in the <code>columns</code> schema is present in<code>components_dag</code>.</td></tr></tbody></table>

## Supported Functions

[`dbnl.create_run_config`](https://docs.dbnl.com/v0.21.x/using-distributional/python-sdk/sdk-functions/run-config/create_run_config)

[`dbnl.get_run_config`](https://docs.dbnl.com/v0.21.x/using-distributional/python-sdk/sdk-functions/run-config/get_run_config-1)

[`dbnl.get_latest_runconfig`](https://docs.dbnl.com/v0.21.x/using-distributional/python-sdk/sdk-functions/run-config/get_run_config)
