:py:mod:`wfexs_backend.common`
==============================

.. py:module:: wfexs_backend.common

.. autodoc2-docstring:: wfexs_backend.common
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`EngineMode <wfexs_backend.common.EngineMode>`
     -
   * - :py:obj:`ContentKind <wfexs_backend.common.ContentKind>`
     -
   * - :py:obj:`ContainerType <wfexs_backend.common.ContainerType>`
     -
   * - :py:obj:`ContainerTaggedName <wfexs_backend.common.ContainerTaggedName>`
     - .. autodoc2-docstring:: wfexs_backend.common.ContainerTaggedName
          :summary:
   * - :py:obj:`AttributionRole <wfexs_backend.common.AttributionRole>`
     - .. autodoc2-docstring:: wfexs_backend.common.AttributionRole
          :summary:
   * - :py:obj:`Attribution <wfexs_backend.common.Attribution>`
     - .. autodoc2-docstring:: wfexs_backend.common.Attribution
          :summary:
   * - :py:obj:`LicenceDescription <wfexs_backend.common.LicenceDescription>`
     - .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription
          :summary:
   * - :py:obj:`LicensedURI <wfexs_backend.common.LicensedURI>`
     - .. autodoc2-docstring:: wfexs_backend.common.LicensedURI
          :summary:
   * - :py:obj:`URIWithMetadata <wfexs_backend.common.URIWithMetadata>`
     - .. autodoc2-docstring:: wfexs_backend.common.URIWithMetadata
          :summary:
   * - :py:obj:`ResolvedORCID <wfexs_backend.common.ResolvedORCID>`
     - .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID
          :summary:
   * - :py:obj:`MaterializedContent <wfexs_backend.common.MaterializedContent>`
     - .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent
          :summary:
   * - :py:obj:`ContentWithURIsDesc <wfexs_backend.common.ContentWithURIsDesc>`
     - .. autodoc2-docstring:: wfexs_backend.common.ContentWithURIsDesc
          :summary:
   * - :py:obj:`MaterializedInput <wfexs_backend.common.MaterializedInput>`
     - .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput
          :summary:
   * - :py:obj:`ExpectedOutput <wfexs_backend.common.ExpectedOutput>`
     - .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput
          :summary:
   * - :py:obj:`AbstractGeneratedContent <wfexs_backend.common.AbstractGeneratedContent>`
     - .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent
          :summary:
   * - :py:obj:`GeneratedContent <wfexs_backend.common.GeneratedContent>`
     - .. autodoc2-docstring:: wfexs_backend.common.GeneratedContent
          :summary:
   * - :py:obj:`GeneratedDirectoryContent <wfexs_backend.common.GeneratedDirectoryContent>`
     - .. autodoc2-docstring:: wfexs_backend.common.GeneratedDirectoryContent
          :summary:
   * - :py:obj:`MaterializedOutput <wfexs_backend.common.MaterializedOutput>`
     - .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput
          :summary:
   * - :py:obj:`LocalWorkflow <wfexs_backend.common.LocalWorkflow>`
     - .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow
          :summary:
   * - :py:obj:`StagedSetup <wfexs_backend.common.StagedSetup>`
     - .. autodoc2-docstring:: wfexs_backend.common.StagedSetup
          :summary:
   * - :py:obj:`ExecutionStatus <wfexs_backend.common.ExecutionStatus>`
     - .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus
          :summary:
   * - :py:obj:`MarshallingStatus <wfexs_backend.common.MarshallingStatus>`
     - .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus
          :summary:
   * - :py:obj:`ArgTypeMixin <wfexs_backend.common.ArgTypeMixin>`
     -
   * - :py:obj:`StrDocEnum <wfexs_backend.common.StrDocEnum>`
     -
   * - :py:obj:`ArgsDefaultWithRawHelpFormatter <wfexs_backend.common.ArgsDefaultWithRawHelpFormatter>`
     -
   * - :py:obj:`CacheType <wfexs_backend.common.CacheType>`
     -
   * - :py:obj:`ExportItemType <wfexs_backend.common.ExportItemType>`
     - .. autodoc2-docstring:: wfexs_backend.common.ExportItemType
          :summary:
   * - :py:obj:`CratableItem <wfexs_backend.common.CratableItem>`
     - .. autodoc2-docstring:: wfexs_backend.common.CratableItem
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`create_augmented_context <wfexs_backend.common.create_augmented_context>`
     - .. autodoc2-docstring:: wfexs_backend.common.create_augmented_context
          :summary:

Data
~~~~

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

   * - :py:obj:`DEFAULT_DOCKER_CMD <wfexs_backend.common.DEFAULT_DOCKER_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_DOCKER_CMD
          :summary:
   * - :py:obj:`DEFAULT_SINGULARITY_CMD <wfexs_backend.common.DEFAULT_SINGULARITY_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_SINGULARITY_CMD
          :summary:
   * - :py:obj:`DEFAULT_APPTAINER_CMD <wfexs_backend.common.DEFAULT_APPTAINER_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_APPTAINER_CMD
          :summary:
   * - :py:obj:`DEFAULT_PODMAN_CMD <wfexs_backend.common.DEFAULT_PODMAN_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_PODMAN_CMD
          :summary:
   * - :py:obj:`DEFAULT_JAVA_CMD <wfexs_backend.common.DEFAULT_JAVA_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_JAVA_CMD
          :summary:
   * - :py:obj:`DEFAULT_FUSERMOUNT_CMD <wfexs_backend.common.DEFAULT_FUSERMOUNT_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_FUSERMOUNT_CMD
          :summary:
   * - :py:obj:`DEFAULT_DOT_CMD <wfexs_backend.common.DEFAULT_DOT_CMD>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_DOT_CMD
          :summary:
   * - :py:obj:`DEFAULT_PROGS <wfexs_backend.common.DEFAULT_PROGS>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_PROGS
          :summary:
   * - :py:obj:`DEFAULT_ENGINE_MODE <wfexs_backend.common.DEFAULT_ENGINE_MODE>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_ENGINE_MODE
          :summary:
   * - :py:obj:`NoLicenceShort <wfexs_backend.common.NoLicenceShort>`
     - .. autodoc2-docstring:: wfexs_backend.common.NoLicenceShort
          :summary:
   * - :py:obj:`NoLicence <wfexs_backend.common.NoLicence>`
     - .. autodoc2-docstring:: wfexs_backend.common.NoLicence
          :summary:
   * - :py:obj:`DefaultNoLicenceTuple <wfexs_backend.common.DefaultNoLicenceTuple>`
     - .. autodoc2-docstring:: wfexs_backend.common.DefaultNoLicenceTuple
          :summary:
   * - :py:obj:`NoLicenceDescription <wfexs_backend.common.NoLicenceDescription>`
     - .. autodoc2-docstring:: wfexs_backend.common.NoLicenceDescription
          :summary:
   * - :py:obj:`CC_BY_40_LICENCE <wfexs_backend.common.CC_BY_40_LICENCE>`
     - .. autodoc2-docstring:: wfexs_backend.common.CC_BY_40_LICENCE
          :summary:
   * - :py:obj:`CC_BY_40_LicenceDescription <wfexs_backend.common.CC_BY_40_LicenceDescription>`
     - .. autodoc2-docstring:: wfexs_backend.common.CC_BY_40_LicenceDescription
          :summary:
   * - :py:obj:`DEFAULT_CONTAINER_TYPE <wfexs_backend.common.DEFAULT_CONTAINER_TYPE>`
     - .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_CONTAINER_TYPE
          :summary:
   * - :py:obj:`META_JSON_POSTFIX <wfexs_backend.common.META_JSON_POSTFIX>`
     - .. autodoc2-docstring:: wfexs_backend.common.META_JSON_POSTFIX
          :summary:
   * - :py:obj:`NoCratableItem <wfexs_backend.common.NoCratableItem>`
     - .. autodoc2-docstring:: wfexs_backend.common.NoCratableItem
          :summary:

API
~~~

.. py:function:: create_augmented_context(purpose: ssl.Purpose = ssl.Purpose.SERVER_AUTH, *, cafile: Optional[str] = None, capath: Optional[str] = None, cadata: Optional[Union[str, bytes]] = None) -> ssl.SSLContext
   :canonical: wfexs_backend.common.create_augmented_context

   .. autodoc2-docstring:: wfexs_backend.common.create_augmented_context

.. py:data:: DEFAULT_DOCKER_CMD
   :canonical: wfexs_backend.common.DEFAULT_DOCKER_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_DOCKER_CMD

.. py:data:: DEFAULT_SINGULARITY_CMD
   :canonical: wfexs_backend.common.DEFAULT_SINGULARITY_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_SINGULARITY_CMD

.. py:data:: DEFAULT_APPTAINER_CMD
   :canonical: wfexs_backend.common.DEFAULT_APPTAINER_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_APPTAINER_CMD

.. py:data:: DEFAULT_PODMAN_CMD
   :canonical: wfexs_backend.common.DEFAULT_PODMAN_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_PODMAN_CMD

.. py:data:: DEFAULT_JAVA_CMD
   :canonical: wfexs_backend.common.DEFAULT_JAVA_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_JAVA_CMD

.. py:data:: DEFAULT_FUSERMOUNT_CMD
   :canonical: wfexs_backend.common.DEFAULT_FUSERMOUNT_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_FUSERMOUNT_CMD

.. py:data:: DEFAULT_DOT_CMD
   :canonical: wfexs_backend.common.DEFAULT_DOT_CMD
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_DOT_CMD

.. py:data:: DEFAULT_PROGS
   :canonical: wfexs_backend.common.DEFAULT_PROGS
   :type: wfexs_backend.common.ProgsMapping
   :value: None

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_PROGS

.. py:class:: EngineMode(*args, **kwds)
   :canonical: wfexs_backend.common.EngineMode

   Bases: :py:obj:`enum.Enum`

   .. py:attribute:: Local
      :canonical: wfexs_backend.common.EngineMode.Local
      :value: 'local'

      .. autodoc2-docstring:: wfexs_backend.common.EngineMode.Local

   .. py:attribute:: Docker
      :canonical: wfexs_backend.common.EngineMode.Docker
      :value: 'docker'

      .. autodoc2-docstring:: wfexs_backend.common.EngineMode.Docker

.. py:data:: DEFAULT_ENGINE_MODE
   :canonical: wfexs_backend.common.DEFAULT_ENGINE_MODE
   :value: None

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_ENGINE_MODE

.. py:class:: ContentKind(*args, **kwds)
   :canonical: wfexs_backend.common.ContentKind

   Bases: :py:obj:`enum.Enum`

   .. py:attribute:: File
      :canonical: wfexs_backend.common.ContentKind.File
      :value: 'file'

      .. autodoc2-docstring:: wfexs_backend.common.ContentKind.File

   .. py:attribute:: Directory
      :canonical: wfexs_backend.common.ContentKind.Directory
      :value: 'dir'

      .. autodoc2-docstring:: wfexs_backend.common.ContentKind.Directory

   .. py:attribute:: Value
      :canonical: wfexs_backend.common.ContentKind.Value
      :value: 'val'

      .. autodoc2-docstring:: wfexs_backend.common.ContentKind.Value

   .. py:attribute:: ContentWithURIs
      :canonical: wfexs_backend.common.ContentKind.ContentWithURIs
      :value: 'luris'

      .. autodoc2-docstring:: wfexs_backend.common.ContentKind.ContentWithURIs

.. py:class:: ContainerType(*args, **kwds)
   :canonical: wfexs_backend.common.ContainerType

   Bases: :py:obj:`enum.Enum`

   .. py:attribute:: Singularity
      :canonical: wfexs_backend.common.ContainerType.Singularity
      :value: 'singularity'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.Singularity

   .. py:attribute:: Apptainer
      :canonical: wfexs_backend.common.ContainerType.Apptainer
      :value: 'singularity'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.Apptainer

   .. py:attribute:: Docker
      :canonical: wfexs_backend.common.ContainerType.Docker
      :value: 'docker'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.Docker

   .. py:attribute:: UDocker
      :canonical: wfexs_backend.common.ContainerType.UDocker
      :value: 'udocker'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.UDocker

   .. py:attribute:: Podman
      :canonical: wfexs_backend.common.ContainerType.Podman
      :value: 'podman'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.Podman

   .. py:attribute:: Conda
      :canonical: wfexs_backend.common.ContainerType.Conda
      :value: 'conda'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.Conda

   .. py:attribute:: NoContainer
      :canonical: wfexs_backend.common.ContainerType.NoContainer
      :value: 'none'

      .. autodoc2-docstring:: wfexs_backend.common.ContainerType.NoContainer

.. py:class:: ContainerTaggedName
   :canonical: wfexs_backend.common.ContainerTaggedName

   .. autodoc2-docstring:: wfexs_backend.common.ContainerTaggedName

   .. py:attribute:: origTaggedName
      :canonical: wfexs_backend.common.ContainerTaggedName.origTaggedName
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ContainerTaggedName.origTaggedName

   .. py:attribute:: type
      :canonical: wfexs_backend.common.ContainerTaggedName.type
      :type: wfexs_backend.common.ContainerType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ContainerTaggedName.type

   .. py:attribute:: registries
      :canonical: wfexs_backend.common.ContainerTaggedName.registries
      :type: Optional[Mapping[ContainerType, str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ContainerTaggedName.registries

.. py:class:: AttributionRole(*args, **kwds)
   :canonical: wfexs_backend.common.AttributionRole

   Bases: :py:obj:`enum.Enum`

   .. autodoc2-docstring:: wfexs_backend.common.AttributionRole

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.__init__

   .. py:attribute:: Conceptualization
      :canonical: wfexs_backend.common.AttributionRole.Conceptualization
      :value: 'conceptualization'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Conceptualization

   .. py:attribute:: DataCuration
      :canonical: wfexs_backend.common.AttributionRole.DataCuration
      :value: 'data-curation'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.DataCuration

   .. py:attribute:: FormalAnalysis
      :canonical: wfexs_backend.common.AttributionRole.FormalAnalysis
      :value: 'formal-analysis'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.FormalAnalysis

   .. py:attribute:: FundingAcquisition
      :canonical: wfexs_backend.common.AttributionRole.FundingAcquisition
      :value: 'funding-acquisition'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.FundingAcquisition

   .. py:attribute:: Investigation
      :canonical: wfexs_backend.common.AttributionRole.Investigation
      :value: 'investigation'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Investigation

   .. py:attribute:: Methodology
      :canonical: wfexs_backend.common.AttributionRole.Methodology
      :value: 'methodology'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Methodology

   .. py:attribute:: ProjectAdministration
      :canonical: wfexs_backend.common.AttributionRole.ProjectAdministration
      :value: 'project-administration'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.ProjectAdministration

   .. py:attribute:: Resources
      :canonical: wfexs_backend.common.AttributionRole.Resources
      :value: 'resources'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Resources

   .. py:attribute:: Software
      :canonical: wfexs_backend.common.AttributionRole.Software
      :value: 'software'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Software

   .. py:attribute:: Supervision
      :canonical: wfexs_backend.common.AttributionRole.Supervision
      :value: 'supervision'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Supervision

   .. py:attribute:: Validation
      :canonical: wfexs_backend.common.AttributionRole.Validation
      :value: 'validation'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Validation

   .. py:attribute:: Visualization
      :canonical: wfexs_backend.common.AttributionRole.Visualization
      :value: 'visualization'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.Visualization

   .. py:attribute:: WritingOriginalDraft
      :canonical: wfexs_backend.common.AttributionRole.WritingOriginalDraft
      :value: 'writing-original-draft'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.WritingOriginalDraft

   .. py:attribute:: WritingReviewEditing
      :canonical: wfexs_backend.common.AttributionRole.WritingReviewEditing
      :value: 'writing-review-editing'

      .. autodoc2-docstring:: wfexs_backend.common.AttributionRole.WritingReviewEditing

.. py:class:: Attribution
   :canonical: wfexs_backend.common.Attribution

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

   .. autodoc2-docstring:: wfexs_backend.common.Attribution

   .. py:attribute:: name
      :canonical: wfexs_backend.common.Attribution.name
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.Attribution.name

   .. py:attribute:: pid
      :canonical: wfexs_backend.common.Attribution.pid
      :type: wfexs_backend.common.URIType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.Attribution.pid

   .. py:attribute:: roles
      :canonical: wfexs_backend.common.Attribution.roles
      :type: Sequence[AttributionRole]
      :value: []

      .. autodoc2-docstring:: wfexs_backend.common.Attribution.roles

   .. py:method:: ParseRawAttribution(rawAttribution: Mapping[str, Any]) -> wfexs_backend.common.Attribution
      :canonical: wfexs_backend.common.Attribution.ParseRawAttribution
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.Attribution.ParseRawAttribution

   .. py:method:: ParseRawAttributions(rawAttributions: Optional[Sequence[Mapping[str, Any]]]) -> Sequence[Attribution]
      :canonical: wfexs_backend.common.Attribution.ParseRawAttributions
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.Attribution.ParseRawAttributions

.. py:data:: NoLicenceShort
   :canonical: wfexs_backend.common.NoLicenceShort
   :type: Final[str]
   :value: 'notspecified'

   .. autodoc2-docstring:: wfexs_backend.common.NoLicenceShort

.. py:data:: NoLicence
   :canonical: wfexs_backend.common.NoLicence
   :type: Final[URIType]
   :value: 'cast(...)'

   .. autodoc2-docstring:: wfexs_backend.common.NoLicence

.. py:data:: DefaultNoLicenceTuple
   :canonical: wfexs_backend.common.DefaultNoLicenceTuple
   :type: Tuple[URIType, ...]
   :value: ()

   .. autodoc2-docstring:: wfexs_backend.common.DefaultNoLicenceTuple

.. py:class:: LicenceDescription
   :canonical: wfexs_backend.common.LicenceDescription

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

   .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription

   .. py:attribute:: short
      :canonical: wfexs_backend.common.LicenceDescription.short
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription.short

   .. py:attribute:: uris
      :canonical: wfexs_backend.common.LicenceDescription.uris
      :type: Sequence[URIType]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription.uris

   .. py:attribute:: description
      :canonical: wfexs_backend.common.LicenceDescription.description
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription.description

   .. py:attribute:: is_spdx
      :canonical: wfexs_backend.common.LicenceDescription.is_spdx
      :type: bool
      :value: True

      .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription.is_spdx

   .. py:method:: get_uri() -> wfexs_backend.common.URIType
      :canonical: wfexs_backend.common.LicenceDescription.get_uri

      .. autodoc2-docstring:: wfexs_backend.common.LicenceDescription.get_uri

.. py:data:: NoLicenceDescription
   :canonical: wfexs_backend.common.NoLicenceDescription
   :type: Final[LicenceDescription]
   :value: 'LicenceDescription(...)'

   .. autodoc2-docstring:: wfexs_backend.common.NoLicenceDescription

.. py:data:: CC_BY_40_LICENCE
   :canonical: wfexs_backend.common.CC_BY_40_LICENCE
   :type: Final[str]
   :value: 'CC-BY-4.0'

   .. autodoc2-docstring:: wfexs_backend.common.CC_BY_40_LICENCE

.. py:data:: CC_BY_40_LicenceDescription
   :canonical: wfexs_backend.common.CC_BY_40_LicenceDescription
   :type: Final[LicenceDescription]
   :value: 'LicenceDescription(...)'

   .. autodoc2-docstring:: wfexs_backend.common.CC_BY_40_LicenceDescription

.. py:class:: LicensedURI
   :canonical: wfexs_backend.common.LicensedURI

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

   .. autodoc2-docstring:: wfexs_backend.common.LicensedURI

   .. py:attribute:: uri
      :canonical: wfexs_backend.common.LicensedURI.uri
      :type: wfexs_backend.common.URIType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicensedURI.uri

   .. py:attribute:: licences
      :canonical: wfexs_backend.common.LicensedURI.licences
      :type: Tuple[Union[URIType, LicenceDescription], ...]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicensedURI.licences

   .. py:attribute:: attributions
      :canonical: wfexs_backend.common.LicensedURI.attributions
      :type: Sequence[Attribution]
      :value: []

      .. autodoc2-docstring:: wfexs_backend.common.LicensedURI.attributions

   .. py:attribute:: secContext
      :canonical: wfexs_backend.common.LicensedURI.secContext
      :type: Optional[SecurityContextConfig]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LicensedURI.secContext

.. py:class:: URIWithMetadata
   :canonical: wfexs_backend.common.URIWithMetadata

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

   .. autodoc2-docstring:: wfexs_backend.common.URIWithMetadata

   .. py:attribute:: uri
      :canonical: wfexs_backend.common.URIWithMetadata.uri
      :type: wfexs_backend.common.URIType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.URIWithMetadata.uri

   .. py:attribute:: metadata
      :canonical: wfexs_backend.common.URIWithMetadata.metadata
      :type: Mapping[str, Any]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.URIWithMetadata.metadata

   .. py:attribute:: preferredName
      :canonical: wfexs_backend.common.URIWithMetadata.preferredName
      :type: Optional[RelPath]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.URIWithMetadata.preferredName

.. py:class:: ResolvedORCID
   :canonical: wfexs_backend.common.ResolvedORCID

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

   .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID

   .. py:attribute:: orcid
      :canonical: wfexs_backend.common.ResolvedORCID.orcid
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID.orcid

   .. py:attribute:: url
      :canonical: wfexs_backend.common.ResolvedORCID.url
      :type: wfexs_backend.common.URIType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID.url

   .. py:attribute:: record
      :canonical: wfexs_backend.common.ResolvedORCID.record
      :type: wfexs_backend.common.ORCIDPublicRecord
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID.record

   .. py:attribute:: record_fetch_metadata
      :canonical: wfexs_backend.common.ResolvedORCID.record_fetch_metadata
      :type: Sequence[URIWithMetadata]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ResolvedORCID.record_fetch_metadata

.. py:class:: MaterializedContent
   :canonical: wfexs_backend.common.MaterializedContent

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

   .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent

   .. py:attribute:: local
      :canonical: wfexs_backend.common.MaterializedContent.local
      :type: wfexs_backend.common.PathlibLike
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.local

   .. py:attribute:: licensed_uri
      :canonical: wfexs_backend.common.MaterializedContent.licensed_uri
      :type: wfexs_backend.common.LicensedURI
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.licensed_uri

   .. py:attribute:: prettyFilename
      :canonical: wfexs_backend.common.MaterializedContent.prettyFilename
      :type: wfexs_backend.common.RelPath
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.prettyFilename

   .. py:attribute:: kind
      :canonical: wfexs_backend.common.MaterializedContent.kind
      :type: wfexs_backend.common.ContentKind
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.kind

   .. py:attribute:: metadata_array
      :canonical: wfexs_backend.common.MaterializedContent.metadata_array
      :type: Optional[Sequence[URIWithMetadata]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.metadata_array

   .. py:attribute:: extrapolated_local
      :canonical: wfexs_backend.common.MaterializedContent.extrapolated_local
      :type: Optional[PathlibLike]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.extrapolated_local

   .. py:attribute:: fingerprint
      :canonical: wfexs_backend.common.MaterializedContent.fingerprint
      :type: Optional[Fingerprint]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.fingerprint

   .. py:attribute:: clonable
      :canonical: wfexs_backend.common.MaterializedContent.clonable
      :type: bool
      :value: True

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent.clonable

   .. py:method:: _mapping_fixes(orig: Mapping[str, Any], workdir: Optional[pathlib.Path]) -> Mapping[str, Any]
      :canonical: wfexs_backend.common.MaterializedContent._mapping_fixes
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent._mapping_fixes

   .. py:method:: _key_fixes() -> Mapping[str, str]
      :canonical: wfexs_backend.common.MaterializedContent._key_fixes
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedContent._key_fixes

.. py:class:: ContentWithURIsDesc
   :canonical: wfexs_backend.common.ContentWithURIsDesc

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

   .. autodoc2-docstring:: wfexs_backend.common.ContentWithURIsDesc

   .. py:attribute:: encodingFormat
      :canonical: wfexs_backend.common.ContentWithURIsDesc.encodingFormat
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ContentWithURIsDesc.encodingFormat

   .. py:attribute:: setup
      :canonical: wfexs_backend.common.ContentWithURIsDesc.setup
      :type: wfexs_backend.common.ContentWithURIsSetup
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ContentWithURIsDesc.setup

.. py:class:: MaterializedInput
   :canonical: wfexs_backend.common.MaterializedInput

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

   .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput

   .. py:attribute:: name
      :canonical: wfexs_backend.common.MaterializedInput.name
      :type: wfexs_backend.common.SymbolicParamName
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.name

   .. py:attribute:: values
      :canonical: wfexs_backend.common.MaterializedInput.values
      :type: wfexs_backend.common.MaterializedInputValues
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.values

   .. py:attribute:: secondaryInputs
      :canonical: wfexs_backend.common.MaterializedInput.secondaryInputs
      :type: Optional[Sequence[MaterializedContent]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.secondaryInputs

   .. py:attribute:: autoFilled
      :canonical: wfexs_backend.common.MaterializedInput.autoFilled
      :type: bool
      :value: False

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.autoFilled

   .. py:attribute:: implicit
      :canonical: wfexs_backend.common.MaterializedInput.implicit
      :type: bool
      :value: False

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.implicit

   .. py:attribute:: contentWithURIs
      :canonical: wfexs_backend.common.MaterializedInput.contentWithURIs
      :type: Optional[ContentWithURIsDesc]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.contentWithURIs

   .. py:attribute:: disclosable
      :canonical: wfexs_backend.common.MaterializedInput.disclosable
      :type: bool
      :value: True

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedInput.disclosable

.. py:class:: ExpectedOutput
   :canonical: wfexs_backend.common.ExpectedOutput

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

   .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput

   .. py:attribute:: name
      :canonical: wfexs_backend.common.ExpectedOutput.name
      :type: wfexs_backend.common.SymbolicOutputName
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.name

   .. py:attribute:: kind
      :canonical: wfexs_backend.common.ExpectedOutput.kind
      :type: wfexs_backend.common.ContentKind
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.kind

   .. py:attribute:: preferredFilename
      :canonical: wfexs_backend.common.ExpectedOutput.preferredFilename
      :type: Optional[RelPath]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.preferredFilename

   .. py:attribute:: cardinality
      :canonical: wfexs_backend.common.ExpectedOutput.cardinality
      :type: Tuple[int, int]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.cardinality

   .. py:attribute:: fillFrom
      :canonical: wfexs_backend.common.ExpectedOutput.fillFrom
      :type: Optional[SymbolicParamName]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.fillFrom

   .. py:attribute:: glob
      :canonical: wfexs_backend.common.ExpectedOutput.glob
      :type: Optional[GlobPattern]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.glob

   .. py:attribute:: syntheticOutput
      :canonical: wfexs_backend.common.ExpectedOutput.syntheticOutput
      :type: Optional[bool]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput.syntheticOutput

   .. py:method:: _marshall() -> MutableMapping[str, Any]
      :canonical: wfexs_backend.common.ExpectedOutput._marshall

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput._marshall

   .. py:method:: _unmarshall(**obj: typing.Any) -> wfexs_backend.common.ExpectedOutput
      :canonical: wfexs_backend.common.ExpectedOutput._unmarshall
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.ExpectedOutput._unmarshall

.. py:class:: AbstractGeneratedContent
   :canonical: wfexs_backend.common.AbstractGeneratedContent

   Bases: :py:obj:`abc.ABC`

   .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent

   .. py:attribute:: local
      :canonical: wfexs_backend.common.AbstractGeneratedContent.local
      :type: wfexs_backend.common.PathlibLike
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent.local

   .. py:attribute:: signature
      :canonical: wfexs_backend.common.AbstractGeneratedContent.signature
      :type: Optional[Fingerprint]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent.signature

   .. py:attribute:: uri
      :canonical: wfexs_backend.common.AbstractGeneratedContent.uri
      :type: Optional[LicensedURI]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent.uri

   .. py:attribute:: preferredFilename
      :canonical: wfexs_backend.common.AbstractGeneratedContent.preferredFilename
      :type: Optional[RelPath]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent.preferredFilename

   .. py:method:: _mapping_fixes(orig: Mapping[str, Any], workdir: Optional[pathlib.Path]) -> Mapping[str, Any]
      :canonical: wfexs_backend.common.AbstractGeneratedContent._mapping_fixes
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.AbstractGeneratedContent._mapping_fixes

.. py:class:: GeneratedContent
   :canonical: wfexs_backend.common.GeneratedContent

   Bases: :py:obj:`wfexs_backend.common.AbstractGeneratedContent`

   .. autodoc2-docstring:: wfexs_backend.common.GeneratedContent

   .. py:attribute:: secondaryFiles
      :canonical: wfexs_backend.common.GeneratedContent.secondaryFiles
      :type: Optional[Sequence[AbstractGeneratedContent]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.GeneratedContent.secondaryFiles

.. py:class:: GeneratedDirectoryContent
   :canonical: wfexs_backend.common.GeneratedDirectoryContent

   Bases: :py:obj:`wfexs_backend.common.AbstractGeneratedContent`

   .. autodoc2-docstring:: wfexs_backend.common.GeneratedDirectoryContent

   .. py:attribute:: values
      :canonical: wfexs_backend.common.GeneratedDirectoryContent.values
      :type: Optional[Sequence[AbstractGeneratedContent]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.GeneratedDirectoryContent.values

   .. py:attribute:: secondaryFiles
      :canonical: wfexs_backend.common.GeneratedDirectoryContent.secondaryFiles
      :type: Optional[Sequence[AbstractGeneratedContent]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.GeneratedDirectoryContent.secondaryFiles

.. py:class:: MaterializedOutput
   :canonical: wfexs_backend.common.MaterializedOutput

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

   .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput

   .. py:attribute:: name
      :canonical: wfexs_backend.common.MaterializedOutput.name
      :type: wfexs_backend.common.SymbolicOutputName
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.name

   .. py:attribute:: kind
      :canonical: wfexs_backend.common.MaterializedOutput.kind
      :type: wfexs_backend.common.ContentKind
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.kind

   .. py:attribute:: expectedCardinality
      :canonical: wfexs_backend.common.MaterializedOutput.expectedCardinality
      :type: Tuple[int, int]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.expectedCardinality

   .. py:attribute:: values
      :canonical: wfexs_backend.common.MaterializedOutput.values
      :type: Union[Sequence[bool], Sequence[str], Sequence[int], Sequence[float], Sequence[AbstractGeneratedContent]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.values

   .. py:attribute:: syntheticOutput
      :canonical: wfexs_backend.common.MaterializedOutput.syntheticOutput
      :type: Optional[bool]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.syntheticOutput

   .. py:attribute:: filledFrom
      :canonical: wfexs_backend.common.MaterializedOutput.filledFrom
      :type: Optional[str]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.filledFrom

   .. py:attribute:: glob
      :canonical: wfexs_backend.common.MaterializedOutput.glob
      :type: Optional[GlobPattern]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MaterializedOutput.glob

.. py:class:: LocalWorkflow
   :canonical: wfexs_backend.common.LocalWorkflow

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

   .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow

   .. py:attribute:: dir
      :canonical: wfexs_backend.common.LocalWorkflow.dir
      :type: wfexs_backend.common.PathlibLike
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow.dir

   .. py:attribute:: relPath
      :canonical: wfexs_backend.common.LocalWorkflow.relPath
      :type: Optional[RelPath]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow.relPath

   .. py:attribute:: effectiveCheckout
      :canonical: wfexs_backend.common.LocalWorkflow.effectiveCheckout
      :type: Optional[RepoTag]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow.effectiveCheckout

   .. py:attribute:: langVersion
      :canonical: wfexs_backend.common.LocalWorkflow.langVersion
      :type: Optional[Union[EngineVersion, WFLangVersion]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow.langVersion

   .. py:attribute:: relPathFiles
      :canonical: wfexs_backend.common.LocalWorkflow.relPathFiles
      :type: Optional[Sequence[Union[RelPath, URIType]]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow.relPathFiles

   .. py:method:: _mapping_fixes(orig: Mapping[str, Any], workdir: Optional[pathlib.Path]) -> Mapping[str, Any]
      :canonical: wfexs_backend.common.LocalWorkflow._mapping_fixes
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.LocalWorkflow._mapping_fixes

.. py:class:: StagedSetup
   :canonical: wfexs_backend.common.StagedSetup

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

   .. autodoc2-docstring:: wfexs_backend.common.StagedSetup

   .. py:attribute:: instance_id
      :canonical: wfexs_backend.common.StagedSetup.instance_id
      :type: wfexs_backend.common.WfExSInstanceId
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.instance_id

   .. py:attribute:: container_type
      :canonical: wfexs_backend.common.StagedSetup.container_type
      :type: wfexs_backend.common.ContainerType
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.container_type

   .. py:attribute:: nickname
      :canonical: wfexs_backend.common.StagedSetup.nickname
      :type: Optional[str]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.nickname

   .. py:attribute:: creation
      :canonical: wfexs_backend.common.StagedSetup.creation
      :type: datetime.datetime
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.creation

   .. py:attribute:: workflow_config
      :canonical: wfexs_backend.common.StagedSetup.workflow_config
      :type: Optional[Mapping[str, Any]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.workflow_config

   .. py:attribute:: engine_tweaks_dir
      :canonical: wfexs_backend.common.StagedSetup.engine_tweaks_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.engine_tweaks_dir

   .. py:attribute:: raw_work_dir
      :canonical: wfexs_backend.common.StagedSetup.raw_work_dir
      :type: pathlib.Path
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.raw_work_dir

   .. py:attribute:: work_dir
      :canonical: wfexs_backend.common.StagedSetup.work_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.work_dir

   .. py:attribute:: workflow_dir
      :canonical: wfexs_backend.common.StagedSetup.workflow_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.workflow_dir

   .. py:attribute:: consolidated_workflow_dir
      :canonical: wfexs_backend.common.StagedSetup.consolidated_workflow_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.consolidated_workflow_dir

   .. py:attribute:: inputs_dir
      :canonical: wfexs_backend.common.StagedSetup.inputs_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.inputs_dir

   .. py:attribute:: extrapolated_inputs_dir
      :canonical: wfexs_backend.common.StagedSetup.extrapolated_inputs_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.extrapolated_inputs_dir

   .. py:attribute:: outputs_dir
      :canonical: wfexs_backend.common.StagedSetup.outputs_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.outputs_dir

   .. py:attribute:: intermediate_dir
      :canonical: wfexs_backend.common.StagedSetup.intermediate_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.intermediate_dir

   .. py:attribute:: containers_dir
      :canonical: wfexs_backend.common.StagedSetup.containers_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.containers_dir

   .. py:attribute:: meta_dir
      :canonical: wfexs_backend.common.StagedSetup.meta_dir
      :type: Optional[pathlib.Path]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.meta_dir

   .. py:attribute:: temp_dir
      :canonical: wfexs_backend.common.StagedSetup.temp_dir
      :type: pathlib.Path
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.temp_dir

   .. py:attribute:: secure_exec
      :canonical: wfexs_backend.common.StagedSetup.secure_exec
      :type: bool
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.secure_exec

   .. py:attribute:: allow_other
      :canonical: wfexs_backend.common.StagedSetup.allow_other
      :type: bool
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.allow_other

   .. py:attribute:: is_encrypted
      :canonical: wfexs_backend.common.StagedSetup.is_encrypted
      :type: bool
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.is_encrypted

   .. py:attribute:: is_damaged
      :canonical: wfexs_backend.common.StagedSetup.is_damaged
      :type: bool
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StagedSetup.is_damaged

.. py:class:: ExecutionStatus(*args, **kwds)
   :canonical: wfexs_backend.common.ExecutionStatus

   Bases: :py:obj:`enum.Enum`

   .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus.__init__

   .. py:attribute:: Queued
      :canonical: wfexs_backend.common.ExecutionStatus.Queued
      :value: 'queued'

      .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus.Queued

   .. py:attribute:: Running
      :canonical: wfexs_backend.common.ExecutionStatus.Running
      :value: 'running'

      .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus.Running

   .. py:attribute:: Finished
      :canonical: wfexs_backend.common.ExecutionStatus.Finished
      :value: 'finished'

      .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus.Finished

   .. py:attribute:: Died
      :canonical: wfexs_backend.common.ExecutionStatus.Died
      :value: 'died'

      .. autodoc2-docstring:: wfexs_backend.common.ExecutionStatus.Died

.. py:class:: MarshallingStatus
   :canonical: wfexs_backend.common.MarshallingStatus

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

   .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus

   .. py:attribute:: pid
      :canonical: wfexs_backend.common.MarshallingStatus.pid
      :type: Optional[str]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.pid

   .. py:attribute:: workflow_type
      :canonical: wfexs_backend.common.MarshallingStatus.workflow_type
      :type: Optional[str]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.workflow_type

   .. py:attribute:: container_type
      :canonical: wfexs_backend.common.MarshallingStatus.container_type
      :type: Optional[ContainerType]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.container_type

   .. py:attribute:: config
      :canonical: wfexs_backend.common.MarshallingStatus.config
      :type: Optional[Union[bool, datetime.datetime]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.config

   .. py:attribute:: stage
      :canonical: wfexs_backend.common.MarshallingStatus.stage
      :type: Optional[Union[bool, datetime.datetime]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.stage

   .. py:attribute:: execution
      :canonical: wfexs_backend.common.MarshallingStatus.execution
      :type: Optional[Union[bool, datetime.datetime]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.execution

   .. py:attribute:: export
      :canonical: wfexs_backend.common.MarshallingStatus.export
      :type: Optional[Union[bool, datetime.datetime]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.export

   .. py:attribute:: execution_stats
      :canonical: wfexs_backend.common.MarshallingStatus.execution_stats
      :type: Optional[Sequence[Tuple[str, ExecutionStatus, Optional[datetime.datetime], datetime.datetime, datetime.datetime, ExitVal]]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.execution_stats

   .. py:attribute:: export_stamps
      :canonical: wfexs_backend.common.MarshallingStatus.export_stamps
      :type: Optional[Sequence[datetime.datetime]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.MarshallingStatus.export_stamps

   .. py:method:: __repr__() -> str
      :canonical: wfexs_backend.common.MarshallingStatus.__repr__

.. py:data:: DEFAULT_CONTAINER_TYPE
   :canonical: wfexs_backend.common.DEFAULT_CONTAINER_TYPE
   :value: None

   .. autodoc2-docstring:: wfexs_backend.common.DEFAULT_CONTAINER_TYPE

.. py:data:: META_JSON_POSTFIX
   :canonical: wfexs_backend.common.META_JSON_POSTFIX
   :type: Final[str]
   :value: '_meta.json'

   .. autodoc2-docstring:: wfexs_backend.common.META_JSON_POSTFIX

.. py:exception:: AbstractWfExSException()
   :canonical: wfexs_backend.common.AbstractWfExSException

   Bases: :py:obj:`Exception`

.. py:class:: ArgTypeMixin(*args, **kwds)
   :canonical: wfexs_backend.common.ArgTypeMixin

   Bases: :py:obj:`enum.Enum`

   .. py:method:: argtype(s: str) -> enum.Enum
      :canonical: wfexs_backend.common.ArgTypeMixin.argtype
      :classmethod:

      .. autodoc2-docstring:: wfexs_backend.common.ArgTypeMixin.argtype

   .. py:method:: __str__() -> str
      :canonical: wfexs_backend.common.ArgTypeMixin.__str__

.. py:class:: StrDocEnum()
   :canonical: wfexs_backend.common.StrDocEnum

   Bases: :py:obj:`str`, :py:obj:`wfexs_backend.common.ArgTypeMixin`

   .. py:attribute:: description
      :canonical: wfexs_backend.common.StrDocEnum.description
      :type: str
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.StrDocEnum.description

   .. py:method:: __new__(value: typing.Any, description: str = '') -> wfexs_backend.common.StrDocEnum
      :canonical: wfexs_backend.common.StrDocEnum.__new__

   .. py:method:: __str__() -> str
      :canonical: wfexs_backend.common.StrDocEnum.__str__

.. py:class:: ArgsDefaultWithRawHelpFormatter(prog, indent_increment=2, max_help_position=24, width=None)
   :canonical: wfexs_backend.common.ArgsDefaultWithRawHelpFormatter

   Bases: :py:obj:`argparse.ArgumentDefaultsHelpFormatter`

   .. py:method:: _split_lines(text: str, width: int) -> List[str]
      :canonical: wfexs_backend.common.ArgsDefaultWithRawHelpFormatter._split_lines

      .. autodoc2-docstring:: wfexs_backend.common.ArgsDefaultWithRawHelpFormatter._split_lines

.. py:class:: CacheType()
   :canonical: wfexs_backend.common.CacheType

   Bases: :py:obj:`wfexs_backend.common.StrDocEnum`

   .. py:attribute:: Input
      :canonical: wfexs_backend.common.CacheType.Input
      :value: ('input', 'Cached or injected inputs')

      .. autodoc2-docstring:: wfexs_backend.common.CacheType.Input

   .. py:attribute:: ROCrate
      :canonical: wfexs_backend.common.CacheType.ROCrate
      :value: ('ro-crate', 'Cached RO-Crates (usually from WorkflowHub)')

      .. autodoc2-docstring:: wfexs_backend.common.CacheType.ROCrate

   .. py:attribute:: TRS
      :canonical: wfexs_backend.common.CacheType.TRS
      :value: ('ga4gh-trs', 'Cached files from tools described at GA4GH TRS repositories')

      .. autodoc2-docstring:: wfexs_backend.common.CacheType.TRS

   .. py:attribute:: Workflow
      :canonical: wfexs_backend.common.CacheType.Workflow
      :value: ('workflow', 'Cached workflows, which come from a git repository')

      .. autodoc2-docstring:: wfexs_backend.common.CacheType.Workflow

.. py:class:: ExportItemType(*args, **kwds)
   :canonical: wfexs_backend.common.ExportItemType

   Bases: :py:obj:`enum.Enum`

   .. autodoc2-docstring:: wfexs_backend.common.ExportItemType

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.__init__

   .. py:attribute:: Param
      :canonical: wfexs_backend.common.ExportItemType.Param
      :value: 'param'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.Param

   .. py:attribute:: Environment
      :canonical: wfexs_backend.common.ExportItemType.Environment
      :value: 'envvar'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.Environment

   .. py:attribute:: Output
      :canonical: wfexs_backend.common.ExportItemType.Output
      :value: 'output'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.Output

   .. py:attribute:: WorkingDirectory
      :canonical: wfexs_backend.common.ExportItemType.WorkingDirectory
      :value: 'working-directory'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.WorkingDirectory

   .. py:attribute:: StageCrate
      :canonical: wfexs_backend.common.ExportItemType.StageCrate
      :value: 'stage-rocrate'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.StageCrate

   .. py:attribute:: ProvenanceCrate
      :canonical: wfexs_backend.common.ExportItemType.ProvenanceCrate
      :value: 'provenance-rocrate'

      .. autodoc2-docstring:: wfexs_backend.common.ExportItemType.ProvenanceCrate

.. py:class:: CratableItem()
   :canonical: wfexs_backend.common.CratableItem

   Bases: :py:obj:`enum.IntFlag`

   .. autodoc2-docstring:: wfexs_backend.common.CratableItem

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.common.CratableItem.__init__

   .. py:attribute:: Workflow
      :canonical: wfexs_backend.common.CratableItem.Workflow
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.Workflow

   .. py:attribute:: Containers
      :canonical: wfexs_backend.common.CratableItem.Containers
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.Containers

   .. py:attribute:: Inputs
      :canonical: wfexs_backend.common.CratableItem.Inputs
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.Inputs

   .. py:attribute:: Outputs
      :canonical: wfexs_backend.common.CratableItem.Outputs
      :value: 'auto(...)'

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.Outputs

   .. py:attribute:: ProspectiveProvenance
      :canonical: wfexs_backend.common.CratableItem.ProspectiveProvenance
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.ProspectiveProvenance

   .. py:attribute:: RetrospectiveProvenance
      :canonical: wfexs_backend.common.CratableItem.RetrospectiveProvenance
      :value: None

      .. autodoc2-docstring:: wfexs_backend.common.CratableItem.RetrospectiveProvenance

.. py:data:: NoCratableItem
   :canonical: wfexs_backend.common.NoCratableItem
   :value: 'CratableItem(...)'

   .. autodoc2-docstring:: wfexs_backend.common.NoCratableItem
