simdb.remote.models module

Pydantic models for the SimDB remote API.

class simdb.remote.models.BaseModel[source]

Bases: BaseModel

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.ChunkInfo(*, chunk_size: int, chunk: int, num_chunks: int | None = 1)[source]

Bases: BaseModel

Information about a single chunk in a chunked file upload.

chunk : int

Index of the chunk.

chunk_size : int

Length of the chunk.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

num_chunks : int | None

Total amount of chunks in the file.

class simdb.remote.models.ChunkInfoDict(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

Dictionary mapping file UUID hex to chunk info.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : Dict[str, ChunkInfo]
simdb.remote.models.CustomUUID

UUID with custom serialization format.

alias of Annotated[UUID, BeforeValidator(func=_deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~simdb.remote.models., return_type=PydanticUndefined, when_used=always)]

class simdb.remote.models.DeletedSimulation(*, simulation: UUID, files: list[str])[source]

Bases: BaseModel

Reference to a deleted simulation.

files : List[str]

List of deleted file paths.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

simulation : UUID

UUID of the deleted simulation.

class simdb.remote.models.ErrorResponse(*, error: str)[source]

Bases: BaseModel

Response model for server errors.

error : str

Error description.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.FileData(*, type: ~typing.Literal['UNKNOWN', 'UUID', 'FILE', 'IMAS'], uri: str, uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] = <factory>, checksum: str, datetime: ~datetime.datetime, usage: str | None = None, purpose: str | None = None, sensitivity: str | None = None, access: str | None = None, embargo: str | None = None)[source]

Bases: BaseModel

Model representing a file in the system.

access : str | None

Access permissions.

checksum : str

Checksum of the file.

datetime : datetime

Timestamp of the file.

embargo : str | None

Embargo information.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

purpose : str | None

Purpose of the file.

sensitivity : str | None

Sensitivity level of the file.

type : Literal['UNKNOWN', 'UUID', 'FILE', 'IMAS']

File type.

uri : str

URI to the file location.

usage : str | None

File usage description.

uuid : <lambda>, return_type=PydanticUndefined, when_used=always)]

Unique identifier for the file.

class simdb.remote.models.FileDataList(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

List of FileData items.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : List[FileData]
class simdb.remote.models.FileGetDataResponse(*, type: ~typing.Literal['UNKNOWN', 'UUID', 'FILE', 'IMAS'], uri: str, uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] = <factory>, checksum: str, datetime: ~datetime.datetime, usage: str | None = None, purpose: str | None = None, sensitivity: str | None = None, access: str | None = None, embargo: str | None = None, files: ~typing.List[~simdb.remote.models.FileInfo])[source]

Bases: FileData

Response from the get file data endpoint, extending FileData with disk info.

files : List[FileInfo]

List of file info entries for the files on disk.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.FileInfo(*, path: Path, checksum: str)[source]

Bases: BaseModel

Information about a single file on disk.

checksum : str

Checksum of the file.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

path : Path

Path to the file.

class simdb.remote.models.FileRegistrationData(*, simulation: SimulationData, obj_type: Type, files: list[FileRegistrationItem])[source]

Bases: BaseModel

Payload for final file registration after chunk uploads.

files : List[FileRegistrationItem]

List of file registration items.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

obj_type : Type

The type of the data object being registered.

simulation : SimulationData

The simulation the files belong to.

class simdb.remote.models.FileRegistrationItem(*, chunks: int, file_type: str, file_uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=str, when_used=always)], ids_list: ~typing.List[~typing.Any] | None = None)[source]

Bases: BaseModel

A single file entry in the file registration payload.

chunks : int

The amount of chunks to be processed.

file_type : str

The file type.

file_uuid : <lambda>, return_type=str, when_used=always)]

The UUID of the file.

ids_list : List[Any] | None

List of IDS names associated with the file.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.FileRegistrationResponse[source]

Bases: BaseModel

Response from file registration endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.FileUploadData(*, simulation: SimulationData, file_type: str, chunk_info: dict[str, ChunkInfo] | None = None)[source]

Bases: BaseModel

Data payload for file chunk upload (sent as JSON in ‘data’ field).

chunk_info : Dict[str, ChunkInfo] | None

Info about the chunk.

file_type : str

Type of the file.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

simulation : SimulationData

The simulation the file belongs to.

class simdb.remote.models.FileUploadResponse[source]

Bases: BaseModel

Response from file upload/chunk upload endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.FilesGetResponse(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

Response from the get files endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : List[FileData]

List of files.

simdb.remote.models.HexUUID

UUID serialized as a hex string.

alias of Annotated[UUID, PlainSerializer(func=~simdb.remote.models., return_type=str, when_used=always)]

class simdb.remote.models.MetadataData(*, element: str, value: UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] | str | int | float | bool | list | ~simdb.remote.models.RangeValue | dict[str, ~typing.Any] | None)[source]

Bases: BaseModel

Key-value pair for simulation metadata.

as_dict() dict[source]

Convert to dictionary.

as_querystring() str[source]

Convert to URL query string.

classmethod convert_array_to_range(data: Any) Any[source]

Convert numpy arrays and lists containing numeric data to RangeValue.

element : str

Metadata key/name.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

value : Any] | None

Metadata value.

class simdb.remote.models.MetadataDataList(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

List of MetadataData items.

as_dict() dict[source]

Convert all metadata to dictionary.

as_querystring() str[source]

Convert to URL query string.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod parse_dictionary(data: Any)[source]

Parse dictionary to list of MetadataData.

root : List[MetadataData]
class simdb.remote.models.MetadataDeleteData(*, key: str)[source]

Bases: BaseModel

Data for deleting a metadata entry.

key : str

Metadata key to delete.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.MetadataDeleteResponse[source]

Bases: BaseModel

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.MetadataKeyInfo(*, name: str, type: str)[source]

Bases: BaseModel

Information about a metadata key.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name : str

Metadata key name.

type : str

Python type name of the metadata value.

class simdb.remote.models.MetadataKeyInfoList(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

List of metadata key info items.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : List[MetadataKeyInfo]
class simdb.remote.models.MetadataPatchData(*, key: str, value: str)[source]

Bases: BaseModel

Data for patching a metadata entry.

key : str

Metadata key to update.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

value : str

New value for the metadata key.

simdb.remote.models.MetadataValue

Supported types for simulation metadata values. Numpy arrays and regular arrays containing numeric data are automatically converted to RangeValue.

alias of Annotated[UUID, BeforeValidator(func=_deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~simdb.remote.models., return_type=PydanticUndefined, when_used=always)] | str | int | float | bool | list | RangeValue | dict[str, Any] | None

class simdb.remote.models.MetadataValueList(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

List of metadata values for a given key.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : Any] | None]
class simdb.remote.models.PaginatedResponse(*, count: int, page: int, limit: int, results: list[T])[source]

Bases: BaseModel, Generic[T]

Generic paginated response wrapper.

count : int

Total number of items.

limit : int

Number of items per page.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

page : int

Current page number.

results : List[T]

List of results for this page.

class simdb.remote.models.PaginationData(*, limit: int = 100, page: int = 1, sort_by: str = '', sort_asc: bool = False)[source]

Bases: BaseModel

Pagination parameters from request headers.

Fields are populated from HTTP headers. The field aliases match the lowercased header names as provided by Werkzeug / _validate_param. Use model_validate with by_alias=False (the default) or pass a dict with the alias keys; Pydantic will resolve them via the model_config populate_by_name=True setting.

limit : int

Number of items per page.

model_config = {'populate_by_name': True, 'use_attribute_docstrings': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

page : int

Current page number.

sort_asc : bool

Whether to sort ascending.

sort_by : str

Field to sort by.

class simdb.remote.models.RangeValue(*, min: float, max: float)[source]

Bases: BaseModel

A numeric range with min and max bounds.

max : float
min : float
model_config = {'extra': 'forbid', 'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.RootModel(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.SimulationData(*, uuid: UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] = <factory>, alias: str | None = None, datetime: datetime = <factory>, inputs: FileDataList = FileDataList(root=[]), outputs: FileDataList = FileDataList(root=[]), metadata: MetadataDataList = MetadataDataList(root=[]))[source]

Bases: BaseModel

Core simulation data.

alias : str | None

Human-readable alias.

datetime : datetime

Creation timestamp.

inputs : FileDataList

List of input files.

metadata : MetadataDataList

Simulation metadata.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

outputs : FileDataList

List of output files.

uuid : <lambda>, return_type=PydanticUndefined, when_used=always)]

Unique identifier of the simulation.

class simdb.remote.models.SimulationDataResponse(*, uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] = <factory>, alias: str | None = None, datetime: ~datetime.datetime = <factory>, inputs: ~simdb.remote.models.FileDataList = FileDataList(root=[]), outputs: ~simdb.remote.models.FileDataList = FileDataList(root=[]), metadata: ~simdb.remote.models.MetadataDataList = MetadataDataList(root=[]), parents: ~typing.List[~simdb.remote.models.SimulationReference], children: ~typing.List[~simdb.remote.models.SimulationReference])[source]

Bases: SimulationData

Simulation data with parent/child references.

children : List[SimulationReference]

Child simulations.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

parents : List[SimulationReference]

Parent simulations.

class simdb.remote.models.SimulationDeleteResponse(*, deleted: DeletedSimulation)[source]

Bases: BaseModel

Response from DELETE v1.2/simulations/{uuid}.

deleted : DeletedSimulation

Reference to the deleted simulation.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.SimulationListItem(*, uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)], alias: str | None = None, datetime: str, metadata: ~simdb.remote.models.MetadataDataList = MetadataDataList(root=[]))[source]

Bases: BaseModel

Summary of a simulation for list views.

alias : str | None

Alias of the simulation.

datetime : str

Creation timestamp.

metadata : MetadataDataList

Simulation metadata.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

uuid : <lambda>, return_type=PydanticUndefined, when_used=always)]

UUID of the simulation.

class simdb.remote.models.SimulationPatchResponse[source]

Bases: BaseModel

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.SimulationPostData(*, simulation: SimulationData, add_watcher: bool, uploaded_by: str | None = None)[source]

Bases: BaseModel

Data for creating a new simulation.

add_watcher : bool

Whether to add a watcher for this simulation.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

simulation : SimulationData

The simulation data to create.

uploaded_by : str | None

User who uploaded the simulation.

class simdb.remote.models.SimulationPostResponse(*, ingested: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=str, when_used=always)], error: str | None = None, validation: ~simdb.remote.models.ValidationResult | None = None)[source]

Bases: BaseModel

Response from creating a simulation.

error : str | None

Error message if ingestion failed.

ingested : <lambda>, return_type=str, when_used=always)]

UUID of the ingested simulation.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

validation : ValidationResult | None

Validation result.

class simdb.remote.models.SimulationReference(*, uuid: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)], alias: str | None = None)[source]

Bases: BaseModel

Reference to a simulation.

alias : str | None

Alias of the simulation.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

uuid : <lambda>, return_type=PydanticUndefined, when_used=always)]

UUID of the simulation.

class simdb.remote.models.SimulationTraceData(*, uuid: UUID, ~pydantic.functional_validators.BeforeValidator(func=~simdb.remote.models._deserialize_custom_uuid, json_schema_input_type=PydanticUndefined), ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=PydanticUndefined, when_used=always)] = <factory>, alias: str | None = None, datetime: datetime = <factory>, inputs: FileDataList = FileDataList(root=[]), outputs: FileDataList = FileDataList(root=[]), metadata: MetadataDataList = MetadataDataList(root=[]), status: Literal['not validated', 'accepted', 'failed', 'passed', 'deprecated', 'deleted'] | None=None, passed_on: Any | None = None, failed_on: Any | None = None, deprecated_on: Any | None = None, accepted_on: Any | None = None, not_validated_on: Any | None = None, deleted_on: Any | None = None, replaces: SimulationTraceData | None = None, replaces_reason: Any | None = None)[source]

Bases: SimulationData

Simulation data with status history.

accepted_on : Any | None

Timestamp when status changed to accepted.

deleted_on : Any | None

Timestamp when status changed to deleted.

deprecated_on : Any | None

Timestamp when status changed to deprecated.

failed_on : Any | None

Timestamp when status changed to failed.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

not_validated_on : Any | None

Timestamp when status changed to not validated.

passed_on : Any | None

Timestamp when status changed to passed.

replaces : SimulationTraceData | None

Simulation this one replaces.

replaces_reason : Any | None

Reason for replacement.

status : Literal['not validated', 'accepted', 'failed', 'passed', 'deprecated', 'deleted'] | None

Current status of the simulation.

class simdb.remote.models.StagingDirectoryResponse(*, staging_dir: Path)[source]

Bases: BaseModel

Response from the get staging dir endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

staging_dir : Path

Path to the staging dir.

simdb.remote.models.StatusLiteral

String representation of a simulation status

alias of Literal[‘not validated’, ‘accepted’, ‘failed’, ‘passed’, ‘deprecated’, ‘deleted’]

class simdb.remote.models.StatusPatchData(*, status: 'not validated' | 'accepted' | 'failed' | 'passed' | 'deprecated' | 'deleted')[source]

Bases: BaseModel

Post data for updating simulation status.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

status : Literal['not validated', 'accepted', 'failed', 'passed', 'deprecated', 'deleted']

New simulation status.

class simdb.remote.models.T

Type variable for generic paginated responses.

alias of TypeVar(‘T’)

class simdb.remote.models.ValidationResult(*, passed: bool, error: str | None = None)[source]

Bases: BaseModel

Result of simulation validation.

error : str | None

Error message if validation failed.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

passed : bool

Whether validation passed.

class simdb.remote.models.WatcherData(*, username: str, email: str, notification: 'V' | 'R' | 'O' | 'A')[source]

Bases: BaseModel

Payload describing a watcher.

email : str

Email address of the watcher.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

notification : Literal['V', 'R', 'O', 'A']

Notification type of the watcher. Types are: V(alidation), R(evision), O(bsolescence) and A(ll)

username : str

Username of the watcher.

class simdb.remote.models.WatcherDeleteRequest(*, user: str)[source]

Bases: BaseModel

Payload for deleting a watcher from a simulation.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

user : str

Username to delete from the watchers.

class simdb.remote.models.WatcherDeleteResponse(*, removed: WatcherReference)[source]

Bases: BaseModel

Response from the delete watchers endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

removed : WatcherReference

Reference to the deleted wacher.

class simdb.remote.models.WatcherGetResponse(root: RootModelRootType = PydanticUndefined)[source]

Bases: RootModel

Response from the get watchers endpoint.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

root : List[WatcherData]
class simdb.remote.models.WatcherPostRequest(*, user: str | None, email: str | None, notification: 'VALIDATION' | 'REVISION' | 'OBSOLESCENCE' | 'ALL')[source]

Bases: BaseModel

Payload for adding a watcher to a simulation.

email : str | None

Email of the watcher, defaults to the signed in user.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

notification : Literal['VALIDATION', 'REVISION', 'OBSOLESCENCE', 'ALL']

Notificaiton type of the watcher.

user : str | None

Username of the watcher, defaults to the signed in user.

class simdb.remote.models.WatcherPostResponse(*, added: WatcherReference)[source]

Bases: BaseModel

Response from the add watcher endpoint.

added : WatcherReference

The added watcher data.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class simdb.remote.models.WatcherReference(*, simulation: ~uuid.Annotated[~uuid.UUID, ~pydantic.functional_serializers.PlainSerializer(func=~simdb.remote.models.<lambda>, return_type=str, when_used=always)], watcher: str)[source]

Bases: BaseModel

An watcher entry reference.

model_config = {'use_attribute_docstrings': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

simulation : <lambda>, return_type=str, when_used=always)]

Simulation UUID the watcher has been added to.

watcher : str

Username of the added watcher.