:py:mod:`wfexs_backend.container_factories.singularity_container`
=================================================================

.. py:module:: wfexs_backend.container_factories.singularity_container

.. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`FailedContainerTag <wfexs_backend.container_factories.singularity_container.FailedContainerTag>`
     - .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.FailedContainerTag
          :summary:
   * - :py:obj:`SingularityContainerFactory <wfexs_backend.container_factories.singularity_container.SingularityContainerFactory>`
     -

API
~~~

.. py:class:: FailedContainerTag
   :canonical: wfexs_backend.container_factories.singularity_container.FailedContainerTag

   Bases: :py:obj:`typing.NamedTuple`

   .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.FailedContainerTag

   .. py:attribute:: tag
      :canonical: wfexs_backend.container_factories.singularity_container.FailedContainerTag.tag
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.FailedContainerTag.tag

   .. py:attribute:: sing_tag
      :canonical: wfexs_backend.container_factories.singularity_container.FailedContainerTag.sing_tag
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.FailedContainerTag.sing_tag

.. py:class:: SingularityContainerFactory(simpleFileNameMethod: wfexs_backend.container_factories.ContainerFileNamingMethod, containersCacheDir: Optional[pathlib.Path] = None, stagedContainersDir: Optional[pathlib.Path] = None, progs_mapping: Optional[ProgsMapping] = None, engine_name: str = 'unset', tempDir: Optional[pathlib.Path] = None)
   :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory

   Bases: :py:obj:`wfexs_backend.container_factories.ContainerFactory`

   .. py:attribute:: ACCEPTED_SING_SCHEMES
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ACCEPTED_SING_SCHEMES
      :type: Final[Set[str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ACCEPTED_SING_SCHEMES

   .. py:attribute:: ACCEPTED_CONTAINER_TYPES
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ACCEPTED_CONTAINER_TYPES
      :value: 'set(...)'

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ACCEPTED_CONTAINER_TYPES

   .. py:method:: ContainerType() -> wfexs_backend.common.ContainerType
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ContainerType
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.ContainerType

   .. py:method:: AcceptsContainerType(container_type: Union[common.ContainerType, Set[common.ContainerType]]) -> bool
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.AcceptsContainerType
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.AcceptsContainerType

   .. py:method:: _getContainerArchitecture(container_filename: Union[AnyPath, os.PathLike[str]], matEnv: Mapping[str, str] = {}) -> Optional[ProcessorArchitecture]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._getContainerArchitecture

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._getContainerArchitecture

   .. py:method:: materializeSingleContainer(tag: wfexs_backend.common.ContainerTaggedName, containers_dir: Optional[pathlib.Path] = None, offline: bool = False, force: bool = False) -> Optional[Container]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.materializeSingleContainer

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.materializeSingleContainer

   .. py:method:: _genSingTag(tag: wfexs_backend.common.ContainerTaggedName) -> Tuple[str, parse.ParseResult, str, bool]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._genSingTag

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._genSingTag

   .. py:method:: _pull(singTag: str, tmpContainerPath: Union[str, os.PathLike[str]], matEnv: Mapping[str, str]) -> Tuple[ExitVal, str, str]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._pull

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._pull

   .. py:method:: _materializeSingleContainerSing(tag: wfexs_backend.common.ContainerTaggedName, matEnv: Mapping[str, str] = {}, dhelp: wfexs_backend.utils.docker.DockerHelper = DockerHelper(), containers_dir: Optional[pathlib.Path] = None, offline: bool = False, force: bool = False) -> Union[Container, FailedContainerTag]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._materializeSingleContainerSing

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory._materializeSingleContainerSing

   .. py:method:: materializeContainers(tagList: Sequence[ContainerTaggedName], containers_dir: Optional[pathlib.Path] = None, offline: bool = False, force: bool = False, injectable_containers: Sequence[Container] = []) -> Sequence[Container]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.materializeContainers

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.materializeContainers

   .. py:method:: deploySingleContainer(container: wfexs_backend.common.ContainerTaggedName, containers_dir: Optional[pathlib.Path] = None, force: bool = False) -> Tuple[Container, bool]
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.deploySingleContainer

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.deploySingleContainer

   .. py:method:: generateCanonicalTag(container: wfexs_backend.common.ContainerTaggedName) -> str
      :canonical: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.generateCanonicalTag

      .. autodoc2-docstring:: wfexs_backend.container_factories.singularity_container.SingularityContainerFactory.generateCanonicalTag
