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].
-
model_config =
-
class simdb.remote.models.ChunkInfo(*, chunk_size: int, chunk: int, num_chunks: int | None =
1)[source]¶ Bases:
BaseModelInformation about a single chunk in a chunked file upload.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
-
class simdb.remote.models.ChunkInfoDict(root: RootModelRootType =
PydanticUndefined)[source]¶ Bases:
RootModelDictionary 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].
-
model_config =
- 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:
BaseModelReference to a deleted simulation.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.ErrorResponse(*, error: str)[source]¶
Bases:
BaseModelResponse model for server errors.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- 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:
BaseModelModel representing a file in the system.
-
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)]¶
Unique identifier for the file.
-
model_config =
-
class simdb.remote.models.FileDataList(root: RootModelRootType =
PydanticUndefined)[source]¶ Bases:
RootModelList of FileData items.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- 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:
FileDataResponse from the get file data endpoint, extending FileData with disk info.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.FileInfo(*, path: Path, checksum: str)[source]¶
Bases:
BaseModelInformation about a single file on disk.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.FileRegistrationData(*, simulation: SimulationData, obj_type: Type, files: list[FileRegistrationItem])[source]¶
Bases:
BaseModelPayload 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].
- 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:
BaseModelA single file entry in the file registration payload.
- file_uuid : <lambda>, return_type=str, when_used=always)]¶
The UUID of 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:
BaseModelResponse from file registration endpoint.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
-
class simdb.remote.models.FileUploadData(*, simulation: SimulationData, file_type: str, chunk_info: dict[str, ChunkInfo] | None =
None)[source]¶ Bases:
BaseModelData payload for file chunk upload (sent as JSON in ‘data’ field).
-
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.
-
model_config =
- class simdb.remote.models.FileUploadResponse[source]¶
Bases:
BaseModelResponse 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].
-
model_config =
-
class simdb.remote.models.FilesGetResponse(root: RootModelRootType =
PydanticUndefined)[source]¶ Bases:
RootModelResponse 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].
-
model_config =
- 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:
BaseModelKey-value pair for simulation metadata.
- classmethod convert_array_to_range(data: Any) Any[source]¶
Convert numpy arrays and lists containing numeric data to RangeValue.
-
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:
RootModelList of MetadataData items.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- root : List[MetadataData]¶
-
model_config =
- class simdb.remote.models.MetadataDeleteData(*, key: str)[source]¶
Bases:
BaseModelData for deleting a metadata entry.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- 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].
-
model_config =
- class simdb.remote.models.MetadataKeyInfo(*, name: str, type: str)[source]¶
Bases:
BaseModelInformation about a metadata key.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
-
class simdb.remote.models.MetadataKeyInfoList(root: RootModelRootType =
PydanticUndefined)[source]¶ Bases:
RootModelList 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]¶
-
model_config =
- class simdb.remote.models.MetadataPatchData(*, key: str, value: str)[source]¶
Bases:
BaseModelData for patching a metadata entry.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- 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:
RootModelList 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]¶
-
model_config =
- class simdb.remote.models.PaginatedResponse(*, count: int, page: int, limit: int, results: list[T])[source]¶
-
Generic paginated response wrapper.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
-
class simdb.remote.models.PaginationData(*, limit: int =
100, page: int =1, sort_by: str ='', sort_asc: bool =False)[source]¶ Bases:
BaseModelPagination parameters from request headers.
Fields are populated from HTTP headers. The field aliases match the lowercased header names as provided by Werkzeug /
_validate_param. Usemodel_validatewithby_alias=False(the default) or pass a dict with the alias keys; Pydantic will resolve them via themodel_configpopulate_by_name=Truesetting.-
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].
-
model_config =
- class simdb.remote.models.RangeValue(*, min: float, max: float)[source]¶
Bases:
BaseModelA numeric range with min and max bounds.
-
model_config =
{'extra': 'forbid', 'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
-
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].
-
model_config =
- 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:
BaseModelCore simulation data.
- 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:
SimulationDataSimulation 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:
BaseModelResponse 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:
BaseModelSummary of a simulation for list views.
- 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].
-
model_config =
-
class simdb.remote.models.SimulationPostData(*, simulation: SimulationData, add_watcher: bool, uploaded_by: str | None =
None)[source]¶ Bases:
BaseModelData for creating a new 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.
-
model_config =
- 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:
BaseModelResponse from creating a simulation.
- 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:
BaseModelReference to a 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.
-
model_config =
- 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:
SimulationDataSimulation data with status history.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- replaces : SimulationTraceData | None¶
Simulation this one replaces.
-
model_config =
- class simdb.remote.models.StagingDirectoryResponse(*, staging_dir: Path)[source]¶
Bases:
BaseModelResponse 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].
-
model_config =
- 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:
BaseModelPost 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].
-
model_config =
- 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:
BaseModelResult of simulation validation.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.WatcherData(*, username: str, email: str, notification: 'V' | 'R' | 'O' | 'A')[source]¶
Bases:
BaseModelPayload describing a watcher.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.WatcherDeleteRequest(*, user: str)[source]¶
Bases:
BaseModelPayload 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].
-
model_config =
- class simdb.remote.models.WatcherDeleteResponse(*, removed: WatcherReference)[source]¶
Bases:
BaseModelResponse 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.
-
model_config =
-
class simdb.remote.models.WatcherGetResponse(root: RootModelRootType =
PydanticUndefined)[source]¶ Bases:
RootModelResponse 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]¶
-
model_config =
- class simdb.remote.models.WatcherPostRequest(*, user: str | None, email: str | None, notification: 'VALIDATION' | 'REVISION' | 'OBSOLESCENCE' | 'ALL')[source]¶
Bases:
BaseModelPayload for adding a watcher to a simulation.
-
model_config =
{'use_attribute_docstrings': True}¶ Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
model_config =
- class simdb.remote.models.WatcherPostResponse(*, added: WatcherReference)[source]¶
Bases:
BaseModelResponse 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:
BaseModelAn 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.
-
model_config =