# Compute as code

Author reusable checklist definitions, evaluate compute expressions, and publish derived datasets
with `nominal.experimental.compute_as_code`. This module is experimental and requires
`pip install 'nominal[compute]'`.

For the checklist workflow, see [Authoring checklists as code](https://dev.nominal.io/python/guides/checklists/authoring.md).
The propulsion test-stand script [`deploy_checklist.py`](https://dev.nominal.io/python/_downloads/9fd38892cf523c706423189b62a594b9/deploy_checklist.py) creates and revises
thermal, pressure, and controller checks, evaluates a run, and inspects generated events.

## API Reference

Module: `nominal.experimental.compute_as_code`.

Classes

| [`ChannelBinding`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.ChannelBinding.md#nominal.experimental.compute_as_code.ChannelBinding "nominal.experimental.compute_as_code.ChannelBinding") | A channel resolved relative to the run or asset where a checklist executes. |
| --- | --- |
| [`CheckDefinition`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.CheckDefinition.md#nominal.experimental.compute_as_code.CheckDefinition "nominal.experimental.compute_as_code.CheckDefinition") | A reusable failure condition written in the frontend compute language. |
| [`ChecklistBuilder`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.ChecklistBuilder.md#nominal.experimental.compute_as_code.ChecklistBuilder "nominal.experimental.compute_as_code.ChecklistBuilder") | Collect source checks and publish complete checklist revisions. |

Functions

| [`commit_derived_definition`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.commit_derived_definition.md#nominal.experimental.compute_as_code.commit_derived_definition "nominal.experimental.compute_as_code.commit_derived_definition") | Replace a derived dataset's definition by creating a new commit. |
| --- | --- |
| [`compute_series`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.compute_series.md#nominal.experimental.compute_as_code.compute_series "nominal.experimental.compute_as_code.compute_series") | Compute a derived series by applying a `nominal.compute` expression to a set of channels. |
| [`create_derived_dataset`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.create_derived_dataset.md#nominal.experimental.compute_as_code.create_derived_dataset "nominal.experimental.compute_as_code.create_derived_dataset") | Create a derived dataset defined by a `nominal.compute` graph. |
| [`get_derived_definition`](https://dev.nominal.io/python/ref/generated/nominal.experimental.compute_as_code.get_derived_definition.md#nominal.experimental.compute_as_code.get_derived_definition "nominal.experimental.compute_as_code.get_derived_definition") | Fetch a dataset's derived definition (its compute spec plus the commit that produced it). |
