cwl_utils.parser.cwl_v1_1
=========================

.. py:module:: cwl_utils.parser.cwl_v1_1


Attributes
----------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_1.strtype
   cwl_utils.parser.cwl_v1_1.inttype
   cwl_utils.parser.cwl_v1_1.floattype
   cwl_utils.parser.cwl_v1_1.booltype
   cwl_utils.parser.cwl_v1_1.None_type
   cwl_utils.parser.cwl_v1_1.Any_type
   cwl_utils.parser.cwl_v1_1.DocumentedProxyLoader
   cwl_utils.parser.cwl_v1_1.PrimitiveTypeLoader
   cwl_utils.parser.cwl_v1_1.AnyLoader
   cwl_utils.parser.cwl_v1_1.RecordFieldLoader
   cwl_utils.parser.cwl_v1_1.RecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.EnumSchemaLoader
   cwl_utils.parser.cwl_v1_1.ArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.MapSchemaLoader
   cwl_utils.parser.cwl_v1_1.UnionSchemaLoader
   cwl_utils.parser.cwl_v1_1.CWLTypeLoader
   cwl_utils.parser.cwl_v1_1.CWLArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.CWLRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.CWLRecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.FileLoader
   cwl_utils.parser.cwl_v1_1.DirectoryLoader
   cwl_utils.parser.cwl_v1_1.CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_None_type_or_CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.map_of_union_of_None_type_or_CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.CWLVersionLoader
   cwl_utils.parser.cwl_v1_1.LabeledProxyLoader
   cwl_utils.parser.cwl_v1_1.IdentifiedProxyLoader
   cwl_utils.parser.cwl_v1_1.IdentifierRequiredProxyLoader
   cwl_utils.parser.cwl_v1_1.LoadListingEnumLoader
   cwl_utils.parser.cwl_v1_1.LoadContentsProxyLoader
   cwl_utils.parser.cwl_v1_1.FieldBaseProxyLoader
   cwl_utils.parser.cwl_v1_1.InputFormatProxyLoader
   cwl_utils.parser.cwl_v1_1.OutputFormatProxyLoader
   cwl_utils.parser.cwl_v1_1.ParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.ExpressionLoader
   cwl_utils.parser.cwl_v1_1.InputBindingLoader
   cwl_utils.parser.cwl_v1_1.IOSchemaProxyLoader
   cwl_utils.parser.cwl_v1_1.InputSchemaProxyLoader
   cwl_utils.parser.cwl_v1_1.OutputSchemaProxyLoader
   cwl_utils.parser.cwl_v1_1.InputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.InputRecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.InputEnumSchemaLoader
   cwl_utils.parser.cwl_v1_1.InputArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.InputParameterTypeLoader
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.OutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.OutputRecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.OutputEnumSchemaLoader
   cwl_utils.parser.cwl_v1_1.OutputArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.OutputParameterTypeLoader
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.InputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.OutputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.ProcessRequirementProxyLoader
   cwl_utils.parser.cwl_v1_1.ProcessProxyLoader
   cwl_utils.parser.cwl_v1_1.InlineJavascriptRequirementLoader
   cwl_utils.parser.cwl_v1_1.CommandInputSchemaProxyLoader
   cwl_utils.parser.cwl_v1_1.SchemaDefRequirementLoader
   cwl_utils.parser.cwl_v1_1.SecondaryFileSchemaLoader
   cwl_utils.parser.cwl_v1_1.LoadListingRequirementLoader
   cwl_utils.parser.cwl_v1_1.EnvironmentDefLoader
   cwl_utils.parser.cwl_v1_1.CommandLineBindingLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputBindingLoader
   cwl_utils.parser.cwl_v1_1.CommandLineBindableProxyLoader
   cwl_utils.parser.cwl_v1_1.CommandInputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.CommandInputRecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.CommandInputEnumSchemaLoader
   cwl_utils.parser.cwl_v1_1.CommandInputArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputRecordSchemaLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputEnumSchemaLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.stdinLoader
   cwl_utils.parser.cwl_v1_1.stdoutLoader
   cwl_utils.parser.cwl_v1_1.stderrLoader
   cwl_utils.parser.cwl_v1_1.CommandInputParameterTypeLoader
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.CommandInputParameterLoader
   cwl_utils.parser.cwl_v1_1.CommandOutputParameterTypeLoader
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.CommandOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.CommandLineToolLoader
   cwl_utils.parser.cwl_v1_1.DockerRequirementLoader
   cwl_utils.parser.cwl_v1_1.SoftwareRequirementLoader
   cwl_utils.parser.cwl_v1_1.SoftwarePackageLoader
   cwl_utils.parser.cwl_v1_1.DirentLoader
   cwl_utils.parser.cwl_v1_1.InitialWorkDirRequirementLoader
   cwl_utils.parser.cwl_v1_1.EnvVarRequirementLoader
   cwl_utils.parser.cwl_v1_1.ShellCommandRequirementLoader
   cwl_utils.parser.cwl_v1_1.ResourceRequirementLoader
   cwl_utils.parser.cwl_v1_1.WorkReuseLoader
   cwl_utils.parser.cwl_v1_1.NetworkAccessLoader
   cwl_utils.parser.cwl_v1_1.InplaceUpdateRequirementLoader
   cwl_utils.parser.cwl_v1_1.ToolTimeLimitLoader
   cwl_utils.parser.cwl_v1_1.ExpressionToolOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.WorkflowInputParameterLoader
   cwl_utils.parser.cwl_v1_1.ExpressionToolLoader
   cwl_utils.parser.cwl_v1_1.LinkMergeMethodLoader
   cwl_utils.parser.cwl_v1_1.WorkflowOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.SinkProxyLoader
   cwl_utils.parser.cwl_v1_1.WorkflowStepInputLoader
   cwl_utils.parser.cwl_v1_1.WorkflowStepOutputLoader
   cwl_utils.parser.cwl_v1_1.ScatterMethodLoader
   cwl_utils.parser.cwl_v1_1.WorkflowStepLoader
   cwl_utils.parser.cwl_v1_1.WorkflowLoader
   cwl_utils.parser.cwl_v1_1.SubworkflowFeatureRequirementLoader
   cwl_utils.parser.cwl_v1_1.ScatterFeatureRequirementLoader
   cwl_utils.parser.cwl_v1_1.MultipleInputFeatureRequirementLoader
   cwl_utils.parser.cwl_v1_1.StepInputExpressionRequirementLoader
   cwl_utils.parser.cwl_v1_1.union_of_SchemaDefRequirementLoader_or_StepInputExpressionRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_WorkReuseLoader_or_SoftwareRequirementLoader_or_LoadListingRequirementLoader_or_SubworkflowFeatureRequirementLoader_or_InitialWorkDirRequirementLoader_or_DockerRequirementLoader_or_InplaceUpdateRequirementLoader_or_EnvVarRequirementLoader_or_ToolTimeLimitLoader_or_NetworkAccessLoader_or_InlineJavascriptRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader
   cwl_utils.parser.cwl_v1_1.array_of_ProcessRequirementProxyLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_ProcessRequirementProxyLoader_or_CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.map_of_union_of_None_type_or_array_of_ProcessRequirementProxyLoader_or_CWLObjectTypeLoader
   cwl_utils.parser.cwl_v1_1.CWLInputFileLoader
   cwl_utils.parser.cwl_v1_1.SecretsLoader
   cwl_utils.parser.cwl_v1_1.ProcessGeneratorLoader
   cwl_utils.parser.cwl_v1_1.MPIRequirementLoader
   cwl_utils.parser.cwl_v1_1.CUDARequirementLoader
   cwl_utils.parser.cwl_v1_1.ShmSizeLoader
   cwl_utils.parser.cwl_v1_1.array_of_strtype
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_strtype_or_array_of_strtype
   cwl_utils.parser.cwl_v1_1.uri_strtype_True_False_None_None
   cwl_utils.parser.cwl_v1_1.union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.array_of_RecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_RecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_RecordFieldLoader
   cwl_utils.parser.cwl_v1_1.Record_nameLoader
   cwl_utils.parser.cwl_v1_1.typedsl_Record_nameLoader_2
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_strtype
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_True_False_None_None
   cwl_utils.parser.cwl_v1_1.uri_array_of_strtype_True_False_None_None
   cwl_utils.parser.cwl_v1_1.Enum_nameLoader
   cwl_utils.parser.cwl_v1_1.typedsl_Enum_nameLoader_2
   cwl_utils.parser.cwl_v1_1.uri_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.Array_nameLoader
   cwl_utils.parser.cwl_v1_1.typedsl_Array_nameLoader_2
   cwl_utils.parser.cwl_v1_1.Map_nameLoader
   cwl_utils.parser.cwl_v1_1.typedsl_Map_nameLoader_2
   cwl_utils.parser.cwl_v1_1.Union_nameLoader
   cwl_utils.parser.cwl_v1_1.typedsl_Union_nameLoader_2
   cwl_utils.parser.cwl_v1_1.union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.uri_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.array_of_CWLRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_CWLRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_CWLRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.File_classLoader
   cwl_utils.parser.cwl_v1_1.uri_File_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_False_False_None_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_inttype
   cwl_utils.parser.cwl_v1_1.union_of_FileLoader_or_DirectoryLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_FileLoader_or_DirectoryLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader
   cwl_utils.parser.cwl_v1_1.secondaryfilesdsl_union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_True_False_None_True
   cwl_utils.parser.cwl_v1_1.Directory_classLoader
   cwl_utils.parser.cwl_v1_1.uri_Directory_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_booltype
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_LoadListingEnumLoader
   cwl_utils.parser.cwl_v1_1.array_of_SecondaryFileSchemaLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader
   cwl_utils.parser.cwl_v1_1.secondaryfilesdsl_union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader_True_False_None_True
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_strtype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_or_ExpressionLoader_True_False_None_True
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.array_of_InputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_InputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_InputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.array_of_OutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_OutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_OutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.union_of_CommandInputParameterLoader_or_WorkflowInputParameterLoader
   cwl_utils.parser.cwl_v1_1.array_of_InputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.idmap_inputs_array_of_InputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.union_of_WorkflowOutputParameterLoader_or_CommandOutputParameterLoader_or_ExpressionToolOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.array_of_OutputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.idmap_outputs_array_of_OutputParameterProxyLoader
   cwl_utils.parser.cwl_v1_1.union_of_ShmSizeLoader_or_ScatterFeatureRequirementLoader_or_SubworkflowFeatureRequirementLoader_or_NetworkAccessLoader_or_InlineJavascriptRequirementLoader_or_MPIRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_DockerRequirementLoader_or_CUDARequirementLoader_or_SchemaDefRequirementLoader_or_StepInputExpressionRequirementLoader_or_InplaceUpdateRequirementLoader_or_EnvVarRequirementLoader_or_ResourceRequirementLoader_or_SecretsLoader_or_MultipleInputFeatureRequirementLoader_or_WorkReuseLoader_or_LoadListingRequirementLoader_or_ToolTimeLimitLoader_or_ShellCommandRequirementLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_ProcessRequirementProxyLoader
   cwl_utils.parser.cwl_v1_1.idmap_requirements_union_of_None_type_or_array_of_ProcessRequirementProxyLoader
   cwl_utils.parser.cwl_v1_1.union_of_ProcessRequirementProxyLoader_or_Any_type
   cwl_utils.parser.cwl_v1_1.array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   cwl_utils.parser.cwl_v1_1.idmap_hints_union_of_None_type_or_array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_CWLVersionLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_CWLVersionLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.InlineJavascriptRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_InlineJavascriptRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_strtype
   cwl_utils.parser.cwl_v1_1.SchemaDefRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_SchemaDefRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_CommandInputEnumSchemaLoader_or_CommandInputRecordSchemaLoader_or_CommandInputArraySchemaLoader
   cwl_utils.parser.cwl_v1_1.array_of_CommandInputSchemaProxyLoader
   cwl_utils.parser.cwl_v1_1.union_of_strtype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_booltype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.LoadListingRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_LoadListingRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_inttype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_strtype_or_ExpressionLoader_or_array_of_strtype
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_CommandLineBindingLoader
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.array_of_CommandInputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_CommandInputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_CommandInputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   cwl_utils.parser.cwl_v1_1.typedsl_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_2
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_CommandOutputBindingLoader
   cwl_utils.parser.cwl_v1_1.array_of_CommandOutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_CommandOutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.idmap_fields_union_of_None_type_or_array_of_CommandOutputRecordFieldLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_False_True_2_None
   cwl_utils.parser.cwl_v1_1.typedsl_CommandInputParameterTypeLoader_2
   cwl_utils.parser.cwl_v1_1.typedsl_CommandOutputParameterTypeLoader_2
   cwl_utils.parser.cwl_v1_1.CommandLineTool_classLoader
   cwl_utils.parser.cwl_v1_1.uri_CommandLineTool_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.array_of_CommandInputParameterLoader
   cwl_utils.parser.cwl_v1_1.idmap_inputs_array_of_CommandInputParameterLoader
   cwl_utils.parser.cwl_v1_1.array_of_CommandOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.idmap_outputs_array_of_CommandOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   cwl_utils.parser.cwl_v1_1.array_of_inttype
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_inttype
   cwl_utils.parser.cwl_v1_1.DockerRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_DockerRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.SoftwareRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_SoftwareRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.array_of_SoftwarePackageLoader
   cwl_utils.parser.cwl_v1_1.idmap_packages_array_of_SoftwarePackageLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_array_of_strtype_False_False_None_True
   cwl_utils.parser.cwl_v1_1.InitialWorkDirRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_InitialWorkDirRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.union_of_array_of_union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.EnvVarRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_EnvVarRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.array_of_EnvironmentDefLoader
   cwl_utils.parser.cwl_v1_1.idmap_envDef_array_of_EnvironmentDefLoader
   cwl_utils.parser.cwl_v1_1.ShellCommandRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_ShellCommandRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.ResourceRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_ResourceRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.WorkReuse_classLoader
   cwl_utils.parser.cwl_v1_1.uri_WorkReuse_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_booltype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.NetworkAccess_classLoader
   cwl_utils.parser.cwl_v1_1.uri_NetworkAccess_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.InplaceUpdateRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_InplaceUpdateRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.ToolTimeLimit_classLoader
   cwl_utils.parser.cwl_v1_1.uri_ToolTimeLimit_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.union_of_inttype_or_ExpressionLoader
   cwl_utils.parser.cwl_v1_1.typedsl_OutputParameterTypeLoader_2
   cwl_utils.parser.cwl_v1_1.typedsl_InputParameterTypeLoader_2
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_InputBindingLoader
   cwl_utils.parser.cwl_v1_1.ExpressionTool_classLoader
   cwl_utils.parser.cwl_v1_1.uri_ExpressionTool_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.array_of_WorkflowInputParameterLoader
   cwl_utils.parser.cwl_v1_1.idmap_inputs_array_of_WorkflowInputParameterLoader
   cwl_utils.parser.cwl_v1_1.array_of_ExpressionToolOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.idmap_outputs_array_of_ExpressionToolOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_1_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_LinkMergeMethodLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_2_None
   cwl_utils.parser.cwl_v1_1.array_of_WorkflowStepInputLoader
   cwl_utils.parser.cwl_v1_1.idmap_in__array_of_WorkflowStepInputLoader
   cwl_utils.parser.cwl_v1_1.union_of_strtype_or_WorkflowStepOutputLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_strtype_or_WorkflowStepOutputLoader
   cwl_utils.parser.cwl_v1_1.union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader_True_False_None_None
   cwl_utils.parser.cwl_v1_1.array_of_Any_type
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_array_of_Any_type
   cwl_utils.parser.cwl_v1_1.idmap_hints_union_of_None_type_or_array_of_Any_type
   cwl_utils.parser.cwl_v1_1.union_of_WorkflowLoader_or_CommandLineToolLoader_or_ProcessGeneratorLoader_or_ExpressionToolLoader
   cwl_utils.parser.cwl_v1_1.union_of_strtype_or_ProcessProxyLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_strtype_or_ProcessProxyLoader_False_False_None_None
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_0_None
   cwl_utils.parser.cwl_v1_1.union_of_None_type_or_ScatterMethodLoader
   cwl_utils.parser.cwl_v1_1.uri_union_of_None_type_or_ScatterMethodLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.Workflow_classLoader
   cwl_utils.parser.cwl_v1_1.uri_Workflow_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.array_of_WorkflowOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.idmap_outputs_array_of_WorkflowOutputParameterLoader
   cwl_utils.parser.cwl_v1_1.array_of_WorkflowStepLoader
   cwl_utils.parser.cwl_v1_1.union_of_array_of_WorkflowStepLoader
   cwl_utils.parser.cwl_v1_1.idmap_steps_union_of_array_of_WorkflowStepLoader
   cwl_utils.parser.cwl_v1_1.SubworkflowFeatureRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_SubworkflowFeatureRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.ScatterFeatureRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_ScatterFeatureRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.MultipleInputFeatureRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_MultipleInputFeatureRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.StepInputExpressionRequirement_classLoader
   cwl_utils.parser.cwl_v1_1.uri_StepInputExpressionRequirement_classLoader_False_True_None_None
   cwl_utils.parser.cwl_v1_1.uri_strtype_False_True_None_None
   cwl_utils.parser.cwl_v1_1.uri_array_of_strtype_False_False_0_None
   cwl_utils.parser.cwl_v1_1.union_of_strtype_or_array_of_strtype
   cwl_utils.parser.cwl_v1_1.union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader
   cwl_utils.parser.cwl_v1_1.array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader
   cwl_utils.parser.cwl_v1_1.union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader_or_array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader


Classes
-------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_1.CWLArraySchema
   cwl_utils.parser.cwl_v1_1.CWLRecordField
   cwl_utils.parser.cwl_v1_1.CWLRecordSchema
   cwl_utils.parser.cwl_v1_1.File
   cwl_utils.parser.cwl_v1_1.Directory
   cwl_utils.parser.cwl_v1_1.Labeled
   cwl_utils.parser.cwl_v1_1.Identified
   cwl_utils.parser.cwl_v1_1.IdentifierRequired
   cwl_utils.parser.cwl_v1_1.LoadContents
   cwl_utils.parser.cwl_v1_1.FieldBase
   cwl_utils.parser.cwl_v1_1.InputFormat
   cwl_utils.parser.cwl_v1_1.OutputFormat
   cwl_utils.parser.cwl_v1_1.Parameter
   cwl_utils.parser.cwl_v1_1.InputBinding
   cwl_utils.parser.cwl_v1_1.IOSchema
   cwl_utils.parser.cwl_v1_1.InputSchema
   cwl_utils.parser.cwl_v1_1.OutputSchema
   cwl_utils.parser.cwl_v1_1.InputRecordField
   cwl_utils.parser.cwl_v1_1.InputRecordSchema
   cwl_utils.parser.cwl_v1_1.InputEnumSchema
   cwl_utils.parser.cwl_v1_1.InputArraySchema
   cwl_utils.parser.cwl_v1_1.OutputRecordField
   cwl_utils.parser.cwl_v1_1.OutputRecordSchema
   cwl_utils.parser.cwl_v1_1.OutputEnumSchema
   cwl_utils.parser.cwl_v1_1.OutputArraySchema
   cwl_utils.parser.cwl_v1_1.InputParameter
   cwl_utils.parser.cwl_v1_1.OutputParameter
   cwl_utils.parser.cwl_v1_1.ProcessRequirement
   cwl_utils.parser.cwl_v1_1.Process
   cwl_utils.parser.cwl_v1_1.InlineJavascriptRequirement
   cwl_utils.parser.cwl_v1_1.CommandInputSchema
   cwl_utils.parser.cwl_v1_1.SchemaDefRequirement
   cwl_utils.parser.cwl_v1_1.SecondaryFileSchema
   cwl_utils.parser.cwl_v1_1.LoadListingRequirement
   cwl_utils.parser.cwl_v1_1.EnvironmentDef
   cwl_utils.parser.cwl_v1_1.CommandLineBinding
   cwl_utils.parser.cwl_v1_1.CommandOutputBinding
   cwl_utils.parser.cwl_v1_1.CommandLineBindable
   cwl_utils.parser.cwl_v1_1.CommandInputRecordField
   cwl_utils.parser.cwl_v1_1.CommandInputRecordSchema
   cwl_utils.parser.cwl_v1_1.CommandInputEnumSchema
   cwl_utils.parser.cwl_v1_1.CommandInputArraySchema
   cwl_utils.parser.cwl_v1_1.CommandOutputRecordField
   cwl_utils.parser.cwl_v1_1.CommandOutputRecordSchema
   cwl_utils.parser.cwl_v1_1.CommandOutputEnumSchema
   cwl_utils.parser.cwl_v1_1.CommandOutputArraySchema
   cwl_utils.parser.cwl_v1_1.CommandInputParameter
   cwl_utils.parser.cwl_v1_1.CommandOutputParameter
   cwl_utils.parser.cwl_v1_1.CommandLineTool
   cwl_utils.parser.cwl_v1_1.DockerRequirement
   cwl_utils.parser.cwl_v1_1.SoftwareRequirement
   cwl_utils.parser.cwl_v1_1.SoftwarePackage
   cwl_utils.parser.cwl_v1_1.Dirent
   cwl_utils.parser.cwl_v1_1.InitialWorkDirRequirement
   cwl_utils.parser.cwl_v1_1.EnvVarRequirement
   cwl_utils.parser.cwl_v1_1.ShellCommandRequirement
   cwl_utils.parser.cwl_v1_1.ResourceRequirement
   cwl_utils.parser.cwl_v1_1.WorkReuse
   cwl_utils.parser.cwl_v1_1.NetworkAccess
   cwl_utils.parser.cwl_v1_1.InplaceUpdateRequirement
   cwl_utils.parser.cwl_v1_1.ToolTimeLimit
   cwl_utils.parser.cwl_v1_1.ExpressionToolOutputParameter
   cwl_utils.parser.cwl_v1_1.WorkflowInputParameter
   cwl_utils.parser.cwl_v1_1.ExpressionTool
   cwl_utils.parser.cwl_v1_1.WorkflowOutputParameter
   cwl_utils.parser.cwl_v1_1.Sink
   cwl_utils.parser.cwl_v1_1.WorkflowStepInput
   cwl_utils.parser.cwl_v1_1.WorkflowStepOutput
   cwl_utils.parser.cwl_v1_1.WorkflowStep
   cwl_utils.parser.cwl_v1_1.Workflow
   cwl_utils.parser.cwl_v1_1.SubworkflowFeatureRequirement
   cwl_utils.parser.cwl_v1_1.ScatterFeatureRequirement
   cwl_utils.parser.cwl_v1_1.MultipleInputFeatureRequirement
   cwl_utils.parser.cwl_v1_1.StepInputExpressionRequirement
   cwl_utils.parser.cwl_v1_1.Secrets
   cwl_utils.parser.cwl_v1_1.ProcessGenerator
   cwl_utils.parser.cwl_v1_1.MPIRequirement
   cwl_utils.parser.cwl_v1_1.CUDARequirement
   cwl_utils.parser.cwl_v1_1.ShmSize


Functions
---------

.. autoapisummary::

   cwl_utils.parser.cwl_v1_1.parser_info
   cwl_utils.parser.cwl_v1_1.load_document
   cwl_utils.parser.cwl_v1_1.load_document_with_metadata
   cwl_utils.parser.cwl_v1_1.load_document_by_string
   cwl_utils.parser.cwl_v1_1.load_document_by_yaml


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

.. py:function:: parser_info()

.. py:class:: CWLArraySchema(items, type_, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.metaschema.ArraySchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CWLArraySchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: items


   .. py:attribute:: type_


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CWLRecordField(name, type_, doc = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.metaschema.RecordField`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CWLRecordField
      :parts: 1


   A field of a record.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: doc
      :value: None



   .. py:attribute:: type_


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CWLRecordSchema(type_, fields = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.metaschema.RecordSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CWLRecordSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: fields
      :value: None



   .. py:attribute:: type_


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: File(location = None, path = None, basename = None, dirname = None, nameroot = None, nameext = None, checksum = None, size = None, secondaryFiles = None, format = None, contents = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.File
      :parts: 1


   Represents a file (or group of files when ``secondaryFiles`` is provided) that will be accessible by tools using standard POSIX file system call API such as open(2) and read(2).

   Files are represented as objects with ``class`` of ``File``.  File objects have a number of properties that provide metadata about the file.

   The ``location`` property of a File is a URI that uniquely identifies the file.  Implementations must support the file:// URI scheme and may support other schemes such as http://.  The value of ``location`` may also be a relative reference, in which case it must be resolved relative to the URI of the document it appears in.  Alternately to ``location``, implementations must also accept the ``path`` property on File, which must be a filesystem path available on the same host as the CWL runner (for inputs) or the runtime environment of a command line tool execution (for command line tool outputs).

   If no ``location`` or ``path`` is specified, a file object must specify ``contents`` with the UTF-8 text content of the file.  This is a "file literal".  File literals do not correspond to external resources, but are created on disk with ``contents`` with when needed for a executing a tool. Where appropriate, expressions can return file literals to define new files on a runtime.  The maximum size of ``contents`` is 64 kilobytes.

   The ``basename`` property defines the filename on disk where the file is staged.  This may differ from the resource name.  If not provided, ``basename`` must be computed from the last path part of ``location`` and made available to expressions.

   The ``secondaryFiles`` property is a list of File or Directory objects that must be staged in the same directory as the primary file.  It is an error for file names to be duplicated in ``secondaryFiles``.

   The ``size`` property is the size in bytes of the File.  It must be computed from the resource and made available to expressions.  The ``checksum`` field contains a cryptographic hash of the file content for use it verifying file contents.  Implementations may, at user option, enable or disable computation of the ``checksum`` field for performance or other reasons. However, the ability to compute output checksums is required to pass the CWL conformance test suite.

   When executing a CommandLineTool, the files and secondary files may be staged to an arbitrary directory, but must use the value of ``basename`` for the filename.  The ``path`` property must be file path in the context of the tool execution runtime (local to the compute node, or within the executing container).  All computed properties should be available to expressions. File literals also must be staged and ``path`` must be set.

   When collecting CommandLineTool outputs, ``glob`` matching returns file paths (with the ``path`` property) and the derived properties. This can all be modified by ``outputEval``.  Alternately, if the file ``cwl.output.json`` is present in the output, ``outputBinding`` is ignored.

   File objects in the output must provide either a ``location`` URI or a ``path`` property in the context of the tool execution runtime (local to the compute node, or within the executing container).

   When evaluating an ExpressionTool, file objects must be referenced via ``location`` (the expression tool does not have access to files on disk so ``path`` is meaningless) or as file literals.  It is legal to return a file object with an existing ``location`` but a different ``basename``.  The ``loadContents`` field of ExpressionTool inputs behaves the same as on CommandLineTool inputs, however it is not meaningful on the outputs.

   An ExpressionTool may forward file references from input to output by using the same value for ``location``.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'File'



   .. py:attribute:: location
      :value: None



   .. py:attribute:: path
      :value: None



   .. py:attribute:: basename
      :value: None



   .. py:attribute:: dirname
      :value: None



   .. py:attribute:: nameroot
      :value: None



   .. py:attribute:: nameext
      :value: None



   .. py:attribute:: checksum
      :value: None



   .. py:attribute:: size
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: contents
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Directory(location = None, path = None, basename = None, listing = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Directory
      :parts: 1


   Represents a directory to present to a command line tool.

   Directories are represented as objects with ``class`` of ``Directory``.  Directory objects have a number of properties that provide metadata about the directory.

   The ``location`` property of a Directory is a URI that uniquely identifies the directory.  Implementations must support the file:// URI scheme and may support other schemes such as http://.  Alternately to ``location``, implementations must also accept the ``path`` property on Directory, which must be a filesystem path available on the same host as the CWL runner (for inputs) or the runtime environment of a command line tool execution (for command line tool outputs).

   A Directory object may have a ``listing`` field.  This is a list of File and Directory objects that are contained in the Directory.  For each entry in ``listing``, the ``basename`` property defines the name of the File or Subdirectory when staged to disk.  If ``listing`` is not provided, the implementation must have some way of fetching the Directory listing at runtime based on the ``location`` field.

   If a Directory does not have ``location``, it is a Directory literal.  A Directory literal must provide ``listing``.  Directory literals must be created on disk at runtime as needed.

   The resources in a Directory literal do not need to have any implied relationship in their ``location``.  For example, a Directory listing may contain two files located on different hosts.  It is the responsibility of the runtime to ensure that those files are staged to disk appropriately. Secondary files associated with files in ``listing`` must also be staged to the same Directory.

   When executing a CommandLineTool, Directories must be recursively staged first and have local values of ``path`` assigned.

   Directory objects in CommandLineTool output must provide either a ``location`` URI or a ``path`` property in the context of the tool execution runtime (local to the compute node, or within the executing container).

   An ExpressionTool may forward file references from input to output by using the same value for ``location``.

   Name conflicts (the same ``basename`` appearing multiple times in ``listing`` or in any entry in ``secondaryFiles`` in the listing) is a fatal error.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'Directory'



   .. py:attribute:: location
      :value: None



   .. py:attribute:: path
      :value: None



   .. py:attribute:: basename
      :value: None



   .. py:attribute:: listing
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Labeled

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Labeled
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: Identified

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Identified
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: IdentifierRequired

   Bases: :py:obj:`Identified`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.IdentifierRequired
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: LoadContents

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.LoadContents
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: FieldBase

   Bases: :py:obj:`Labeled`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.FieldBase
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: InputFormat

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputFormat
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: OutputFormat

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputFormat
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: Parameter

   Bases: :py:obj:`FieldBase`, :py:obj:`schema_salad.metaschema.Documented`, :py:obj:`IdentifierRequired`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Parameter
      :parts: 1


   Define an input or output parameter to a process.



.. py:class:: InputBinding(loadContents = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputBinding
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: loadContents
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: IOSchema

   Bases: :py:obj:`Labeled`, :py:obj:`schema_salad.metaschema.Documented`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.IOSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: InputSchema

   Bases: :py:obj:`IOSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: OutputSchema

   Bases: :py:obj:`IOSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: InputRecordField(name, type_, doc = None, label = None, secondaryFiles = None, streamable = None, format = None, loadContents = None, loadListing = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLRecordField`, :py:obj:`FieldBase`, :py:obj:`InputFormat`, :py:obj:`LoadContents`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputRecordField
      :parts: 1


   A field of a record.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: doc
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InputRecordSchema(type_, fields = None, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLRecordSchema`, :py:obj:`InputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputRecordSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: fields
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InputEnumSchema(symbols, type_, name = None, label = None, doc = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.metaschema.EnumSchema`, :py:obj:`InputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputEnumSchema
      :parts: 1


   Define an enumerated type.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: symbols


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InputArraySchema(items, type_, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLArraySchema`, :py:obj:`InputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputArraySchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: items


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: OutputRecordField(name, type_, doc = None, label = None, secondaryFiles = None, streamable = None, format = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLRecordField`, :py:obj:`FieldBase`, :py:obj:`OutputFormat`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputRecordField
      :parts: 1


   A field of a record.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: doc
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: OutputRecordSchema(type_, fields = None, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLRecordSchema`, :py:obj:`OutputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputRecordSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: fields
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: OutputEnumSchema(symbols, type_, name = None, label = None, doc = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.metaschema.EnumSchema`, :py:obj:`OutputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputEnumSchema
      :parts: 1


   Define an enumerated type.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: symbols


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: OutputArraySchema(items, type_, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`CWLArraySchema`, :py:obj:`OutputSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputArraySchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: items


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InputParameter

   Bases: :py:obj:`Parameter`, :py:obj:`InputFormat`, :py:obj:`LoadContents`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InputParameter
      :parts: 1


   Define an input or output parameter to a process.



.. py:class:: OutputParameter

   Bases: :py:obj:`Parameter`, :py:obj:`OutputFormat`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.OutputParameter
      :parts: 1


   Define an input or output parameter to a process.



.. py:class:: ProcessRequirement

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ProcessRequirement
      :parts: 1


   A process requirement declares a prerequisite that may or must be fulfilled before executing a process.  See ```Process.hints`` <#process>`__ and ```Process.requirements`` <#process>`__.

   Process requirements are the primary mechanism for specifying extensions to the CWL core specification.



.. py:class:: Process

   Bases: :py:obj:`Identified`, :py:obj:`Labeled`, :py:obj:`schema_salad.metaschema.Documented`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Process
      :parts: 1


   The base executable type in CWL is the ``Process`` object defined by the document.  Note that the ``Process`` object is abstract and cannot be directly executed.



.. py:class:: InlineJavascriptRequirement(expressionLib = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InlineJavascriptRequirement
      :parts: 1


   Indicates that the workflow platform must support inline Javascript expressions. If this requirement is not present, the workflow platform must not perform expression interpolatation.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'InlineJavascriptRequirement'



   .. py:attribute:: expressionLib
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandInputSchema

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: SchemaDefRequirement(types, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.SchemaDefRequirement
      :parts: 1


   This field consists of an array of type definitions which must be used when interpreting the ``inputs`` and ``outputs`` fields.  When a ``type`` field contain a IRI, the implementation must check if the type is defined in ``schemaDefs`` and use that definition.  If the type is not found in ``schemaDefs``, it is an error.  The entries in ``schemaDefs`` must be processed in the order listed such that later schema definitions may refer to earlier schema definitions.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'SchemaDefRequirement'



   .. py:attribute:: types


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: SecondaryFileSchema(pattern, required = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.SecondaryFileSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: pattern


   .. py:attribute:: required
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: LoadListingRequirement(loadListing = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.LoadListingRequirement
      :parts: 1


   Specify the desired behavior for loading the ``listing`` field of a Directory object for use by expressions.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'LoadListingRequirement'



   .. py:attribute:: loadListing
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: EnvironmentDef(envName, envValue, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.EnvironmentDef
      :parts: 1


   Define an environment variable that will be set in the runtime environment by the workflow platform when executing the command line tool.  May be the result of executing an expression, such as getting a parameter from input.



   .. py:attribute:: envName


   .. py:attribute:: envValue


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandLineBinding(loadContents = None, position = None, prefix = None, separate = None, itemSeparator = None, valueFrom = None, shellQuote = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputBinding`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandLineBinding
      :parts: 1


   When listed under ``inputBinding`` in the input schema, the term "value" refers to the the corresponding value in the input object.  For binding objects listed in ``CommandLineTool.arguments``, the term "value" refers to the effective value after evaluating ``valueFrom``.

   The binding behavior when building the command line depends on the data type of the value.  If there is a mismatch between the type described by the input schema and the effective value, such as resulting from an expression evaluation, an implementation must use the data type of the effective value.

   - **string**: Add ``prefix`` and the string to the command line.

   - **number**: Add ``prefix`` and decimal representation to command line.

   - **boolean**: If true, add ``prefix`` to the command line.  If false, add nothing.

   - **File**: Add ``prefix`` and the value of ```File.path`` <#File>`__ to the command line.

   - **Directory**: Add ``prefix`` and the value of ```Directory.path`` <#Directory>`__ to the command line.

   - **array**: If ``itemSeparator`` is specified, add ``prefix`` and the join the array into a single string with ``itemSeparator`` separating the items.  Otherwise first add ``prefix``, then recursively process individual elements. If the array is empty, it does not add anything to command line.

   - **object**: Add ``prefix`` only, and recursively add object fields for which ``inputBinding`` is specified.

   - **null**: Add nothing.



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: position
      :value: None



   .. py:attribute:: prefix
      :value: None



   .. py:attribute:: separate
      :value: None



   .. py:attribute:: itemSeparator
      :value: None



   .. py:attribute:: valueFrom
      :value: None



   .. py:attribute:: shellQuote
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputBinding(loadContents = None, loadListing = None, glob = None, outputEval = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`LoadContents`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputBinding
      :parts: 1


   Describes how to generate an output parameter based on the files produced by a CommandLineTool.

   The output parameter value is generated by applying these operations in the following order:

   - glob
   - loadContents
   - outputEval
   - secondaryFiles



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:attribute:: glob
      :value: None



   .. py:attribute:: outputEval
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandLineBindable

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandLineBindable
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: CommandInputRecordField(name, type_, doc = None, label = None, secondaryFiles = None, streamable = None, format = None, loadContents = None, loadListing = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputRecordField`, :py:obj:`CommandLineBindable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputRecordField
      :parts: 1


   A field of a record.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: doc
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandInputRecordSchema(type_, fields = None, label = None, doc = None, name = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputRecordSchema`, :py:obj:`CommandInputSchema`, :py:obj:`CommandLineBindable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputRecordSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: fields
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandInputEnumSchema(symbols, type_, name = None, label = None, doc = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputEnumSchema`, :py:obj:`CommandInputSchema`, :py:obj:`CommandLineBindable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputEnumSchema
      :parts: 1


   Define an enumerated type.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: symbols


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandInputArraySchema(items, type_, label = None, doc = None, name = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputArraySchema`, :py:obj:`CommandInputSchema`, :py:obj:`CommandLineBindable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputArraySchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: items


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputRecordField(name, type_, doc = None, label = None, secondaryFiles = None, streamable = None, format = None, outputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputRecordField`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputRecordField
      :parts: 1


   A field of a record.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: doc
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: outputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputRecordSchema(type_, fields = None, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputRecordSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputRecordSchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: fields
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputEnumSchema(symbols, type_, name = None, label = None, doc = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputEnumSchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputEnumSchema
      :parts: 1


   Define an enumerated type.



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: symbols


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputArraySchema(items, type_, label = None, doc = None, name = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputArraySchema`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputArraySchema
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: items


   .. py:attribute:: type_


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandInputParameter(id, type_, label = None, secondaryFiles = None, streamable = None, doc = None, format = None, loadContents = None, loadListing = None, default = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputParameter`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandInputParameter
      :parts: 1


   An input parameter for a CommandLineTool.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:attribute:: default
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandOutputParameter(id, type_, label = None, secondaryFiles = None, streamable = None, doc = None, format = None, outputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputParameter`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandOutputParameter
      :parts: 1


   An output parameter for a CommandLineTool.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: outputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CommandLineTool(inputs, outputs, id = None, label = None, doc = None, requirements = None, hints = None, cwlVersion = None, baseCommand = None, arguments = None, stdin = None, stderr = None, stdout = None, successCodes = None, temporaryFailCodes = None, permanentFailCodes = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`Process`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CommandLineTool
      :parts: 1


   This defines the schema of the CWL Command Line Tool Description document.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputs


   .. py:attribute:: outputs


   .. py:attribute:: requirements
      :value: None



   .. py:attribute:: hints
      :value: None



   .. py:attribute:: cwlVersion
      :value: None



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'CommandLineTool'



   .. py:attribute:: baseCommand
      :value: None



   .. py:attribute:: arguments
      :value: None



   .. py:attribute:: stdin
      :value: None



   .. py:attribute:: stderr
      :value: None



   .. py:attribute:: stdout
      :value: None



   .. py:attribute:: successCodes
      :value: None



   .. py:attribute:: temporaryFailCodes
      :value: None



   .. py:attribute:: permanentFailCodes
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: DockerRequirement(dockerPull = None, dockerLoad = None, dockerFile = None, dockerImport = None, dockerImageId = None, dockerOutputDirectory = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.DockerRequirement
      :parts: 1


   Indicates that a workflow component should be run in a `Docker <http://docker.com>`__ or Docker-compatible (such as `Singularity <https://www.sylabs.io/>`__ and `udocker <https://github.com/indigo-dc/udocker>`__) container environment and specifies how to fetch or build the image.

   If a CommandLineTool lists ``DockerRequirement`` under ``hints`` (or ``requirements``), it may (or must) be run in the specified Docker container.

   The platform must first acquire or install the correct Docker image as specified by ``dockerPull``, ``dockerImport``, ``dockerLoad`` or ``dockerFile``.

   The platform must execute the tool in the container using ``docker run`` with the appropriate Docker image and tool command line.

   The workflow platform may provide input files and the designated output directory through the use of volume bind mounts.  The platform should rewrite file paths in the input object to correspond to the Docker bind mounted locations. That is, the platform should rewrite values in the parameter context such as ``runtime.outdir``, ``runtime.tmpdir`` and others to be valid paths within the container. The platform must ensure that ``runtime.outdir`` and ``runtime.tmpdir`` are distinct directories.

   When running a tool contained in Docker, the workflow platform must not assume anything about the contents of the Docker container, such as the presence or absence of specific software, except to assume that the generated command line represents a valid command within the runtime environment of the container.

   A container image may specify an `ENTRYPOINT <https://docs.docker.com/engine/reference/builder/#entrypoint>`__ and/or `CMD <https://docs.docker.com/engine/reference/builder/#cmd>`__. Command line arguments will be appended after all elements of ENTRYPOINT, and will override all elements specified using CMD (in other words, CMD is only used when the CommandLineTool definition produces an empty command line).

   Use of implicit ENTRYPOINT or CMD are discouraged due to reproducibility concerns of the implicit hidden execution point (For further discussion, see `https://doi.org/10.12688/f1000research.15140.1 <https://doi.org/10.12688/f1000research.15140.1>`__). Portable CommandLineTool wrappers in which use of a container is optional must not rely on ENTRYPOINT or CMD. CommandLineTools which do rely on ENTRYPOINT or CMD must list ``DockerRequirement`` in the ``requirements`` section.

   Interaction with other requirements
   -----------------------------------

   If `EnvVarRequirement <#EnvVarRequirement>`__ is specified alongside a DockerRequirement, the environment variables must be provided to Docker using ``--env`` or ``--env-file`` and interact with the container's preexisting environment as defined by Docker.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'DockerRequirement'



   .. py:attribute:: dockerPull
      :value: None



   .. py:attribute:: dockerLoad
      :value: None



   .. py:attribute:: dockerFile
      :value: None



   .. py:attribute:: dockerImport
      :value: None



   .. py:attribute:: dockerImageId
      :value: None



   .. py:attribute:: dockerOutputDirectory
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: SoftwareRequirement(packages, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.SoftwareRequirement
      :parts: 1


   A list of software packages that should be configured in the environment of the defined process.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'SoftwareRequirement'



   .. py:attribute:: packages


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: SoftwarePackage(package, version = None, specs = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.SoftwarePackage
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


   .. py:attribute:: package


   .. py:attribute:: version
      :value: None



   .. py:attribute:: specs
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Dirent(entry, entryname = None, writable = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Dirent
      :parts: 1


   Define a file or subdirectory that must be placed in the designated output directory prior to executing the command line tool.  May be the result of executing an expression, such as building a configuration file from a template.



   .. py:attribute:: entryname
      :value: None



   .. py:attribute:: entry


   .. py:attribute:: writable
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InitialWorkDirRequirement(listing, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InitialWorkDirRequirement
      :parts: 1


   Define a list of files and subdirectories that must be created by the workflow platform in the designated output directory prior to executing the command line tool.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'InitialWorkDirRequirement'



   .. py:attribute:: listing


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: EnvVarRequirement(envDef, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.EnvVarRequirement
      :parts: 1


   Define a list of environment variables which will be set in the execution environment of the tool.  See ``EnvironmentDef`` for details.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'EnvVarRequirement'



   .. py:attribute:: envDef


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ShellCommandRequirement(extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ShellCommandRequirement
      :parts: 1


   Modify the behavior of CommandLineTool to generate a single string containing a shell command line.  Each item in the argument list must be joined into a string separated by single spaces and quoted to prevent interpretation by the shell, unless ``CommandLineBinding`` for that argument contains ``shellQuote: false``.  If ``shellQuote: false`` is specified, the argument is joined into the command string without quoting, which allows the use of shell metacharacters such as ``|`` for pipes.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ShellCommandRequirement'



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ResourceRequirement(coresMin = None, coresMax = None, ramMin = None, ramMax = None, tmpdirMin = None, tmpdirMax = None, outdirMin = None, outdirMax = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ResourceRequirement
      :parts: 1


   Specify basic hardware resource requirements.

   "min" is the minimum amount of a resource that must be reserved to schedule a job. If "min" cannot be satisfied, the job should not be run.

   "max" is the maximum amount of a resource that the job shall be permitted to use. If a node has sufficient resources, multiple jobs may be scheduled on a single node provided each job's "max" resource requirements are met. If a job attempts to exceed its "max" resource allocation, an implementation may deny additional resources, which may result in job failure.

   If "min" is specified but "max" is not, then "max" == "min" If "max" is specified by "min" is not, then "min" == "max".

   It is an error if max < min.

   It is an error if the value of any of these fields is negative.

   If neither "min" nor "max" is specified for a resource, use the default values below.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ResourceRequirement'



   .. py:attribute:: coresMin
      :value: None



   .. py:attribute:: coresMax
      :value: None



   .. py:attribute:: ramMin
      :value: None



   .. py:attribute:: ramMax
      :value: None



   .. py:attribute:: tmpdirMin
      :value: None



   .. py:attribute:: tmpdirMax
      :value: None



   .. py:attribute:: outdirMin
      :value: None



   .. py:attribute:: outdirMax
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: WorkReuse(enableReuse, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkReuse
      :parts: 1


   For implementations that support reusing output from past work (on the assumption that same code and same input produce same results), control whether to enable or disable the reuse behavior for a particular tool or step (to accommodate situations where that assumption is incorrect).  A reused step is not executed but instead returns the same output as the original execution.

   If ``enableReuse`` is not specified, correct tools should assume it is enabled by default.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'WorkReuse'



   .. py:attribute:: enableReuse


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: NetworkAccess(networkAccess, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.NetworkAccess
      :parts: 1


   Indicate whether a process requires outgoing IPv4/IPv6 network access.  Choice of IPv4 or IPv6 is implementation and site specific, correct tools must support both.

   If ``networkAccess`` is false or not specified, tools must not assume network access, except for localhost (the loopback device).

   If ``networkAccess`` is true, the tool must be able to make outgoing connections to network resources.  Resources may be on a private subnet or the public Internet.  However, implementations and sites may apply their own security policies to restrict what is accessible by the tool.

   Enabling network access does not imply a publicly routable IP address or the ability to accept inbound connections.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'NetworkAccess'



   .. py:attribute:: networkAccess


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: InplaceUpdateRequirement(inplaceUpdate, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.InplaceUpdateRequirement
      :parts: 1


   If ``inplaceUpdate`` is true, then an implementation supporting this feature may permit tools to directly update files with ``writable: true`` in InitialWorkDirRequirement.  That is, as an optimization, files may be destructively modified in place as opposed to copied and updated.

   An implementation must ensure that only one workflow step may access a writable file at a time.  It is an error if a file which is writable by one workflow step file is accessed (for reading or writing) by any other workflow step running independently. However, a file which has been updated in a previous completed step may be used as input to multiple steps, provided it is read-only in every step.

   Workflow steps which modify a file must produce the modified file as output.  Downstream steps which further process the file must use the output of previous steps, and not refer to a common input (this is necessary for both ordering and correctness).

   Workflow authors should provide this in the ``hints`` section.  The intent of this feature is that workflows produce the same results whether or not InplaceUpdateRequirement is supported by the implementation, and this feature is primarily available as an optimization for particular environments.

   Users and implementers should be aware that workflows that destructively modify inputs may not be repeatable or reproducible. In particular, enabling this feature implies that WorkReuse should not be enabled.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'InplaceUpdateRequirement'



   .. py:attribute:: inplaceUpdate


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ToolTimeLimit(timelimit, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ToolTimeLimit
      :parts: 1


   Set an upper limit on the execution time of a CommandLineTool. A CommandLineTool whose execution duration exceeds the time limit may be preemptively terminated and considered failed. May also be used by batch systems to make scheduling decisions. The execution duration excludes external operations, such as staging of files, pulling a docker image etc, and only counts wall-time for the execution of the command line itself.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ToolTimeLimit'



   .. py:attribute:: timelimit


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ExpressionToolOutputParameter(id, type_, label = None, secondaryFiles = None, streamable = None, doc = None, format = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputParameter`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ExpressionToolOutputParameter
      :parts: 1


   Define an input or output parameter to a process.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: type_


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: WorkflowInputParameter(id, type_, label = None, secondaryFiles = None, streamable = None, doc = None, format = None, loadContents = None, loadListing = None, default = None, inputBinding = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`InputParameter`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkflowInputParameter
      :parts: 1


   Define an input or output parameter to a process.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:attribute:: default
      :value: None



   .. py:attribute:: type_


   .. py:attribute:: inputBinding
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ExpressionTool(inputs, outputs, expression, id = None, label = None, doc = None, requirements = None, hints = None, cwlVersion = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`Process`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ExpressionTool
      :parts: 1


   An ExpressionTool is a type of Process object that can be run by itself or as a Workflow step. It executes a pure Javascript expression that has access to the same input parameters as a workflow. It is meant to be used sparingly as a way to isolate complex Javascript expressions that need to operate on input data and produce some result; perhaps just a rearrangement of the inputs. No Docker software container is required or allowed.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputs


   .. py:attribute:: outputs


   .. py:attribute:: requirements
      :value: None



   .. py:attribute:: hints
      :value: None



   .. py:attribute:: cwlVersion
      :value: None



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ExpressionTool'



   .. py:attribute:: expression


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: WorkflowOutputParameter(id, type_, label = None, secondaryFiles = None, streamable = None, doc = None, format = None, outputSource = None, linkMerge = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`OutputParameter`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkflowOutputParameter
      :parts: 1


   Describe an output parameter of a workflow.  The parameter must be connected to one or more parameters defined in the workflow that will provide the value of the output parameter. It is legal to connect a WorkflowInputParameter to a WorkflowOutputParameter.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: secondaryFiles
      :value: None



   .. py:attribute:: streamable
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: format
      :value: None



   .. py:attribute:: outputSource
      :value: None



   .. py:attribute:: linkMerge
      :value: None



   .. py:attribute:: type_


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Sink

   Bases: :py:obj:`schema_salad.runtime.Saveable`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Sink
      :parts: 1


   Mark classes than have a save() and fromDoc() function.


.. py:class:: WorkflowStepInput(id, source = None, linkMerge = None, loadContents = None, loadListing = None, label = None, default = None, valueFrom = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`IdentifierRequired`, :py:obj:`Sink`, :py:obj:`LoadContents`, :py:obj:`Labeled`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkflowStepInput
      :parts: 1


   The input of a workflow step connects an upstream parameter (from the workflow inputs, or the outputs of other workflows steps) with the input parameters of the process specified by the ``run`` field. Only input parameters declared by the target process will be passed through at runtime to the process though additional parameters may be specified (for use within ``valueFrom`` expressions for instance) - unconnected or unused parameters do not represent an error condition.

   Input object
   ------------

   A WorkflowStepInput object must contain an ``id`` field in the form ``#fieldname`` or ``#prefix/fieldname``.  When the ``id`` field contains a slash ``/`` the field name consists of the characters following the final slash (the prefix portion may contain one or more slashes to indicate scope). This defines a field of the workflow step input object with the value of the ``source`` parameter(s).

   Merging
   -------

   To merge multiple inbound data links, `MultipleInputFeatureRequirement <#MultipleInputFeatureRequirement>`__ must be specified in the workflow or workflow step requirements.

   If the sink parameter is an array, or named in a `workflow scatter <#WorkflowStep>`__ operation, there may be multiple inbound data links listed in the ``source`` field.  The values from the input links are merged depending on the method specified in the ``linkMerge`` field.  If not specified, the default method is "merge_nested".

   * **merge_nested**

     The input must be an array consisting of exactly one entry for each input link.  If "merge_nested" is specified with a single link, the value from the link must be wrapped in a single-item list.

   * **merge_flattened**

     1. The source and sink parameters must be compatible types, or the source type must be compatible with single element from the "items" type of the destination array parameter.
     2. Source parameters which are arrays are concatenated. Source parameters which are single element types are appended as single elements.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: source
      :value: None



   .. py:attribute:: linkMerge
      :value: None



   .. py:attribute:: loadContents
      :value: None



   .. py:attribute:: loadListing
      :value: None



   .. py:attribute:: label
      :value: None



   .. py:attribute:: default
      :value: None



   .. py:attribute:: valueFrom
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: WorkflowStepOutput(id, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`IdentifierRequired`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkflowStepOutput
      :parts: 1


   Associate an output parameter of the underlying process with a workflow parameter.  The workflow parameter (given in the ``id`` field) be may be used as a ``source`` to connect with input parameters of other workflow steps, or with an output parameter of the process.

   A unique identifier for this workflow output parameter.  This is the identifier to use in the ``source`` field of ``WorkflowStepInput`` to connect the output value to downstream parameters.



   .. py:attribute:: id
      :type:  str


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: WorkflowStep(id, in_, out, run, label = None, doc = None, requirements = None, hints = None, scatter = None, scatterMethod = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`IdentifierRequired`, :py:obj:`Labeled`, :py:obj:`schema_salad.metaschema.Documented`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.WorkflowStep
      :parts: 1


   A workflow step is an executable element of a workflow.  It specifies the underlying process implementation (such as ``CommandLineTool`` or another ``Workflow``) in the ``run`` field and connects the input and output parameters of the underlying process to workflow parameters.

   Scatter/gather
   ==============

   To use scatter/gather, `ScatterFeatureRequirement <#ScatterFeatureRequirement>`__ must be specified in the workflow or workflow step requirements.

   A "scatter" operation specifies that the associated workflow step or subworkflow should execute separately over a list of input elements.  Each job making up a scatter operation is independent and may be executed concurrently.

   The ``scatter`` field specifies one or more input parameters which will be scattered.  An input parameter may be listed more than once.  The declared type of each input parameter is implicitly becomes an array of items of the input parameter type.  If a parameter is listed more than once, it becomes a nested array.  As a result, upstream parameters which are connected to scattered parameters must be arrays.

   All output parameter types are also implicitly wrapped in arrays.  Each job in the scatter results in an entry in the output array.

   If any scattered parameter runtime value is an empty array, all outputs are set to empty arrays and no work is done for the step, according to applicable scattering rules.

   If ``scatter`` declares more than one input parameter, ``scatterMethod`` describes how to decompose the input into a discrete set of jobs.

   * **dotproduct** specifies that each of the input arrays are aligned and one element taken from each array to construct each job.  It is an error if all input arrays are not the same length.

   * **nested_crossproduct** specifies the Cartesian product of the inputs, producing a job for every combination of the scattered inputs.  The output must be nested arrays for each level of scattering, in the order that the input arrays are listed in the ``scatter`` field.

   * **flat_crossproduct** specifies the Cartesian product of the inputs, producing a job for every combination of the scattered inputs.  The output arrays must be flattened to a single level, but otherwise listed in the order that the input arrays are listed in the ``scatter`` field.

   Subworkflows
   ============

   To specify a nested workflow as part of a workflow step, `SubworkflowFeatureRequirement <#SubworkflowFeatureRequirement>`__ must be specified in the workflow or workflow step requirements.

   It is a fatal error if a workflow directly or indirectly invokes itself as a subworkflow (recursive workflows are not allowed).



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: in_


   .. py:attribute:: out


   .. py:attribute:: requirements
      :value: None



   .. py:attribute:: hints
      :value: None



   .. py:attribute:: run


   .. py:attribute:: scatter
      :value: None



   .. py:attribute:: scatterMethod
      :value: None



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Workflow(inputs, outputs, steps, id = None, label = None, doc = None, requirements = None, hints = None, cwlVersion = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`Process`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Workflow
      :parts: 1


   A workflow describes a set of **steps** and the **dependencies** between those steps.  When a step produces output that will be consumed by a second step, the first step is a dependency of the second step.

   When there is a dependency, the workflow engine must execute the preceding step and wait for it to successfully produce output before executing the dependent step.  If two steps are defined in the workflow graph that are not directly or indirectly dependent, these steps are **independent**, and may execute in any order or execute concurrently.  A workflow is complete when all steps have been executed.

   Dependencies between parameters are expressed using the ``source`` field on `workflow step input parameters <#WorkflowStepInput>`__ and `workflow output parameters <#WorkflowOutputParameter>`__.

   The ``source`` field expresses the dependency of one parameter on another such that when a value is associated with the parameter specified by ``source``, that value is propagated to the destination parameter.  When all data links inbound to a given step are fulfilled, the step is ready to execute.

   Workflow success and failure
   ----------------------------

   A completed step must result in one of ``success``, ``temporaryFailure`` or ``permanentFailure`` states.  An implementation may choose to retry a step execution which resulted in ``temporaryFailure``.  An implementation may choose to either continue running other steps of a workflow, or terminate immediately upon ``permanentFailure``.

   * If any step of a workflow execution results in ``permanentFailure``, then the workflow status is ``permanentFailure``.

   * If one or more steps result in ``temporaryFailure`` and all other steps complete ``success`` or are not executed, then the workflow status is ``temporaryFailure``.

   * If all workflow steps are executed and complete with ``success``, then the workflow status is ``success``.

   Extensions
   ==========

   `ScatterFeatureRequirement <#ScatterFeatureRequirement>`__ and `SubworkflowFeatureRequirement <#SubworkflowFeatureRequirement>`__ are available as standard `extensions <#Extensions_and_Metadata>`__ to core workflow semantics.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputs


   .. py:attribute:: outputs


   .. py:attribute:: requirements
      :value: None



   .. py:attribute:: hints
      :value: None



   .. py:attribute:: cwlVersion
      :value: None



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'Workflow'



   .. py:attribute:: steps


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: SubworkflowFeatureRequirement(extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.SubworkflowFeatureRequirement
      :parts: 1


   Indicates that the workflow platform must support nested workflows in the ``run`` field of `WorkflowStep <#WorkflowStep>`__.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'SubworkflowFeatureRequirement'



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ScatterFeatureRequirement(extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ScatterFeatureRequirement
      :parts: 1


   Indicates that the workflow platform must support the ``scatter`` and ``scatterMethod`` fields of `WorkflowStep <#WorkflowStep>`__.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ScatterFeatureRequirement'



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: MultipleInputFeatureRequirement(extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.MultipleInputFeatureRequirement
      :parts: 1


   Indicates that the workflow platform must support multiple inbound data links listed in the ``source`` field of `WorkflowStepInput <#WorkflowStepInput>`__.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'MultipleInputFeatureRequirement'



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: StepInputExpressionRequirement(extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.StepInputExpressionRequirement
      :parts: 1


   Indicate that the workflow platform must support the ``valueFrom`` field of `WorkflowStepInput <#WorkflowStepInput>`__.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'StepInputExpressionRequirement'



   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: Secrets(secrets, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.Secrets
      :parts: 1


   A process requirement declares a prerequisite that may or must be fulfilled before executing a process.  See ```Process.hints`` <#process>`__ and ```Process.requirements`` <#process>`__.

   Process requirements are the primary mechanism for specifying extensions to the CWL core specification.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'Secrets'



   .. py:attribute:: secrets


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ProcessGenerator(inputs, outputs, run, id = None, label = None, doc = None, requirements = None, hints = None, cwlVersion = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`Process`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ProcessGenerator
      :parts: 1


   The base executable type in CWL is the ``Process`` object defined by the document.  Note that the ``Process`` object is abstract and cannot be directly executed.



   .. py:attribute:: id
      :type:  str


   .. py:attribute:: label
      :value: None



   .. py:attribute:: doc
      :value: None



   .. py:attribute:: inputs


   .. py:attribute:: outputs


   .. py:attribute:: requirements
      :value: None



   .. py:attribute:: hints
      :value: None



   .. py:attribute:: cwlVersion
      :value: None



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ProcessGenerator'



   .. py:attribute:: run


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: MPIRequirement(processes, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.MPIRequirement
      :parts: 1


   Indicates that a process requires an MPI runtime.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'MPIRequirement'



   .. py:attribute:: processes


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: CUDARequirement(cudaComputeCapability, cudaVersionMin, cudaDeviceCountMax = None, cudaDeviceCountMin = None, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.CUDARequirement
      :parts: 1


   Require support for NVIDA CUDA (GPU hardware acceleration).



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'CUDARequirement'



   .. py:attribute:: cudaComputeCapability


   .. py:attribute:: cudaDeviceCountMax
      :value: None



   .. py:attribute:: cudaDeviceCountMin
      :value: None



   .. py:attribute:: cudaVersionMin


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:class:: ShmSize(shmSize, extension_fields = None, loadingOptions = None)

   Bases: :py:obj:`ProcessRequirement`

   .. autoapi-inheritance-diagram:: cwl_utils.parser.cwl_v1_1.ShmSize
      :parts: 1


   A process requirement declares a prerequisite that may or must be fulfilled before executing a process.  See ```Process.hints`` <#process>`__ and ```Process.requirements`` <#process>`__.

   Process requirements are the primary mechanism for specifying extensions to the CWL core specification.



   .. py:attribute:: class_
      :type:  Final[str]
      :value: 'ShmSize'



   .. py:attribute:: shmSize


   .. py:method:: __eq__(other)


   .. py:method:: __hash__()


   .. py:method:: fromDoc(doc, baseuri, loadingOptions, docRoot = None)
      :classmethod:


      Construct this object from the result of yaml.load().



   .. py:method:: save(top = False, base_url = '', relative_uris = True)

      Convert this object to a JSON/YAML friendly dictionary.



   .. py:attribute:: attrs
      :type:  ClassVar[collections.abc.Collection[str]]


.. py:data:: strtype
   :type:  Final

.. py:data:: inttype
   :type:  Final

.. py:data:: floattype
   :type:  Final

.. py:data:: booltype
   :type:  Final

.. py:data:: None_type
   :type:  Final

.. py:data:: Any_type
   :type:  Final

.. py:data:: DocumentedProxyLoader
   :type:  Final

.. py:data:: PrimitiveTypeLoader
   :type:  Final

   Names of salad data types (based on Avro schema declarations).

   Refer to the `Avro schema declaration documentation <https://avro.apache.org/docs/current/spec.html#schemas>`__ for detailed information.

   null: no value

   boolean: a binary value

   int: 32-bit signed integer

   long: 64-bit signed integer

   float: single precision (32-bit) IEEE 754 floating-point number

   double: double precision (64-bit) IEEE 754 floating-point number

   string: Unicode character sequence


.. py:data:: AnyLoader
   :type:  Final

   The **Any** type validates for any non-null value.


.. py:data:: RecordFieldLoader
   :type:  Final

.. py:data:: RecordSchemaLoader
   :type:  Final

.. py:data:: EnumSchemaLoader
   :type:  Final

.. py:data:: ArraySchemaLoader
   :type:  Final

.. py:data:: MapSchemaLoader
   :type:  Final

.. py:data:: UnionSchemaLoader
   :type:  Final

.. py:data:: CWLTypeLoader
   :type:  Final

   Extends primitive types with the concept of a file and directory as a builtin type.

   File: A File object

   Directory: A Directory object


.. py:data:: CWLArraySchemaLoader
   :type:  Final

.. py:data:: CWLRecordFieldLoader
   :type:  Final

.. py:data:: CWLRecordSchemaLoader
   :type:  Final

.. py:data:: FileLoader
   :type:  Final

.. py:data:: DirectoryLoader
   :type:  Final

.. py:data:: CWLObjectTypeLoader
   :type:  Final

.. py:data:: union_of_None_type_or_CWLObjectTypeLoader
   :type:  Final

.. py:data:: array_of_union_of_None_type_or_CWLObjectTypeLoader
   :type:  Final

.. py:data:: map_of_union_of_None_type_or_CWLObjectTypeLoader
   :type:  Final

.. py:data:: CWLVersionLoader
   :type:  Final

   Current version symbol for CWL documents.


.. py:data:: LabeledProxyLoader
   :type:  Final

.. py:data:: IdentifiedProxyLoader
   :type:  Final

.. py:data:: IdentifierRequiredProxyLoader
   :type:  Final

.. py:data:: LoadListingEnumLoader
   :type:  Final

   Specify the desired behavior for loading the ``listing`` field of a Directory object for use by expressions.

   no_listing: Do not load the directory listing.

   shallow_listing: Only load the top level listing, do not recurse into subdirectories.

   deep_listing: Load the directory listing and recursively load all subdirectories as well.


.. py:data:: LoadContentsProxyLoader
   :type:  Final

.. py:data:: FieldBaseProxyLoader
   :type:  Final

.. py:data:: InputFormatProxyLoader
   :type:  Final

.. py:data:: OutputFormatProxyLoader
   :type:  Final

.. py:data:: ParameterProxyLoader
   :type:  Final

.. py:data:: ExpressionLoader
   :type:  Final

.. py:data:: InputBindingLoader
   :type:  Final

.. py:data:: IOSchemaProxyLoader
   :type:  Final

.. py:data:: InputSchemaProxyLoader
   :type:  Final

.. py:data:: OutputSchemaProxyLoader
   :type:  Final

.. py:data:: InputRecordFieldLoader
   :type:  Final

.. py:data:: InputRecordSchemaLoader
   :type:  Final

.. py:data:: InputEnumSchemaLoader
   :type:  Final

.. py:data:: InputArraySchemaLoader
   :type:  Final

.. py:data:: InputParameterTypeLoader
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: OutputRecordFieldLoader
   :type:  Final

.. py:data:: OutputRecordSchemaLoader
   :type:  Final

.. py:data:: OutputEnumSchemaLoader
   :type:  Final

.. py:data:: OutputArraySchemaLoader
   :type:  Final

.. py:data:: OutputParameterTypeLoader
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: InputParameterProxyLoader
   :type:  Final

.. py:data:: OutputParameterProxyLoader
   :type:  Final

.. py:data:: ProcessRequirementProxyLoader
   :type:  Final

.. py:data:: ProcessProxyLoader
   :type:  Final

.. py:data:: InlineJavascriptRequirementLoader
   :type:  Final

.. py:data:: CommandInputSchemaProxyLoader
   :type:  Final

.. py:data:: SchemaDefRequirementLoader
   :type:  Final

.. py:data:: SecondaryFileSchemaLoader
   :type:  Final

.. py:data:: LoadListingRequirementLoader
   :type:  Final

.. py:data:: EnvironmentDefLoader
   :type:  Final

.. py:data:: CommandLineBindingLoader
   :type:  Final

.. py:data:: CommandOutputBindingLoader
   :type:  Final

.. py:data:: CommandLineBindableProxyLoader
   :type:  Final

.. py:data:: CommandInputRecordFieldLoader
   :type:  Final

.. py:data:: CommandInputRecordSchemaLoader
   :type:  Final

.. py:data:: CommandInputEnumSchemaLoader
   :type:  Final

.. py:data:: CommandInputArraySchemaLoader
   :type:  Final

.. py:data:: CommandOutputRecordFieldLoader
   :type:  Final

.. py:data:: CommandOutputRecordSchemaLoader
   :type:  Final

.. py:data:: CommandOutputEnumSchemaLoader
   :type:  Final

.. py:data:: CommandOutputArraySchemaLoader
   :type:  Final

.. py:data:: stdinLoader
   :type:  Final

   Only valid as a ``type`` for a ``CommandLineTool`` input with no ``inputBinding`` set. ``stdin`` must not be specified at the ``CommandLineTool`` level.

   The following

   ::

      inputs:
         an_input_name:
         type: stdin


   is equivalent to

   ::

      inputs:
        an_input_name:
          type: File
          streamable: true

      stdin: ${inputs.an_input_name.path}


.. py:data:: stdoutLoader
   :type:  Final

   Only valid as a ``type`` for a ``CommandLineTool`` output with no ``outputBinding`` set.

   The following

   ::

      outputs:
        an_output_name:
          type: stdout

      stdout: a_stdout_file


   is equivalent to

   ::

      outputs:
        an_output_name:
          type: File
          streamable: true
          outputBinding:
            glob: a_stdout_file

      stdout: a_stdout_file


   If there is no ``stdout`` name provided, a random filename will be created. For example, the following

   ::

      outputs:
        an_output_name:
          type: stdout


   is equivalent to

   ::

      outputs:
        an_output_name:
          type: File
          streamable: true
          outputBinding:
            glob: random_stdout_filenameABCDEFG

      stdout: random_stdout_filenameABCDEFG


.. py:data:: stderrLoader
   :type:  Final

   Only valid as a ``type`` for a ``CommandLineTool`` output with no ``outputBinding`` set.

   The following

   ::

      outputs:
        an_output_name:
        type: stderr

      stderr: a_stderr_file


   is equivalent to

   ::

      outputs:
        an_output_name:
          type: File
          streamable: true
          outputBinding:
            glob: a_stderr_file

      stderr: a_stderr_file


   If there is no ``stderr`` name provided, a random filename will be created. For example, the following

   ::

      outputs:
        an_output_name:
          type: stderr


   is equivalent to

   ::

      outputs:
        an_output_name:
          type: File
          streamable: true
          outputBinding:
            glob: random_stderr_filenameABCDEFG

      stderr: random_stderr_filenameABCDEFG


.. py:data:: CommandInputParameterTypeLoader
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: CommandInputParameterLoader
   :type:  Final

.. py:data:: CommandOutputParameterTypeLoader
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: CommandOutputParameterLoader
   :type:  Final

.. py:data:: CommandLineToolLoader
   :type:  Final

.. py:data:: DockerRequirementLoader
   :type:  Final

.. py:data:: SoftwareRequirementLoader
   :type:  Final

.. py:data:: SoftwarePackageLoader
   :type:  Final

.. py:data:: DirentLoader
   :type:  Final

.. py:data:: InitialWorkDirRequirementLoader
   :type:  Final

.. py:data:: EnvVarRequirementLoader
   :type:  Final

.. py:data:: ShellCommandRequirementLoader
   :type:  Final

.. py:data:: ResourceRequirementLoader
   :type:  Final

.. py:data:: WorkReuseLoader
   :type:  Final

.. py:data:: NetworkAccessLoader
   :type:  Final

.. py:data:: InplaceUpdateRequirementLoader
   :type:  Final

.. py:data:: ToolTimeLimitLoader
   :type:  Final

.. py:data:: ExpressionToolOutputParameterLoader
   :type:  Final

.. py:data:: WorkflowInputParameterLoader
   :type:  Final

.. py:data:: ExpressionToolLoader
   :type:  Final

.. py:data:: LinkMergeMethodLoader
   :type:  Final

   The input link merge method, described in `WorkflowStepInput <#WorkflowStepInput>`__.


.. py:data:: WorkflowOutputParameterLoader
   :type:  Final

.. py:data:: SinkProxyLoader
   :type:  Final

.. py:data:: WorkflowStepInputLoader
   :type:  Final

.. py:data:: WorkflowStepOutputLoader
   :type:  Final

.. py:data:: ScatterMethodLoader
   :type:  Final

   The scatter method, as described in `workflow step scatter <#WorkflowStep>`__.


.. py:data:: WorkflowStepLoader
   :type:  Final

.. py:data:: WorkflowLoader
   :type:  Final

.. py:data:: SubworkflowFeatureRequirementLoader
   :type:  Final

.. py:data:: ScatterFeatureRequirementLoader
   :type:  Final

.. py:data:: MultipleInputFeatureRequirementLoader
   :type:  Final

.. py:data:: StepInputExpressionRequirementLoader
   :type:  Final

.. py:data:: union_of_SchemaDefRequirementLoader_or_StepInputExpressionRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_WorkReuseLoader_or_SoftwareRequirementLoader_or_LoadListingRequirementLoader_or_SubworkflowFeatureRequirementLoader_or_InitialWorkDirRequirementLoader_or_DockerRequirementLoader_or_InplaceUpdateRequirementLoader_or_EnvVarRequirementLoader_or_ToolTimeLimitLoader_or_NetworkAccessLoader_or_InlineJavascriptRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader
   :type:  Final

.. py:data:: array_of_ProcessRequirementProxyLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_ProcessRequirementProxyLoader_or_CWLObjectTypeLoader
   :type:  Final

.. py:data:: map_of_union_of_None_type_or_array_of_ProcessRequirementProxyLoader_or_CWLObjectTypeLoader
   :type:  Final

.. py:data:: CWLInputFileLoader
   :type:  Final

.. py:data:: SecretsLoader
   :type:  Final

.. py:data:: ProcessGeneratorLoader
   :type:  Final

.. py:data:: MPIRequirementLoader
   :type:  Final

.. py:data:: CUDARequirementLoader
   :type:  Final

.. py:data:: ShmSizeLoader
   :type:  Final

.. py:data:: array_of_strtype
   :type:  Final

.. py:data:: union_of_None_type_or_strtype_or_array_of_strtype
   :type:  Final

.. py:data:: uri_strtype_True_False_None_None
   :type:  Final

.. py:data:: union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   :type:  Final

.. py:data:: union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype
   :type:  Final

.. py:data:: typedsl_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: array_of_RecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_RecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_RecordFieldLoader
   :type:  Final

.. py:data:: Record_nameLoader
   :type:  Final

.. py:data:: typedsl_Record_nameLoader_2
   :type:  Final

.. py:data:: union_of_None_type_or_strtype
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_True_False_None_None
   :type:  Final

.. py:data:: uri_array_of_strtype_True_False_None_None
   :type:  Final

.. py:data:: Enum_nameLoader
   :type:  Final

.. py:data:: typedsl_Enum_nameLoader_2
   :type:  Final

.. py:data:: uri_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: Array_nameLoader
   :type:  Final

.. py:data:: typedsl_Array_nameLoader_2
   :type:  Final

.. py:data:: Map_nameLoader
   :type:  Final

.. py:data:: typedsl_Map_nameLoader_2
   :type:  Final

.. py:data:: Union_nameLoader
   :type:  Final

.. py:data:: typedsl_Union_nameLoader_2
   :type:  Final

.. py:data:: union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: uri_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: typedsl_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_or_array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: array_of_CWLRecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_CWLRecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_CWLRecordFieldLoader
   :type:  Final

.. py:data:: File_classLoader
   :type:  Final

.. py:data:: uri_File_classLoader_False_True_None_None
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_False_False_None_None
   :type:  Final

.. py:data:: union_of_None_type_or_inttype
   :type:  Final

.. py:data:: union_of_FileLoader_or_DirectoryLoader
   :type:  Final

.. py:data:: array_of_union_of_FileLoader_or_DirectoryLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader
   :type:  Final

.. py:data:: secondaryfilesdsl_union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_True_False_None_True
   :type:  Final

.. py:data:: Directory_classLoader
   :type:  Final

.. py:data:: uri_Directory_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_None_type_or_booltype
   :type:  Final

.. py:data:: union_of_None_type_or_LoadListingEnumLoader
   :type:  Final

.. py:data:: array_of_SecondaryFileSchemaLoader
   :type:  Final

.. py:data:: union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader
   :type:  Final

.. py:data:: secondaryfilesdsl_union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader
   :type:  Final

.. py:data:: union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader_True_False_None_True
   :type:  Final

.. py:data:: union_of_None_type_or_strtype_or_ExpressionLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_or_ExpressionLoader_True_False_None_True
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: typedsl_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: array_of_InputRecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_InputRecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_InputRecordFieldLoader
   :type:  Final

.. py:data:: uri_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: typedsl_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: array_of_OutputRecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_OutputRecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_OutputRecordFieldLoader
   :type:  Final

.. py:data:: uri_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: union_of_CommandInputParameterLoader_or_WorkflowInputParameterLoader
   :type:  Final

.. py:data:: array_of_InputParameterProxyLoader
   :type:  Final

.. py:data:: idmap_inputs_array_of_InputParameterProxyLoader
   :type:  Final

.. py:data:: union_of_WorkflowOutputParameterLoader_or_CommandOutputParameterLoader_or_ExpressionToolOutputParameterLoader
   :type:  Final

.. py:data:: array_of_OutputParameterProxyLoader
   :type:  Final

.. py:data:: idmap_outputs_array_of_OutputParameterProxyLoader
   :type:  Final

.. py:data:: union_of_ShmSizeLoader_or_ScatterFeatureRequirementLoader_or_SubworkflowFeatureRequirementLoader_or_NetworkAccessLoader_or_InlineJavascriptRequirementLoader_or_MPIRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_DockerRequirementLoader_or_CUDARequirementLoader_or_SchemaDefRequirementLoader_or_StepInputExpressionRequirementLoader_or_InplaceUpdateRequirementLoader_or_EnvVarRequirementLoader_or_ResourceRequirementLoader_or_SecretsLoader_or_MultipleInputFeatureRequirementLoader_or_WorkReuseLoader_or_LoadListingRequirementLoader_or_ToolTimeLimitLoader_or_ShellCommandRequirementLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_ProcessRequirementProxyLoader
   :type:  Final

.. py:data:: idmap_requirements_union_of_None_type_or_array_of_ProcessRequirementProxyLoader
   :type:  Final

.. py:data:: union_of_ProcessRequirementProxyLoader_or_Any_type
   :type:  Final

.. py:data:: array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   :type:  Final

.. py:data:: idmap_hints_union_of_None_type_or_array_of_union_of_ProcessRequirementProxyLoader_or_Any_type
   :type:  Final

.. py:data:: union_of_None_type_or_CWLVersionLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_CWLVersionLoader_False_True_None_None
   :type:  Final

.. py:data:: InlineJavascriptRequirement_classLoader
   :type:  Final

.. py:data:: uri_InlineJavascriptRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_strtype
   :type:  Final

.. py:data:: SchemaDefRequirement_classLoader
   :type:  Final

.. py:data:: uri_SchemaDefRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_CommandInputEnumSchemaLoader_or_CommandInputRecordSchemaLoader_or_CommandInputArraySchemaLoader
   :type:  Final

.. py:data:: array_of_CommandInputSchemaProxyLoader
   :type:  Final

.. py:data:: union_of_strtype_or_ExpressionLoader
   :type:  Final

.. py:data:: union_of_None_type_or_booltype_or_ExpressionLoader
   :type:  Final

.. py:data:: LoadListingRequirement_classLoader
   :type:  Final

.. py:data:: uri_LoadListingRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_None_type_or_inttype_or_ExpressionLoader
   :type:  Final

.. py:data:: union_of_None_type_or_strtype_or_ExpressionLoader_or_array_of_strtype
   :type:  Final

.. py:data:: union_of_None_type_or_ExpressionLoader
   :type:  Final

.. py:data:: union_of_None_type_or_CommandLineBindingLoader
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: typedsl_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: array_of_CommandInputRecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_CommandInputRecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_CommandInputRecordFieldLoader
   :type:  Final

.. py:data:: uri_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype
   :type:  Final

.. py:data:: typedsl_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_2
   :type:  Final

.. py:data:: union_of_None_type_or_CommandOutputBindingLoader
   :type:  Final

.. py:data:: array_of_CommandOutputRecordFieldLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_CommandOutputRecordFieldLoader
   :type:  Final

.. py:data:: idmap_fields_union_of_None_type_or_array_of_CommandOutputRecordFieldLoader
   :type:  Final

.. py:data:: uri_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_False_True_2_None
   :type:  Final

.. py:data:: typedsl_CommandInputParameterTypeLoader_2
   :type:  Final

.. py:data:: typedsl_CommandOutputParameterTypeLoader_2
   :type:  Final

.. py:data:: CommandLineTool_classLoader
   :type:  Final

.. py:data:: uri_CommandLineTool_classLoader_False_True_None_None
   :type:  Final

.. py:data:: array_of_CommandInputParameterLoader
   :type:  Final

.. py:data:: idmap_inputs_array_of_CommandInputParameterLoader
   :type:  Final

.. py:data:: array_of_CommandOutputParameterLoader
   :type:  Final

.. py:data:: idmap_outputs_array_of_CommandOutputParameterLoader
   :type:  Final

.. py:data:: union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   :type:  Final

.. py:data:: array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader
   :type:  Final

.. py:data:: array_of_inttype
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_inttype
   :type:  Final

.. py:data:: DockerRequirement_classLoader
   :type:  Final

.. py:data:: uri_DockerRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: SoftwareRequirement_classLoader
   :type:  Final

.. py:data:: uri_SoftwareRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: array_of_SoftwarePackageLoader
   :type:  Final

.. py:data:: idmap_packages_array_of_SoftwarePackageLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_array_of_strtype_False_False_None_True
   :type:  Final

.. py:data:: InitialWorkDirRequirement_classLoader
   :type:  Final

.. py:data:: uri_InitialWorkDirRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader
   :type:  Final

.. py:data:: array_of_union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader
   :type:  Final

.. py:data:: union_of_array_of_union_of_None_type_or_FileLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader_or_DirectoryLoader_or_DirentLoader_or_ExpressionLoader_or_ExpressionLoader
   :type:  Final

.. py:data:: EnvVarRequirement_classLoader
   :type:  Final

.. py:data:: uri_EnvVarRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: array_of_EnvironmentDefLoader
   :type:  Final

.. py:data:: idmap_envDef_array_of_EnvironmentDefLoader
   :type:  Final

.. py:data:: ShellCommandRequirement_classLoader
   :type:  Final

.. py:data:: uri_ShellCommandRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: ResourceRequirement_classLoader
   :type:  Final

.. py:data:: uri_ResourceRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: WorkReuse_classLoader
   :type:  Final

.. py:data:: uri_WorkReuse_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_booltype_or_ExpressionLoader
   :type:  Final

.. py:data:: NetworkAccess_classLoader
   :type:  Final

.. py:data:: uri_NetworkAccess_classLoader_False_True_None_None
   :type:  Final

.. py:data:: InplaceUpdateRequirement_classLoader
   :type:  Final

.. py:data:: uri_InplaceUpdateRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: ToolTimeLimit_classLoader
   :type:  Final

.. py:data:: uri_ToolTimeLimit_classLoader_False_True_None_None
   :type:  Final

.. py:data:: union_of_inttype_or_ExpressionLoader
   :type:  Final

.. py:data:: typedsl_OutputParameterTypeLoader_2
   :type:  Final

.. py:data:: typedsl_InputParameterTypeLoader_2
   :type:  Final

.. py:data:: union_of_None_type_or_InputBindingLoader
   :type:  Final

.. py:data:: ExpressionTool_classLoader
   :type:  Final

.. py:data:: uri_ExpressionTool_classLoader_False_True_None_None
   :type:  Final

.. py:data:: array_of_WorkflowInputParameterLoader
   :type:  Final

.. py:data:: idmap_inputs_array_of_WorkflowInputParameterLoader
   :type:  Final

.. py:data:: array_of_ExpressionToolOutputParameterLoader
   :type:  Final

.. py:data:: idmap_outputs_array_of_ExpressionToolOutputParameterLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_1_None
   :type:  Final

.. py:data:: union_of_None_type_or_LinkMergeMethodLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_2_None
   :type:  Final

.. py:data:: array_of_WorkflowStepInputLoader
   :type:  Final

.. py:data:: idmap_in__array_of_WorkflowStepInputLoader
   :type:  Final

.. py:data:: union_of_strtype_or_WorkflowStepOutputLoader
   :type:  Final

.. py:data:: array_of_union_of_strtype_or_WorkflowStepOutputLoader
   :type:  Final

.. py:data:: union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader
   :type:  Final

.. py:data:: uri_union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader_True_False_None_None
   :type:  Final

.. py:data:: array_of_Any_type
   :type:  Final

.. py:data:: union_of_None_type_or_array_of_Any_type
   :type:  Final

.. py:data:: idmap_hints_union_of_None_type_or_array_of_Any_type
   :type:  Final

.. py:data:: union_of_WorkflowLoader_or_CommandLineToolLoader_or_ProcessGeneratorLoader_or_ExpressionToolLoader
   :type:  Final

.. py:data:: union_of_strtype_or_ProcessProxyLoader
   :type:  Final

.. py:data:: uri_union_of_strtype_or_ProcessProxyLoader_False_False_None_None
   :type:  Final

.. py:data:: uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_0_None
   :type:  Final

.. py:data:: union_of_None_type_or_ScatterMethodLoader
   :type:  Final

.. py:data:: uri_union_of_None_type_or_ScatterMethodLoader_False_True_None_None
   :type:  Final

.. py:data:: Workflow_classLoader
   :type:  Final

.. py:data:: uri_Workflow_classLoader_False_True_None_None
   :type:  Final

.. py:data:: array_of_WorkflowOutputParameterLoader
   :type:  Final

.. py:data:: idmap_outputs_array_of_WorkflowOutputParameterLoader
   :type:  Final

.. py:data:: array_of_WorkflowStepLoader
   :type:  Final

.. py:data:: union_of_array_of_WorkflowStepLoader
   :type:  Final

.. py:data:: idmap_steps_union_of_array_of_WorkflowStepLoader
   :type:  Final

.. py:data:: SubworkflowFeatureRequirement_classLoader
   :type:  Final

.. py:data:: uri_SubworkflowFeatureRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: ScatterFeatureRequirement_classLoader
   :type:  Final

.. py:data:: uri_ScatterFeatureRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: MultipleInputFeatureRequirement_classLoader
   :type:  Final

.. py:data:: uri_MultipleInputFeatureRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: StepInputExpressionRequirement_classLoader
   :type:  Final

.. py:data:: uri_StepInputExpressionRequirement_classLoader_False_True_None_None
   :type:  Final

.. py:data:: uri_strtype_False_True_None_None
   :type:  Final

.. py:data:: uri_array_of_strtype_False_False_0_None
   :type:  Final

.. py:data:: union_of_strtype_or_array_of_strtype
   :type:  Final

.. py:data:: union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader
   :type:  Final

.. py:data:: array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader
   :type:  Final

.. py:data:: union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader_or_array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_ProcessGeneratorLoader
   :type:  Final

.. py:function:: load_document(doc, baseuri = None, loadingOptions = None)

.. py:function:: load_document_with_metadata(doc, baseuri = None, loadingOptions = None, addl_metadata_fields = None)

.. py:function:: load_document_by_string(string, uri, loadingOptions = None)

.. py:function:: load_document_by_yaml(yaml, uri, loadingOptions = None)

   Shortcut to load via a YAML object.
   yaml: must be from ruamel.yaml.main.YAML.load with preserve_quotes=True


