# report\_scalar\_results

<pre class="language-python"><code class="lang-python">dbnl.report_scalar_results(
    *,
    run: <a data-footnote-ref href="#user-content-fn-1">Run</a>,
    Union[dict[str, Any], pd.DataFrame]
) -> None:
</code></pre>

## Parameters

<table><thead><tr><th width="208">Arguments</th><th>Description</th></tr></thead><tbody><tr><td><code>run</code></td><td>The dbnl <a href="../../sdk-objects/run">Run</a> that the results will be reported to.</td></tr><tr><td><code>data</code></td><td>A dict or a single-row <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pandas DataFrame</a> with all the scalar values to report to dbnl. </td></tr></tbody></table>

## Limitations

{% hint style="info" %}
All data should be reported to dbnl at once. Calling `dbnl.report_scalar_results` more than once will overwrite the previously uploaded data.
{% endhint %}

{% hint style="danger" %}
Once a Run is [closed](https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-functions/run/close_run). You can no longer call `report_scalar_results` to send data to DBNL.
{% endhint %}

## Examples

```python
import dbnl
import pandas as pd
dbnl.login()


proj1 = dbnl.get_or_create_project(name="test_p1")
runcfg1 = dbnl.create_run_config(
    project=proj1, 
    columns=[{"name": "error", "type": "float"}],
    scalars=[{"name": "rmse": "type": "float"}],
)
run1 = dbnl.create_run(project=proj1, run_config=runcfg1)
dbnl.report_scalar_results(run=run1, data={"rmse": 0.37})
```

[^1]: [Run](https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-objects/run)
