simdb.cli.manifest module

class simdb.cli.manifest.AliasValidator(version: int)[source]

Bases: ManifestValidator

Validator for simulation alias.

validate(values: list | dict) None[source]
class simdb.cli.manifest.DataObject(base_path: Path, uri: str)[source]

Bases: object

Simulation data object, either a file, an IDS or an already registered object identifiable by the UUID.

PATH: file:///<PATH> IMAS: imas:<BACKEND>?path=<PATH>

class Type(value)[source]

Bases: Enum

FILE = 3
IMAS = 4
UNKNOWN = 1
UUID = 2
property name : str
type : Type = 1
uri : URI | None = None
class simdb.cli.manifest.DataObjectValidator(version: int, section_name: str)[source]

Bases: ListValuesValidator

Validator for the manifest data objects (inputs or outputs).

validate(values: list | dict) None[source]
class simdb.cli.manifest.DescriptionValidator(version: int)[source]

Bases: ManifestValidator

Validator for simulation description.

class simdb.cli.manifest.DictValuesValidator(version: int, section_name: str | None = None, expected_keys: Iterable | None = None, required_keys: Iterable | None = None)[source]

Bases: ManifestValidator

Class for the validation of dictionary items in the manifest.

expected_keys : Iterable | None
required_keys : Iterable | None
section_name : str | None
validate(values: list | dict) None[source]
class simdb.cli.manifest.InputsValidator(version)[source]

Bases: DataObjectValidator

Validator for the manifest inputs list.

exception simdb.cli.manifest.InvalidAlias[source]

Bases: InvalidManifest

Exception to throw when the alias specified in the manifest is invalid.

exception simdb.cli.manifest.InvalidManifest[source]

Bases: Exception

Exception to throw when a manifest fails to validate.

class simdb.cli.manifest.ListValuesValidator(version: int, section_name: str | None = None, expected_keys: Iterable | None = None, required_keys: Iterable | None = None)[source]

Bases: ManifestValidator

Class for the validation of list items in the manifest.

expected_keys : Iterable | None
required_keys : Iterable | None
section_name : str | None
validate(values: list | dict) None[source]
class simdb.cli.manifest.Manifest[source]

Bases: object

Class to handle reading, writing & validation of simulation manifest files.

property alias : str | None
classmethod from_template() Manifest[source]

Create an empty manifest from a template file.

Returns:

A new manifest object.

property inputs : Iterable[Source]
load(file_path: Path) None[source]

Load a manifest from the given file.

Parameters:
file_path: Path

Path to the file read.

Returns:

None

property manifest_version : int
property metadata : dict
property outputs : Iterable[Sink]
property responsible_name : str | None
save(out_file: TextIO) None[source]

Save the manifest to the given file.

Parameters:
out_file: TextIO

The output text stream to write the manifest to.

Returns:

None

validate() None[source]

Validate the manifest object.

Returns:

None

property version : int
class simdb.cli.manifest.ManifestValidator(version: int)[source]

Bases: object

Base class for validation of manifests.

validate(values: list | dict) None[source]
version : int
class simdb.cli.manifest.MetaDataValidator(version: int)[source]

Bases: ListValuesValidator

Validator for the manifest Metadata list.

forbidden_characters = (':', '=', '#')
validate(values: list | dict) None[source]
class simdb.cli.manifest.OutputsValidator(version)[source]

Bases: DataObjectValidator

Validator for the manifest outputs list.

class simdb.cli.manifest.ResponsibleValidator(version: int)[source]

Bases: ManifestValidator

Validator for simulation Responsible.

class simdb.cli.manifest.Sink(base_path: Path, uri: str)[source]

Bases: DataObject

Simulation data outputs.

class simdb.cli.manifest.Source(base_path: Path, uri: str)[source]

Bases: DataObject

Simulation data inputs.

class simdb.cli.manifest.VersionValidator(version: int)[source]

Bases: ManifestValidator

Validator for manifest version.

validate(values: list | dict) None[source]
class simdb.cli.manifest.WorkflowValidator(version: int)[source]

Bases: DictValuesValidator

Validator for the manifest workflow dictionary.

simdb.cli.manifest.get_loader() type[SafeLoader][source]
simdb.cli.manifest.ndarray_constructor(loader: SafeLoader, node: MappingNode) ndarray[source]