# cwl_utils.parser

## Submodules

- cwl_utils.parser.cwl_v1_0
- cwl_utils.parser.cwl_v1_0_utils
- cwl_utils.parser.cwl_v1_1
- cwl_utils.parser.cwl_v1_1_utils
- cwl_utils.parser.cwl_v1_2
- cwl_utils.parser.cwl_v1_2_utils
- cwl_utils.parser.latest
- cwl_utils.parser.utils

## Attributes

`LoadingOptions` | Type union for a CWL v1.x LoadingOptions object.
`Saveable` | Type union for a CWL v1.x Saveable object.
`InputParameter` | Type union for a CWL v1.x InputEnumSchema object.
`InputRecordField` | Type union for a CWL v1.x InputRecordSchema object.
`InputSchema` | Type union for a CWL v1.x InputSchema object.
`OutputParameter` | Type union for a CWL v1.x OutputParameter object.
`OutputArraySchema` | Type union for a CWL v1.x OutputArraySchema object.
`OutputEnumSchema` | Type union for a CWL v1.x OutputEnumSchema object.
`OutputRecordField` | Type union for a CWL v1.x OutputRecordField object.
`OutputRecordSchema` | Type union for a CWL v1.x OutputRecordSchema object.
`OutputSchema` | Type union for a CWL v1.x OutputSchema object.
`Workflow` |
`WorkflowTypes` | Type union for a CWL v1.x Workflow object.
`WorkflowInputParameter` | Type union for a CWL v1.x WorkflowInputParameter object.
`WorkflowOutputParameter` | Type union for a CWL v1.x WorkflowOutputParameter object.
`WorkflowStep` | Type union for a CWL v1.x WorkflowStep object.
`ScatterWorkflowStep` | Type union for a CWL v1.x ScatterWorkflowStep object.
`LoopWorkflowStep` | Type union for a CWL v1.x LoopWorkflowStep object.
`WorkflowStepInput` | Type union for a CWL v1.x WorkflowStepInput object.
`WorkflowStepOutput` | Type union for a CWL v1.x WorkflowStepOutput object.
`CommandLineTool` |
`CommandLineToolTypes` | Type union for a CWL v1.x CommandLineTool object.
`CommandLineBinding` | Type union for a CWL v1.x CommandLineBinding object.
`CommandOutputBinding` | Type union for a CWL v1.x CommandOutputBinding object.
`CommandInputParameter` | Type union for a CWL v1.x CommandInputParameter object.
`CommandOutputParameter` | Type union for a CWL v1.x CommandOutputParameter object.
`CommandOutputRecordField` | Type union for a CWL v1.x CommandOutputRecordField object.
`ExpressionTool` | Type union for a CWL v1.x ExpressionTool object.
`ExpressionToolOutputParameter` | Type union for a CWL v1.x ExpressionToolOutputParameter object.
`DockerRequirement` |
`DockerRequirementTypes` | Type union for a CWL v1.x DockerRequirement object.
`Process` | Type Union for a CWL v1.x Process object.
`ProcessRequirement` | Type Union for a CWL v1.x ProcessRequirement object.
`ProcessRequirementTypes` |
`SoftwareRequirement` |
`SoftwareRequirementTypes` | Type union for a CWL v1.x SoftwareRequirement object.
`ArraySchema` |
`InputArraySchema` |
`InputArraySchemaTypes` | Type Union for a CWL v1.x ArraySchema object.
`EnumSchema` |
`InputEnumSchema` |
`InputEnumSchemaTypes` | Type Union for a CWL v1.x EnumSchema object.
`RecordSchema` |
`InputRecordSchema` |
`InputRecordSchemaTypes` | Type Union for a CWL v1.x RecordSchema object.
`File` | Type Union for a CWL v1.x File object.
`SecondaryFileSchema` | Type Union for a CWL v1.x SecondaryFileSchema object.
`Directory` | Type Union for a CWL v1.x Directory object.
`Dirent` | Type Union for a CWL v1.x Dirent object.
`LoadContents` | Type Union for a CWL v1.x LoadContents object.

## Exceptions

`GraphTargetMissingException` | When a $graph is encountered and there is no target and no main/#main.

## Classes

`NoType` | Helper class that provides a standard way to create an ABC using

## Functions

`cwl_version`(yaml) | Return the cwlVersion of a YAML object.
`load_document_by_uri`(path[, loadingOptions, load_all]) | Load a CWL object from a URI or a path.
`load_document`(doc[, baseuri, loadingOptions, id_, ...]) | Load a CWL object from a serialized YAML string or a YAML object.
`load_document_by_string`(string, uri[, loadingOptions, ...]) | Load a CWL object from a serialized YAML string.
`load_document_by_yaml`(yaml, uri[, loadingOptions, ...]) | Load a CWL object from a YAML object.
`save`(val[, top, base_url, relative_uris]) | Convert a CWL Python object into a JSON/YAML serializable object.
`is_process`(v) | Test to see if the object is a CWL v1.x Python Process object.
`version_split`(version) | Split a cwlVersion value into its numerical components.

## Package Contents

exception cwl_utils.parser.GraphTargetMissingException

  Bases: `WorkflowException`

  digraph inheritancead04d2126e { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "GraphTargetMissingException" [URL="../errors/index.html#cwl_utils.errors.GraphTargetMissingException",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="When a $graph is encountered and there is no target and no main/#main."]; "WorkflowException" -> "GraphTargetMissingException" [arrowsize=0.5,style="setlinewidth(0.5)"]; "WorkflowException" [URL="../errors/index.html#cwl_utils.errors.WorkflowException",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; }

  When a $graph is encountered and there is no target and no main/#main.

class cwl_utils.parser.NoType

  Bases: `abc.ABC`

  digraph inheritancee296b9966c { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "NoType" [URL="#cwl_utils.parser.NoType",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "ABC" -> "NoType" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

  Helper class that provides a standard way to create an ABC using inheritance.

type cwl_utils.parser.LoadingOptions = cwl_v1_0.LoadingOptions | cwl_v1_1.LoadingOptions | cwl_v1_2.LoadingOptions

  Type union for a CWL v1.x LoadingOptions object.

type cwl_utils.parser.Saveable = cwl_v1_0.Saveable | cwl_v1_1.Saveable | cwl_v1_2.Saveable

  Type union for a CWL v1.x Saveable object.

type cwl_utils.parser.InputParameter = cwl_v1_0.InputParameter | cwl_v1_1.InputParameter | cwl_v1_2.InputParameter

  Type union for a CWL v1.x InputEnumSchema object.

type cwl_utils.parser.InputRecordField = cwl_v1_0.InputRecordField | cwl_v1_1.InputRecordField | cwl_v1_2.InputRecordField

  Type union for a CWL v1.x InputRecordSchema object.

type cwl_utils.parser.InputSchema = cwl_v1_0.InputSchema | cwl_v1_1.InputSchema | cwl_v1_2.InputSchema

  Type union for a CWL v1.x InputSchema object.

type cwl_utils.parser.OutputParameter = cwl_v1_0.OutputParameter | cwl_v1_1.OutputParameter | cwl_v1_2.OutputParameter

  Type union for a CWL v1.x OutputParameter object.

type cwl_utils.parser.OutputArraySchema = cwl_v1_0.OutputArraySchema | cwl_v1_1.OutputArraySchema | cwl_v1_2.OutputArraySchema

  Type union for a CWL v1.x OutputArraySchema object.

type cwl_utils.parser.OutputEnumSchema = cwl_v1_0.OutputEnumSchema | cwl_v1_1.OutputEnumSchema | cwl_v1_2.OutputEnumSchema

  Type union for a CWL v1.x OutputEnumSchema object.

type cwl_utils.parser.OutputRecordField = cwl_v1_0.OutputRecordField | cwl_v1_1.OutputRecordField | cwl_v1_2.OutputRecordField

  Type union for a CWL v1.x OutputRecordField object.

type cwl_utils.parser.OutputRecordSchema = cwl_v1_0.OutputRecordSchema | cwl_v1_1.OutputRecordSchema | cwl_v1_2.OutputRecordSchema

  Type union for a CWL v1.x OutputRecordSchema object.

type cwl_utils.parser.OutputSchema = cwl_v1_0.OutputSchema | cwl_v1_1.OutputSchema | cwl_v1_2.OutputSchema

  Type union for a CWL v1.x OutputSchema object.

type cwl_utils.parser.Workflow = cwl_v1_0.Workflow | cwl_v1_1.Workflow | cwl_v1_2.Workflow

cwl_utils.parser.WorkflowTypes

  Type union for a CWL v1.x Workflow object.

type cwl_utils.parser.WorkflowInputParameter = cwl_v1_0.InputParameter | cwl_v1_1.WorkflowInputParameter | cwl_v1_2.WorkflowInputParameter

  Type union for a CWL v1.x WorkflowInputParameter object.

type cwl_utils.parser.WorkflowOutputParameter = cwl_v1_0.WorkflowOutputParameter | cwl_v1_1.WorkflowOutputParameter | cwl_v1_2.WorkflowOutputParameter

  Type union for a CWL v1.x WorkflowOutputParameter object.

type cwl_utils.parser.WorkflowStep = cwl_v1_0.WorkflowStep | cwl_v1_1.WorkflowStep | cwl_v1_2.WorkflowStep

  Type union for a CWL v1.x WorkflowStep object.

type cwl_utils.parser.ScatterWorkflowStep = cwl_v1_0.WorkflowStep | cwl_v1_1.WorkflowStep | cwl_v1_2.WorkflowStep

  Type union for a CWL v1.x ScatterWorkflowStep object.

type cwl_utils.parser.LoopWorkflowStep = NoType

  Type union for a CWL v1.x LoopWorkflowStep object.

type cwl_utils.parser.WorkflowStepInput = cwl_v1_0.WorkflowStepInput | cwl_v1_1.WorkflowStepInput | cwl_v1_2.WorkflowStepInput

  Type union for a CWL v1.x WorkflowStepInput object.

type cwl_utils.parser.WorkflowStepOutput = cwl_v1_0.WorkflowStepOutput | cwl_v1_1.WorkflowStepOutput | cwl_v1_2.WorkflowStepOutput

  Type union for a CWL v1.x WorkflowStepOutput object.

type cwl_utils.parser.CommandLineTool = cwl_v1_0.CommandLineTool | cwl_v1_1.CommandLineTool | cwl_v1_2.CommandLineTool

cwl_utils.parser.CommandLineToolTypes

  Type union for a CWL v1.x CommandLineTool object.

type cwl_utils.parser.CommandLineBinding = cwl_v1_0.CommandLineBinding | cwl_v1_1.CommandLineBinding | cwl_v1_2.CommandLineBinding

  Type union for a CWL v1.x CommandLineBinding object.

type cwl_utils.parser.CommandOutputBinding = cwl_v1_0.CommandOutputBinding | cwl_v1_1.CommandOutputBinding | cwl_v1_2.CommandOutputBinding

  Type union for a CWL v1.x CommandOutputBinding object.

type cwl_utils.parser.CommandInputParameter = cwl_v1_0.CommandInputParameter | cwl_v1_1.CommandInputParameter | cwl_v1_2.CommandInputParameter

  Type union for a CWL v1.x CommandInputParameter object.

type cwl_utils.parser.CommandOutputParameter = cwl_v1_0.CommandOutputParameter | cwl_v1_1.CommandOutputParameter | cwl_v1_2.CommandOutputParameter

  Type union for a CWL v1.x CommandOutputParameter object.

type cwl_utils.parser.CommandOutputRecordField = cwl_v1_0.CommandOutputRecordField | cwl_v1_1.CommandOutputRecordField | cwl_v1_2.CommandOutputRecordField

  Type union for a CWL v1.x CommandOutputRecordField object.

type cwl_utils.parser.ExpressionTool = cwl_v1_0.ExpressionTool | cwl_v1_1.ExpressionTool | cwl_v1_2.ExpressionTool

  Type union for a CWL v1.x ExpressionTool object.

type cwl_utils.parser.ExpressionToolOutputParameter = cwl_v1_0.ExpressionToolOutputParameter | cwl_v1_1.ExpressionToolOutputParameter | cwl_v1_2.ExpressionToolOutputParameter

  Type union for a CWL v1.x ExpressionToolOutputParameter object.

type cwl_utils.parser.DockerRequirement = cwl_v1_0.DockerRequirement | cwl_v1_1.DockerRequirement | cwl_v1_2.DockerRequirement

cwl_utils.parser.DockerRequirementTypes

  Type union for a CWL v1.x DockerRequirement object.

type cwl_utils.parser.Process = Workflow | CommandLineTool | ExpressionTool | cwl_v1_2.Operation

  Type Union for a CWL v1.x Process object.

type cwl_utils.parser.ProcessRequirement = cwl_v1_0.ProcessRequirement | cwl_v1_1.ProcessRequirement | cwl_v1_2.ProcessRequirement

  Type Union for a CWL v1.x ProcessRequirement object.

cwl_utils.parser.ProcessRequirementTypes

type cwl_utils.parser.SoftwareRequirement = cwl_v1_0.SoftwareRequirement | cwl_v1_1.SoftwareRequirement | cwl_v1_2.SoftwareRequirement

cwl_utils.parser.SoftwareRequirementTypes

  Type union for a CWL v1.x SoftwareRequirement object.

type cwl_utils.parser.ArraySchema = cwl_v1_0.ArraySchema | cwl_v1_1.ArraySchema | cwl_v1_2.ArraySchema

type cwl_utils.parser.InputArraySchema = cwl_v1_0.InputArraySchema | cwl_v1_1.InputArraySchema | cwl_v1_2.InputArraySchema

cwl_utils.parser.InputArraySchemaTypes

  Type Union for a CWL v1.x ArraySchema object.

type cwl_utils.parser.EnumSchema = cwl_v1_0.EnumSchema | cwl_v1_1.EnumSchema | cwl_v1_2.EnumSchema

type cwl_utils.parser.InputEnumSchema = cwl_v1_0.InputEnumSchema | cwl_v1_1.InputEnumSchema | cwl_v1_2.InputEnumSchema

cwl_utils.parser.InputEnumSchemaTypes

  Type Union for a CWL v1.x EnumSchema object.

type cwl_utils.parser.RecordSchema = cwl_v1_0.RecordSchema | cwl_v1_1.RecordSchema | cwl_v1_2.RecordSchema

type cwl_utils.parser.InputRecordSchema = cwl_v1_0.InputRecordSchema | cwl_v1_1.InputRecordSchema | cwl_v1_2.InputRecordSchema

cwl_utils.parser.InputRecordSchemaTypes

  Type Union for a CWL v1.x RecordSchema object.

type cwl_utils.parser.File = cwl_v1_0.File | cwl_v1_1.File | cwl_v1_2.File

  Type Union for a CWL v1.x File object.

type cwl_utils.parser.SecondaryFileSchema = cwl_v1_1.SecondaryFileSchema | cwl_v1_2.SecondaryFileSchema

  Type Union for a CWL v1.x SecondaryFileSchema object.

type cwl_utils.parser.Directory = cwl_v1_0.Directory | cwl_v1_1.Directory | cwl_v1_2.Directory

  Type Union for a CWL v1.x Directory object.

type cwl_utils.parser.Dirent = cwl_v1_0.Dirent | cwl_v1_1.Dirent | cwl_v1_2.Dirent

  Type Union for a CWL v1.x Dirent object.

type cwl_utils.parser.LoadContents = cwl_v1_1.CommandInputParameter | cwl_v1_2.CommandInputParameter | cwl_v1_1.CommandOutputBinding | cwl_v1_2.CommandOutputBinding | cwl_v1_1.InputRecordField | cwl_v1_2.InputRecordField | cwl_v1_1.WorkflowInputParameter | cwl_v1_2.WorkflowInputParameter | cwl_v1_1.WorkflowStepInput | cwl_v1_2.WorkflowStepInput

  Type Union for a CWL v1.x LoadContents object.

cwl_utils.parser.cwl_version(yaml)

  Return the cwlVersion of a YAML object.

  Parameters:

    yaml (Any) – ruamel.yaml object for a CWL document

  Raises:

    ValidationException – If yaml is not a MutableMapping.

  Return type:

    str | None

cwl_utils.parser.load_document_by_uri(path, loadingOptions=None, load_all=False)

  Load a CWL object from a URI or a path.

  Parameters:

    - path (str | pathlib.Path)

    - loadingOptions (LoadingOptions | None)

    - load_all (bool)

  Return type:

    Any

cwl_utils.parser.load_document(doc, baseuri=None, loadingOptions=None, id_=None, load_all=False)

  Load a CWL object from a serialized YAML string or a YAML object.

  Parameters:

    - doc (Any)

    - baseuri (str | None)

    - loadingOptions (LoadingOptions | None)

    - id_ (str | None)

    - load_all (bool)

  Return type:

    Any

cwl_utils.parser.load_document_by_string(string, uri, loadingOptions=None, id_=None, load_all=False)

  Load a CWL object from a serialized YAML string.

  Parameters:

    - string (str)

    - uri (str)

    - loadingOptions (LoadingOptions | None)

    - id_ (str | None)

    - load_all (bool)

  Return type:

    Any

cwl_utils.parser.load_document_by_yaml(yaml, uri, loadingOptions=None, id_=None, load_all=False)

  Load a CWL object from a YAML object.

  Parameters:

    - yaml (Any)

    - uri (str)

    - loadingOptions (LoadingOptions | None)

    - id_ (str | None)

    - load_all (bool)

  Return type:

    Any

cwl_utils.parser.save(val, top=True, base_url='', relative_uris=True)

  Convert a CWL Python object into a JSON/YAML serializable object.

  Parameters:

    - val (Saveable | collections.abc.MutableSequence[Saveable] | None)

    - top (bool)

    - base_url (str)

    - relative_uris (bool)

  Return type:

    Any

cwl_utils.parser.is_process(v)

  Test to see if the object is a CWL v1.x Python Process object.

  Parameters:

    v (Any)

  Return type:

    bool

cwl_utils.parser.version_split(version)

  Split a cwlVersion value into its numerical components.

  Parameters:

    version (str)

  Return type:

    collections.abc.MutableSequence[int]