wfexs_backend.container_factories.singularity_container#

Module Contents#

Classes#

API#

class wfexs_backend.container_factories.singularity_container.FailedContainerTag#

Bases: typing.NamedTuple

tag: str = None#
sing_tag: str = None#
class wfexs_backend.container_factories.singularity_container.SingularityContainerFactory(simpleFileNameMethod: wfexs_backend.container_factories.ContainerFileNamingMethod, containersCacheDir: pathlib.Path | None = None, stagedContainersDir: pathlib.Path | None = None, progs_mapping: ProgsMapping | None = None, engine_name: str = 'unset', tempDir: pathlib.Path | None = None)#

Bases: wfexs_backend.container_factories.ContainerFactory

ACCEPTED_SING_SCHEMES: Final[Set[str]] = None#
ACCEPTED_CONTAINER_TYPES = 'set(...)'#
classmethod ContainerType() wfexs_backend.common.ContainerType#
classmethod AcceptsContainerType(container_type: common.ContainerType | Set[common.ContainerType]) bool#
_getContainerArchitecture(container_filename: AnyPath | os.PathLike[str], matEnv: Mapping[str, str] = {}) ProcessorArchitecture | None#
materializeSingleContainer(tag: wfexs_backend.common.ContainerTaggedName, containers_dir: pathlib.Path | None = None, offline: bool = False, force: bool = False) Container | None#

This is a no-op

_genSingTag(tag: wfexs_backend.common.ContainerTaggedName) Tuple[str, parse.ParseResult, str, bool]#
_pull(singTag: str, tmpContainerPath: str | os.PathLike[str], matEnv: Mapping[str, str]) Tuple[ExitVal, str, str]#
_materializeSingleContainerSing(tag: wfexs_backend.common.ContainerTaggedName, matEnv: Mapping[str, str] = {}, dhelp: wfexs_backend.utils.docker.DockerHelper = DockerHelper(), containers_dir: pathlib.Path | None = None, offline: bool = False, force: bool = False) Container | FailedContainerTag#
materializeContainers(tagList: Sequence[ContainerTaggedName], containers_dir: pathlib.Path | None = None, offline: bool = False, force: bool = False, injectable_containers: Sequence[Container] = []) Sequence[Container]#

It is assured the containers are materialized

deploySingleContainer(container: wfexs_backend.common.ContainerTaggedName, containers_dir: pathlib.Path | None = None, force: bool = False) Tuple[Container, bool]#

This is almost no-op, but it should check the integrity of the local images

generateCanonicalTag(container: wfexs_backend.common.ContainerTaggedName) str#

It provides a way to help comparing two container tags