pydra.engine.specs module
Task I/O specifications.
- class pydra.engine.specs.BaseSpec[source]
Bases:
object
The base dataclass specs for all inputs and outputs.
- check_fields_input_spec()[source]
Check fields from input spec based on the medatada.
e.g., if xor, requires are fulfilled, if value provided when mandatory.
- property hash
- class pydra.engine.specs.FunctionSpec[source]
Bases:
BaseSpec
Specification for a process invoked from a shell.
- class pydra.engine.specs.LazyField(*, name: str, field: str, type: Type[T] | Any, splits=_Nothing.NOTHING, cast_from: Type[Any] | None = None)[source]
Bases:
Generic
[T
]Lazy fields implement promises.
- cast(new_type: Type[T] | Any) LazyField [source]
“casts” the lazy field to a new type
- Parameters:
new_type (type) – the type to cast the lazy-field to
- Returns:
cast_field – a copy of the lazy field with the new type
- Return type:
- classmethod sanitize_splitter(splitter: str | Tuple[str, ...], strip_previous: bool = True) Tuple[Tuple[str, ...], ...] [source]
Converts the splitter spec into a consistent tuple[tuple[str, …], …] form used in LazyFields
- split(splitter: str | Tuple[str, ...]) LazyField [source]
“Splits” the lazy field over an array of nodes by replacing the sequence type of the lazy field with StateArray to signify that it will be “split” across
- Parameters:
splitter (str or ty.Tuple[str, …] or ty.List[str]) – the splitter to append to the list of splitters
- class pydra.engine.specs.LazyIn(task: core.TaskBase)[source]
Bases:
LazyInterface
- class pydra.engine.specs.LazyInField(*, name: str, field: str, type: Type[T] | Any, splits=_Nothing.NOTHING, cast_from: Type[Any] | None = None)[source]
Bases:
LazyField
[T
]- attr_type = 'input'
- get_value(wf: Workflow, state_index: int | None = None) Any [source]
Return the value of a lazy field.
- Parameters:
wf (Workflow) – the workflow the lazy field references
state_index (int, optional) – the state index of the field to access
- Returns:
value – the resolved value of the lazy-field
- Return type:
Any
- class pydra.engine.specs.LazyInterface(task: core.TaskBase)[source]
Bases:
object
- class pydra.engine.specs.LazyOut(task: core.TaskBase)[source]
Bases:
LazyInterface
- class pydra.engine.specs.LazyOutField(*, name: str, field: str, type: Type[T] | Any, splits=_Nothing.NOTHING, cast_from: Type[Any] | None = None)[source]
Bases:
LazyField
[T
]- attr_type = 'output'
- get_value(wf: Workflow, state_index: int | None = None) Any [source]
Return the value of a lazy field.
- Parameters:
wf (Workflow) – the workflow the lazy field references
state_index (int, optional) – the state index of the field to access
- Returns:
value – the resolved value of the lazy-field
- Return type:
Any
- pydra.engine.specs.MultiInputFile[source]
alias of
MultiInputObj
[File
]
- class pydra.engine.specs.Result(*, output: Any | None = None, runtime: Runtime | None = None, errored: bool = False)[source]
Bases:
object
Metadata regarding the outputs of processing.
- class pydra.engine.specs.Runtime(*, rss_peak_gb: float | None = None, vms_peak_gb: float | None = None, cpu_peak_percent: float | None = None)[source]
Bases:
object
Represent run time metadata.
- class pydra.engine.specs.RuntimeSpec(*, outdir: str | None = None, container: str | None = 'shell', network: bool = False)[source]
Bases:
object
Specification for a task.
From CWL:
InlineJavascriptRequirement SchemaDefRequirement DockerRequirement SoftwareRequirement InitialWorkDirRequirement EnvVarRequirement ShellCommandRequirement ResourceRequirement InlineScriptRequirement
- class pydra.engine.specs.ShellOutSpec(*, return_code: int, stdout: str, stderr: str)[source]
Bases:
object
Output specification of a generic shell process.
- class pydra.engine.specs.ShellSpec(*, executable: str | List[str], args: str | List[str] | None = None)[source]
Bases:
BaseSpec
Specification for a process invoked from a shell.
- class pydra.engine.specs.SpecInfo(*, name: str, fields: List[Tuple] = _Nothing.NOTHING, bases: Sequence[Type[BaseSpec]] = _Nothing.NOTHING)[source]
Bases:
object
Base data structure for metadata of specifications.
- class pydra.engine.specs.StateArray(iterable=(), /)[source]
Bases:
List
[T
]an array of values from, or to be split over in an array of nodes (see TaskBase.split()), multiple nodes of the same task. Used in type-checking to differentiate between list types and values for multiple nodes