citrine.resources.experiment_datasource module

class citrine.resources.experiment_datasource.CandidateExperimentSnapshot(*args, **kwargs)

Bases: Serializable[CandidateExperimentSnapshot]

The contents of a candidate experiment within an experiment data source.

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

candidate_id = None

unique Citrine id of the candidate associated with this experiment

Type:

UUID

description = None

description of the experiment

Type:

Optional[str]

name = None

name of the experiment

Type:

str

overrides = None

dictionary of candidate material variable overrides

Type:

dict[str, ExperimentValue]

uid = None

unique Citrine id of this experiment

Type:

UUID

updated_time = None

date and time at which the experiment was updated

Type:

datetime

workflow_id = None

unique Citrine id of the design workflow which produced the associated candidate

Type:

UUID

class citrine.resources.experiment_datasource.ExperimentDataSource(*args, **kwargs)

Bases: Serializable[ExperimentDataSource]

An experiment data source.

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

read() str

Read this experiment data source into a CSV.

Each row will be a single experiement from this data source, and each column is a variable which is overriden in any of the experiements in this data source. If an experiement did not override a variable, its cell will be left empty.

All cells can be deserialized as JSON. Most of them will simply be strings or numbers. But if present,the “Formulation” cell will contain an escaped JSON string, which will deserialize into a mapping from ingredient names to floating-point values.

branch_root_id = None

unique Citrine id of the branch root this data source is associated with

Type:

UUID

create_time = None

date and time at which this data source was created

Type:

datetime

created_by = None

id of the user who created this data source

Type:

UUID

experiments = None

list of experiment data in this data source

Type:

list[CandidateExperimentSnapshot]

uid = None

unique Citrine id of this experiment data source

Type:

UUID

version = None

version of this data source

Type:

int

class citrine.resources.experiment_datasource.ExperimentDataSourceCollection(project_id: UUID, session: Session)

Bases: Collection[ExperimentDataSource]

Represents the collection of all experiment data sources associated with a project.

build(data: dict) ExperimentDataSource

Build an individual experiment result from a dictionary.

delete(uid: UUID | str) Response

Delete a particular element of the collection.

get(uid: UUID | str) ResourceType

Get a particular element of the collection.

list(*, per_page: int = 100, branch_version_id: UUID | str | None = None, version: int | str | None = None) Iterator[ExperimentDataSource]

Paginate over the experiment data sources.

Parameters:
  • per_page (int, optional) – Max number of results to return per page. Default is 100. This parameter is used when making requests to the backend service. If the page parameter is specified it limits the maximum number of elements in the response.

  • branch_version_id (UUID, optional) – Filter the list by the branch version ID.

  • version (Union[int, str], optional) – Filter the list by the data source version. Also accepts “latest”.

Returns:

An iterator that can be used to loop over all matching experiment data sources.

Return type:

Iterator[ExperimentDataSource]

read(datasource: ExperimentDataSource | UUID | str)

Reads the provided experiment data source into a CSV.

If a UUID or str is provided, it’s first retrieved from the platform.

For details on the CSV format, see citrine.resources.experiment_datasource.ExperimentDataSource.read().

register(model: CreationType) CreationType

Create a new element of the collection by registering an existing resource.

update(model: CreationType) CreationType

Update a particular element of the collection.