# commit_derived_definition

## nominal.experimental.compute_as_code.commit_derived_definition(client, dataset, spec, *, message, latest_commit=None)

Replace a derived dataset’s definition by creating a new commit.

Parameters:
:   - **client** ([*NominalClient*](https://dev.nominal.io/python/ref/generated/nominal.core.NominalClient.md#nominal.core.NominalClient "nominal.core.client.NominalClient"))

      The NominalClient to use for the commit.
    - **dataset** ([*Dataset*](https://dev.nominal.io/python/ref/generated/nominal.core.Dataset.md#nominal.core.Dataset "nominal.core.dataset.Dataset") *|* [*str*](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)"))

      The derived dataset, or its RID, whose definition to replace.
    - **spec** (*Dataset*)

      `nominal.compute` graph defining the new derived definition.
    - **message** ([*str*](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)"))

      Commit message describing the change.
    - **latest_commit** ([*str*](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)") *|* *None*)

      If provided, the dataset’s expected current commit, used for optimistic
      concurrency control.

Returns:
:   The newly committed derived definition.

Return type:
:   *DerivedDefinition*
