cwl_utils.parser.cwl_v1_2

Attributes

IdxType

save_type

strtype

inttype

floattype

booltype

None_type

Any_type

PrimitiveTypeLoader

Names of salad data types (based on Avro schema declarations).

AnyLoader

The Any type validates for any non-null value.

RecordFieldLoader

RecordSchemaLoader

EnumSchemaLoader

ArraySchemaLoader

MapSchemaLoader

UnionSchemaLoader

CWLTypeLoader

Extends primitive types with the concept of a file and directory as a builtin type.

CWLArraySchemaLoader

CWLRecordFieldLoader

CWLRecordSchemaLoader

FileLoader

DirectoryLoader

CWLObjectTypeLoader

union_of_None_type_or_CWLObjectTypeLoader

array_of_union_of_None_type_or_CWLObjectTypeLoader

map_of_union_of_None_type_or_CWLObjectTypeLoader

InlineJavascriptRequirementLoader

SchemaDefRequirementLoader

LoadListingRequirementLoader

DockerRequirementLoader

SoftwareRequirementLoader

InitialWorkDirRequirementLoader

EnvVarRequirementLoader

ShellCommandRequirementLoader

ResourceRequirementLoader

WorkReuseLoader

NetworkAccessLoader

InplaceUpdateRequirementLoader

ToolTimeLimitLoader

SubworkflowFeatureRequirementLoader

ScatterFeatureRequirementLoader

MultipleInputFeatureRequirementLoader

StepInputExpressionRequirementLoader

union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader

array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader

union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_CWLObjectTypeLoader

map_of_union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_CWLObjectTypeLoader

CWLInputFileLoader

CWLVersionLoader

Version symbols for published CWL document versions.

LoadListingEnumLoader

Specify the desired behavior for loading the listing field of

ExpressionLoader

InputBindingLoader

InputRecordFieldLoader

InputRecordSchemaLoader

InputEnumSchemaLoader

InputArraySchemaLoader

OutputRecordFieldLoader

OutputRecordSchemaLoader

OutputEnumSchemaLoader

OutputArraySchemaLoader

SecondaryFileSchemaLoader

EnvironmentDefLoader

CommandLineBindingLoader

CommandOutputBindingLoader

CommandLineBindableLoader

CommandInputRecordFieldLoader

CommandInputRecordSchemaLoader

CommandInputEnumSchemaLoader

CommandInputArraySchemaLoader

CommandOutputRecordFieldLoader

CommandOutputRecordSchemaLoader

CommandOutputEnumSchemaLoader

CommandOutputArraySchemaLoader

CommandInputParameterLoader

CommandOutputParameterLoader

stdinLoader

Only valid as a type for a CommandLineTool input with no

stdoutLoader

Only valid as a type for a CommandLineTool output with no

stderrLoader

Only valid as a type for a CommandLineTool output with no

CommandLineToolLoader

SoftwarePackageLoader

DirentLoader

ExpressionToolOutputParameterLoader

WorkflowInputParameterLoader

ExpressionToolLoader

LinkMergeMethodLoader

The input link merge method, described in [WorkflowStepInput](#WorkflowStepInput).

PickValueMethodLoader

Picking non-null values among inbound data links, described in [WorkflowStepInput](#WorkflowStepInput).

WorkflowOutputParameterLoader

WorkflowStepInputLoader

WorkflowStepOutputLoader

ScatterMethodLoader

The scatter method, as described in [workflow step scatter](#WorkflowStep).

WorkflowStepLoader

WorkflowLoader

OperationInputParameterLoader

OperationOutputParameterLoader

OperationLoader

array_of_strtype

union_of_None_type_or_strtype_or_array_of_strtype

uri_strtype_True_False_None_None

union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype

array_of_union_of_PrimitiveTypeLoader_or_RecordSchemaLoader_or_EnumSchemaLoader_or_ArraySchemaLoader_or_MapSchemaLoader_or_UnionSchemaLoader_or_strtype

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

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

array_of_RecordFieldLoader

union_of_None_type_or_array_of_RecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_RecordFieldLoader

Record_nameLoader

typedsl_Record_nameLoader_2

union_of_None_type_or_strtype

uri_union_of_None_type_or_strtype_True_False_None_None

uri_array_of_strtype_True_False_None_None

Enum_nameLoader

typedsl_Enum_nameLoader_2

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

Array_nameLoader

typedsl_Array_nameLoader_2

Map_nameLoader

typedsl_Map_nameLoader_2

Union_nameLoader

typedsl_Union_nameLoader_2

union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype

array_of_union_of_PrimitiveTypeLoader_or_CWLRecordSchemaLoader_or_EnumSchemaLoader_or_CWLArraySchemaLoader_or_strtype

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

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

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

array_of_CWLRecordFieldLoader

union_of_None_type_or_array_of_CWLRecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_CWLRecordFieldLoader

File_classLoader

uri_File_classLoader_False_True_None_None

uri_union_of_None_type_or_strtype_False_False_None_None

union_of_None_type_or_inttype

union_of_FileLoader_or_DirectoryLoader

array_of_union_of_FileLoader_or_DirectoryLoader

union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader

secondaryfilesdsl_union_of_None_type_or_array_of_union_of_FileLoader_or_DirectoryLoader

uri_union_of_None_type_or_strtype_True_False_None_True

Directory_classLoader

uri_Directory_classLoader_False_True_None_None

union_of_None_type_or_booltype

union_of_None_type_or_LoadListingEnumLoader

array_of_SecondaryFileSchemaLoader

union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader

secondaryfilesdsl_union_of_None_type_or_SecondaryFileSchemaLoader_or_array_of_SecondaryFileSchemaLoader

union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader

uri_union_of_None_type_or_strtype_or_array_of_strtype_or_ExpressionLoader_True_False_None_True

union_of_None_type_or_strtype_or_ExpressionLoader

uri_union_of_None_type_or_strtype_or_ExpressionLoader_True_False_None_True

union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype

array_of_union_of_CWLTypeLoader_or_InputRecordSchemaLoader_or_InputEnumSchemaLoader_or_InputArraySchemaLoader_or_strtype

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

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

array_of_InputRecordFieldLoader

union_of_None_type_or_array_of_InputRecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_InputRecordFieldLoader

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

union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype

array_of_union_of_CWLTypeLoader_or_OutputRecordSchemaLoader_or_OutputEnumSchemaLoader_or_OutputArraySchemaLoader_or_strtype

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

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

array_of_OutputRecordFieldLoader

union_of_None_type_or_array_of_OutputRecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_OutputRecordFieldLoader

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

union_of_CommandInputParameterLoader_or_WorkflowInputParameterLoader_or_OperationInputParameterLoader

array_of_union_of_CommandInputParameterLoader_or_WorkflowInputParameterLoader_or_OperationInputParameterLoader

idmap_inputs_array_of_union_of_CommandInputParameterLoader_or_WorkflowInputParameterLoader_or_OperationInputParameterLoader

union_of_CommandOutputParameterLoader_or_ExpressionToolOutputParameterLoader_or_WorkflowOutputParameterLoader_or_OperationOutputParameterLoader

array_of_union_of_CommandOutputParameterLoader_or_ExpressionToolOutputParameterLoader_or_WorkflowOutputParameterLoader_or_OperationOutputParameterLoader

idmap_outputs_array_of_union_of_CommandOutputParameterLoader_or_ExpressionToolOutputParameterLoader_or_WorkflowOutputParameterLoader_or_OperationOutputParameterLoader

union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader

idmap_requirements_union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader

union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_Any_type

array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_Any_type

union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_Any_type

idmap_hints_union_of_None_type_or_array_of_union_of_InlineJavascriptRequirementLoader_or_SchemaDefRequirementLoader_or_LoadListingRequirementLoader_or_DockerRequirementLoader_or_SoftwareRequirementLoader_or_InitialWorkDirRequirementLoader_or_EnvVarRequirementLoader_or_ShellCommandRequirementLoader_or_ResourceRequirementLoader_or_WorkReuseLoader_or_NetworkAccessLoader_or_InplaceUpdateRequirementLoader_or_ToolTimeLimitLoader_or_SubworkflowFeatureRequirementLoader_or_ScatterFeatureRequirementLoader_or_MultipleInputFeatureRequirementLoader_or_StepInputExpressionRequirementLoader_or_Any_type

union_of_None_type_or_CWLVersionLoader

uri_union_of_None_type_or_CWLVersionLoader_False_True_None_None

union_of_None_type_or_array_of_strtype

uri_union_of_None_type_or_array_of_strtype_True_False_None_None

InlineJavascriptRequirement_classLoader

uri_InlineJavascriptRequirement_classLoader_False_True_None_None

SchemaDefRequirement_classLoader

uri_SchemaDefRequirement_classLoader_False_True_None_None

union_of_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader

array_of_union_of_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader

union_of_strtype_or_ExpressionLoader

union_of_None_type_or_booltype_or_ExpressionLoader

LoadListingRequirement_classLoader

uri_LoadListingRequirement_classLoader_False_True_None_None

union_of_None_type_or_inttype_or_ExpressionLoader

union_of_None_type_or_strtype_or_ExpressionLoader_or_array_of_strtype

union_of_None_type_or_ExpressionLoader

union_of_None_type_or_CommandLineBindingLoader

union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype

array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype

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

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

array_of_CommandInputRecordFieldLoader

union_of_None_type_or_array_of_CommandInputRecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_CommandInputRecordFieldLoader

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

union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype

array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype

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

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

union_of_None_type_or_CommandOutputBindingLoader

array_of_CommandOutputRecordFieldLoader

union_of_None_type_or_array_of_CommandOutputRecordFieldLoader

idmap_fields_union_of_None_type_or_array_of_CommandOutputRecordFieldLoader

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

union_of_CWLTypeLoader_or_stdinLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype

typedsl_union_of_CWLTypeLoader_or_stdinLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandInputRecordSchemaLoader_or_CommandInputEnumSchemaLoader_or_CommandInputArraySchemaLoader_or_strtype_2

union_of_CWLTypeLoader_or_stdoutLoader_or_stderrLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype

typedsl_union_of_CWLTypeLoader_or_stdoutLoader_or_stderrLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_or_array_of_union_of_CWLTypeLoader_or_CommandOutputRecordSchemaLoader_or_CommandOutputEnumSchemaLoader_or_CommandOutputArraySchemaLoader_or_strtype_2

CommandLineTool_classLoader

uri_CommandLineTool_classLoader_False_True_None_None

array_of_CommandInputParameterLoader

idmap_inputs_array_of_CommandInputParameterLoader

array_of_CommandOutputParameterLoader

idmap_outputs_array_of_CommandOutputParameterLoader

union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader

array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader

union_of_None_type_or_array_of_union_of_strtype_or_ExpressionLoader_or_CommandLineBindingLoader

array_of_inttype

union_of_None_type_or_array_of_inttype

DockerRequirement_classLoader

uri_DockerRequirement_classLoader_False_True_None_None

SoftwareRequirement_classLoader

uri_SoftwareRequirement_classLoader_False_True_None_None

array_of_SoftwarePackageLoader

idmap_packages_array_of_SoftwarePackageLoader

uri_union_of_None_type_or_array_of_strtype_False_False_None_True

InitialWorkDirRequirement_classLoader

uri_InitialWorkDirRequirement_classLoader_False_True_None_None

union_of_None_type_or_DirentLoader_or_ExpressionLoader_or_FileLoader_or_DirectoryLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader

array_of_union_of_None_type_or_DirentLoader_or_ExpressionLoader_or_FileLoader_or_DirectoryLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader

union_of_ExpressionLoader_or_array_of_union_of_None_type_or_DirentLoader_or_ExpressionLoader_or_FileLoader_or_DirectoryLoader_or_array_of_union_of_FileLoader_or_DirectoryLoader

EnvVarRequirement_classLoader

uri_EnvVarRequirement_classLoader_False_True_None_None

array_of_EnvironmentDefLoader

idmap_envDef_array_of_EnvironmentDefLoader

ShellCommandRequirement_classLoader

uri_ShellCommandRequirement_classLoader_False_True_None_None

ResourceRequirement_classLoader

uri_ResourceRequirement_classLoader_False_True_None_None

union_of_None_type_or_inttype_or_floattype_or_ExpressionLoader

WorkReuse_classLoader

uri_WorkReuse_classLoader_False_True_None_None

union_of_booltype_or_ExpressionLoader

NetworkAccess_classLoader

uri_NetworkAccess_classLoader_False_True_None_None

InplaceUpdateRequirement_classLoader

uri_InplaceUpdateRequirement_classLoader_False_True_None_None

ToolTimeLimit_classLoader

uri_ToolTimeLimit_classLoader_False_True_None_None

union_of_inttype_or_ExpressionLoader

union_of_None_type_or_InputBindingLoader

ExpressionTool_classLoader

uri_ExpressionTool_classLoader_False_True_None_None

array_of_WorkflowInputParameterLoader

idmap_inputs_array_of_WorkflowInputParameterLoader

array_of_ExpressionToolOutputParameterLoader

idmap_outputs_array_of_ExpressionToolOutputParameterLoader

uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_1_None

union_of_None_type_or_LinkMergeMethodLoader

union_of_None_type_or_PickValueMethodLoader

uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_2_None

array_of_WorkflowStepInputLoader

idmap_in__array_of_WorkflowStepInputLoader

union_of_strtype_or_WorkflowStepOutputLoader

array_of_union_of_strtype_or_WorkflowStepOutputLoader

union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader

uri_union_of_array_of_union_of_strtype_or_WorkflowStepOutputLoader_True_False_None_None

array_of_Any_type

union_of_None_type_or_array_of_Any_type

idmap_hints_union_of_None_type_or_array_of_Any_type

union_of_strtype_or_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader

uri_union_of_strtype_or_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader_False_False_None_None

uri_union_of_None_type_or_strtype_or_array_of_strtype_False_False_0_None

union_of_None_type_or_ScatterMethodLoader

uri_union_of_None_type_or_ScatterMethodLoader_False_True_None_None

Workflow_classLoader

uri_Workflow_classLoader_False_True_None_None

array_of_WorkflowOutputParameterLoader

idmap_outputs_array_of_WorkflowOutputParameterLoader

array_of_WorkflowStepLoader

union_of_array_of_WorkflowStepLoader

idmap_steps_union_of_array_of_WorkflowStepLoader

SubworkflowFeatureRequirement_classLoader

uri_SubworkflowFeatureRequirement_classLoader_False_True_None_None

ScatterFeatureRequirement_classLoader

uri_ScatterFeatureRequirement_classLoader_False_True_None_None

MultipleInputFeatureRequirement_classLoader

uri_MultipleInputFeatureRequirement_classLoader_False_True_None_None

StepInputExpressionRequirement_classLoader

uri_StepInputExpressionRequirement_classLoader_False_True_None_None

Operation_classLoader

uri_Operation_classLoader_False_True_None_None

array_of_OperationInputParameterLoader

idmap_inputs_array_of_OperationInputParameterLoader

array_of_OperationOutputParameterLoader

idmap_outputs_array_of_OperationOutputParameterLoader

union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader

array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader

union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader_or_array_of_union_of_CommandLineToolLoader_or_ExpressionToolLoader_or_WorkflowLoader_or_OperationLoader

Classes

LoadingOptions

Saveable

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

Documented

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

RecordField

A field of a record.

RecordSchema

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

EnumSchema

Define an enumerated type.

ArraySchema

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

MapSchema

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

UnionSchema

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

CWLArraySchema

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

CWLRecordField

A field of a record.

CWLRecordSchema

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

File

Represents a file (or group of files when secondaryFiles is provided) that

Directory

Represents a directory to present to a command line tool.

Labeled

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

Identified

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

LoadContents

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

FieldBase

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

InputFormat

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

OutputFormat

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

Parameter

Define an input or output parameter to a process.

InputBinding

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

IOSchema

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

InputSchema

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

OutputSchema

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

InputRecordField

A field of a record.

InputRecordSchema

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

InputEnumSchema

Define an enumerated type.

InputArraySchema

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

OutputRecordField

A field of a record.

OutputRecordSchema

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

OutputEnumSchema

Define an enumerated type.

OutputArraySchema

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

InputParameter

Define an input or output parameter to a process.

OutputParameter

Define an input or output parameter to a process.

ProcessRequirement

A process requirement declares a prerequisite that may or must be fulfilled

Process

The base executable type in CWL is the Process object defined by the

InlineJavascriptRequirement

Indicates that the workflow platform must support inline Javascript expressions.

CommandInputSchema

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

SchemaDefRequirement

This field consists of an array of type definitions which must be used when

SecondaryFileSchema

Secondary files are specified using the following micro-DSL for secondary files:

LoadListingRequirement

Specify the desired behavior for loading the listing field of

EnvironmentDef

Define an environment variable that will be set in the runtime environment

CommandLineBinding

When listed under inputBinding in the input schema, the term

CommandOutputBinding

Describes how to generate an output parameter based on the files produced

CommandLineBindable

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

CommandInputRecordField

A field of a record.

CommandInputRecordSchema

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

CommandInputEnumSchema

Define an enumerated type.

CommandInputArraySchema

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

CommandOutputRecordField

A field of a record.

CommandOutputRecordSchema

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

CommandOutputEnumSchema

Define an enumerated type.

CommandOutputArraySchema

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

CommandInputParameter

An input parameter for a CommandLineTool.

CommandOutputParameter

An output parameter for a CommandLineTool.

CommandLineTool

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

DockerRequirement

Indicates that a workflow component should be run in a

SoftwareRequirement

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

SoftwarePackage

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

Dirent

Define a file or subdirectory that must be staged to a particular

InitialWorkDirRequirement

Define a list of files and subdirectories that must be staged by the workflow platform prior to executing the command line tool.

EnvVarRequirement

Define a list of environment variables which will be set in the

ShellCommandRequirement

Modify the behavior of CommandLineTool to generate a single string

ResourceRequirement

Specify basic hardware resource requirements.

WorkReuse

For implementations that support reusing output from past work (on

NetworkAccess

Indicate whether a process requires outgoing IPv4/IPv6 network

InplaceUpdateRequirement

If inplaceUpdate is true, then an implementation supporting this

ToolTimeLimit

Set an upper limit on the execution time of a CommandLineTool.

ExpressionToolOutputParameter

Define an input or output parameter to a process.

WorkflowInputParameter

Define an input or output parameter to a process.

ExpressionTool

An ExpressionTool is a type of Process object that can be run by itself

WorkflowOutputParameter

Describe an output parameter of a workflow. The parameter must be

Sink

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

WorkflowStepInput

The input of a workflow step connects an upstream parameter (from the

WorkflowStepOutput

Associate an output parameter of the underlying process with a workflow

WorkflowStep

A workflow step is an executable element of a workflow. It specifies the

Workflow

A workflow describes a set of steps and the dependencies between

SubworkflowFeatureRequirement

Indicates that the workflow platform must support nested workflows in

ScatterFeatureRequirement

Indicates that the workflow platform must support the scatter and

MultipleInputFeatureRequirement

Indicates that the workflow platform must support multiple inbound data links

StepInputExpressionRequirement

Indicate that the workflow platform must support the valueFrom field

OperationInputParameter

Describe an input parameter of an operation.

OperationOutputParameter

Describe an output parameter of an operation.

Operation

This record describes an abstract operation. It is a potential

Functions

load_field(val, fieldtype, baseuri, loadingOptions[, lc])

Load field.

extract_type(val_type)

Take a type of value, and extracts the value as a string.

convert_typing(val_type)

Normalize type names to schema-salad types.

parse_errors(error_message)

Parse error messages from several loaders into one error message.

save(val[, top, base_url, relative_uris])

save_with_metadata(val, valLoadingOpts[, top, ...])

Save and set $namespaces, $schemas, $base and any other metadata fields at the top level.

expand_url(url, base_url, loadingOptions[, scoped_id, ...])

file_uri(path[, split_frag])

Transform a file path into a URL with file scheme.

prefix_url(url, namespaces)

Expand short forms into full URLs using the given namespace dictionary.

save_relative_uri(uri, base_url, scoped_id, ref_scope, ...)

Convert any URI to a relative one, obeying the scoping rules.

shortname(inputid)

Compute the shortname of a fully qualified identifier.

parser_info()

load_document(doc[, baseuri, loadingOptions])

load_document_with_metadata(doc[, baseuri, ...])

load_document_by_string(string, uri[, loadingOptions])

load_document_by_yaml(yaml, uri[, loadingOptions])

Shortcut to load via a YAML object.

Module Contents

cwl_utils.parser.cwl_v1_2.IdxType
class cwl_utils.parser.cwl_v1_2.LoadingOptions(fetcher=None, namespaces=None, schemas=None, fileuri=None, copyfrom=None, original_doc=None, addl_metadata=None, baseuri=None, idx=None, imports=None, includes=None, no_link_check=None, container=None)
Parameters:
  • fetcher (Optional[schema_salad.fetcher.Fetcher])

  • namespaces (Optional[Dict[str, str]])

  • schemas (Optional[List[str]])

  • fileuri (Optional[str])

  • copyfrom (Optional[LoadingOptions])

  • original_doc (Optional[Any])

  • addl_metadata (Optional[Dict[str, str]])

  • baseuri (Optional[str])

  • idx (Optional[IdxType])

  • imports (Optional[List[str]])

  • includes (Optional[List[str]])

  • no_link_check (Optional[bool])

  • container (Optional[str])

idx: IdxType
fileuri: str | None
baseuri: str
namespaces: MutableMapping[str, str]
schemas: MutableSequence[str]
original_doc: Any | None
addl_metadata: MutableMapping[str, Any]
fetcher: schema_salad.fetcher.Fetcher
vocab: Dict[str, str]
rvocab: Dict[str, str]
cache: schema_salad.utils.CacheType
imports: List[str]
includes: List[str]
container: str | None
property graph: rdflib.Graph

Generate a merged rdflib.Graph from all entries in self.schemas.

Return type:

rdflib.Graph

class cwl_utils.parser.cwl_v1_2.Saveable

Bases: abc.ABC

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Saveable

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

classmethod fromDoc(_doc, baseuri, loadingOptions, docRoot=None)
Abstractmethod:

Parameters:
Return type:

Saveable

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

abstract save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

cwl_utils.parser.cwl_v1_2.load_field(val, fieldtype, baseuri, loadingOptions, lc=None)

Load field.

Parameters:
Return type:

Any

cwl_utils.parser.cwl_v1_2.save_type
cwl_utils.parser.cwl_v1_2.extract_type(val_type)

Take a type of value, and extracts the value as a string.

Parameters:

val_type (Type[Any])

Return type:

str

cwl_utils.parser.cwl_v1_2.convert_typing(val_type)

Normalize type names to schema-salad types.

Parameters:

val_type (str)

Return type:

str

cwl_utils.parser.cwl_v1_2.parse_errors(error_message)

Parse error messages from several loaders into one error message.

Parameters:

error_message (str)

Return type:

Tuple[str, str, str]

cwl_utils.parser.cwl_v1_2.save(val, top=True, base_url='', relative_uris=True)
Parameters:
  • val (Any)

  • top (bool)

  • base_url (str)

  • relative_uris (bool)

Return type:

save_type

cwl_utils.parser.cwl_v1_2.save_with_metadata(val, valLoadingOpts, top=True, base_url='', relative_uris=True)

Save and set $namespaces, $schemas, $base and any other metadata fields at the top level.

Parameters:
Return type:

save_type

cwl_utils.parser.cwl_v1_2.expand_url(url, base_url, loadingOptions, scoped_id=False, vocab_term=False, scoped_ref=None)
Parameters:
Return type:

str

cwl_utils.parser.cwl_v1_2.file_uri(path, split_frag=False)

Transform a file path into a URL with file scheme.

Parameters:
Return type:

str

cwl_utils.parser.cwl_v1_2.prefix_url(url, namespaces)

Expand short forms into full URLs using the given namespace dictionary.

Parameters:
Return type:

str

cwl_utils.parser.cwl_v1_2.save_relative_uri(uri, base_url, scoped_id, ref_scope, relative_uris)

Convert any URI to a relative one, obeying the scoping rules.

Parameters:
  • uri (Any)

  • base_url (str)

  • scoped_id (bool)

  • ref_scope (Optional[int])

  • relative_uris (bool)

Return type:

Any

cwl_utils.parser.cwl_v1_2.shortname(inputid)

Compute the shortname of a fully qualified identifier.

See https://w3id.org/cwl/v1.2/SchemaSalad.html#Short_names.

Parameters:

inputid (str)

Return type:

str

cwl_utils.parser.cwl_v1_2.parser_info()
Return type:

str

class cwl_utils.parser.cwl_v1_2.Documented

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Documented

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

class cwl_utils.parser.cwl_v1_2.RecordField(name, type_, doc=None, extension_fields=None, loadingOptions=None)

Bases: Documented

Inheritance diagram of cwl_utils.parser.cwl_v1_2.RecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

RecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.RecordSchema(type_, fields=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.RecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

RecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.EnumSchema(symbols, type_, name=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.EnumSchema

Define an enumerated type.

Parameters:
  • symbols (Any)

  • type_ (Any)

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

name
symbols
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

EnumSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ArraySchema(items, type_, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.MapSchema(type_, values, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.MapSchema

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

Parameters:
  • type_ (Any)

  • values (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

type_
values
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

MapSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.UnionSchema(names, type_, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.UnionSchema

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

Parameters:
  • names (Any)

  • type_ (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

names
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

UnionSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CWLArraySchema(items, type_, extension_fields=None, loadingOptions=None)

Bases: ArraySchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CWLArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CWLArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CWLRecordField(name, type_, doc=None, extension_fields=None, loadingOptions=None)

Bases: RecordField

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CWLRecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CWLRecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CWLRecordSchema(type_, fields=None, extension_fields=None, loadingOptions=None)

Bases: RecordSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CWLRecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CWLRecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.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: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.File

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 IRI that uniquely identifies the file. Implementations must support the file:// IRI scheme and may support other schemes such as http:// and https://. The value of location may also be a relative reference, in which case it must be resolved relative to the IRI 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 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 IRI 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.

Parameters:
  • location (Optional[Any])

  • path (Optional[Any])

  • basename (Optional[Any])

  • dirname (Optional[Any])

  • nameroot (Optional[Any])

  • nameext (Optional[Any])

  • checksum (Optional[Any])

  • size (Optional[Any])

  • secondaryFiles (Optional[Any])

  • format (Optional[Any])

  • contents (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'File'
location
path
basename
dirname
nameroot
nameext
checksum
size
secondaryFiles
format
contents
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

File

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.Directory(location=None, path=None, basename=None, listing=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Directory

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 IRI that uniquely identifies the directory. Implementations must support the file:// IRI 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 IRI 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.

Parameters:
  • location (Optional[Any])

  • path (Optional[Any])

  • basename (Optional[Any])

  • listing (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'Directory'
location
path
basename
listing
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

Directory

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.Labeled

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Labeled

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

class cwl_utils.parser.cwl_v1_2.Identified

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Identified

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

class cwl_utils.parser.cwl_v1_2.LoadContents

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.LoadContents

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

class cwl_utils.parser.cwl_v1_2.FieldBase

Bases: Labeled

Inheritance diagram of cwl_utils.parser.cwl_v1_2.FieldBase

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

class cwl_utils.parser.cwl_v1_2.InputFormat

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputFormat

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

class cwl_utils.parser.cwl_v1_2.OutputFormat

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputFormat

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

class cwl_utils.parser.cwl_v1_2.Parameter

Bases: FieldBase, Documented, Identified

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Parameter

Define an input or output parameter to a process.

class cwl_utils.parser.cwl_v1_2.InputBinding(loadContents=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputBinding

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

Parameters:
  • loadContents (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

loadContents
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InputBinding

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.IOSchema

Bases: Labeled, Documented

Inheritance diagram of cwl_utils.parser.cwl_v1_2.IOSchema

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

class cwl_utils.parser.cwl_v1_2.InputSchema

Bases: IOSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputSchema

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

class cwl_utils.parser.cwl_v1_2.OutputSchema

Bases: IOSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputSchema

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

class cwl_utils.parser.cwl_v1_2.InputRecordField(name, type_, doc=None, label=None, secondaryFiles=None, streamable=None, format=None, loadContents=None, loadListing=None, extension_fields=None, loadingOptions=None)

Bases: CWLRecordField, FieldBase, InputFormat, LoadContents

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputRecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • format (Optional[Any])

  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
label
secondaryFiles
streamable
format
loadContents
loadListing
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InputRecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InputRecordSchema(type_, fields=None, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: CWLRecordSchema, InputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputRecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InputRecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InputEnumSchema(symbols, type_, name=None, label=None, doc=None, extension_fields=None, loadingOptions=None)

Bases: EnumSchema, InputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputEnumSchema

Define an enumerated type.

Parameters:
  • symbols (Any)

  • type_ (Any)

  • name (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

name
symbols
type_
label
doc
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InputEnumSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InputArraySchema(items, type_, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: CWLArraySchema, InputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InputArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.OutputRecordField(name, type_, doc=None, label=None, secondaryFiles=None, streamable=None, format=None, extension_fields=None, loadingOptions=None)

Bases: CWLRecordField, FieldBase, OutputFormat

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputRecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • format (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
label
secondaryFiles
streamable
format
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

OutputRecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.OutputRecordSchema(type_, fields=None, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: CWLRecordSchema, OutputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputRecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

OutputRecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.OutputEnumSchema(symbols, type_, name=None, label=None, doc=None, extension_fields=None, loadingOptions=None)

Bases: EnumSchema, OutputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputEnumSchema

Define an enumerated type.

Parameters:
  • symbols (Any)

  • type_ (Any)

  • name (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

name
symbols
type_
label
doc
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

OutputEnumSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.OutputArraySchema(items, type_, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: CWLArraySchema, OutputSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

OutputArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InputParameter

Bases: Parameter, InputFormat, LoadContents

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InputParameter

Define an input or output parameter to a process.

class cwl_utils.parser.cwl_v1_2.OutputParameter

Bases: Parameter, OutputFormat

Inheritance diagram of cwl_utils.parser.cwl_v1_2.OutputParameter

Define an input or output parameter to a process.

class cwl_utils.parser.cwl_v1_2.ProcessRequirement

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ProcessRequirement

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.

class cwl_utils.parser.cwl_v1_2.Process

Bases: Identified, Labeled, Documented

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Process

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.

class cwl_utils.parser.cwl_v1_2.InlineJavascriptRequirement(expressionLib=None, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InlineJavascriptRequirement

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

Parameters:
  • expressionLib (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'InlineJavascriptRequirement'
expressionLib
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InlineJavascriptRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandInputSchema

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputSchema

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

class cwl_utils.parser.cwl_v1_2.SchemaDefRequirement(types, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.SchemaDefRequirement

This field consists of an array of type definitions which must be used when interpreting the inputs and outputs fields. When a type field contains 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.

  • Type definitions are allowed for `enum` and `record` types only.

  • Type definitions may be shared by defining them in a file and then $include-ing them in the types field.

  • A file can contain a list of type definitions

Parameters:
  • types (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'SchemaDefRequirement'
types
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

SchemaDefRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.SecondaryFileSchema(pattern, required=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.SecondaryFileSchema

Secondary files are specified using the following micro-DSL for secondary files:

  • If the value is a string, it is transformed to an object with two fields pattern and required

  • By default, the value of required is null (this indicates default behavior, which may be based on the context)

  • If the value ends with a question mark ? the question mark is stripped off and the value of the field required is set to False

  • The remaining value is assigned to the field pattern

For implementation details and examples, please see [this section](SchemaSalad.html#Domain_Specific_Language_for_secondary_files) in the Schema Salad specification.

Parameters:
  • pattern (Any)

  • required (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

pattern
required
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

SecondaryFileSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.LoadListingRequirement(loadListing=None, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.LoadListingRequirement

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

Parameters:
  • loadListing (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'LoadListingRequirement'
loadListing
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

LoadListingRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.EnvironmentDef(envName, envValue, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.EnvironmentDef

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.

Parameters:
  • envName (Any)

  • envValue (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

envName
envValue
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

EnvironmentDef

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandLineBinding(loadContents=None, position=None, prefix=None, separate=None, itemSeparator=None, valueFrom=None, shellQuote=None, extension_fields=None, loadingOptions=None)

Bases: InputBinding

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandLineBinding

When listed under inputBinding in the input schema, the term “value” refers to 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.

Parameters:
  • loadContents (Optional[Any])

  • position (Optional[Any])

  • prefix (Optional[Any])

  • separate (Optional[Any])

  • itemSeparator (Optional[Any])

  • valueFrom (Optional[Any])

  • shellQuote (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

loadContents
position
prefix
separate
itemSeparator
valueFrom
shellQuote
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandLineBinding

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputBinding(loadContents=None, loadListing=None, glob=None, outputEval=None, extension_fields=None, loadingOptions=None)

Bases: LoadContents

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputBinding

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

Parameters:
  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • glob (Optional[Any])

  • outputEval (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

loadContents
loadListing
glob
outputEval
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputBinding

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandLineBindable(inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandLineBindable

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

Parameters:
  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandLineBindable

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.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: InputRecordField, CommandLineBindable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputRecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • format (Optional[Any])

  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
label
secondaryFiles
streamable
format
loadContents
loadListing
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandInputRecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandInputRecordSchema(type_, fields=None, label=None, doc=None, name=None, inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: InputRecordSchema, CommandInputSchema, CommandLineBindable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputRecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
label
doc
name
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandInputRecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandInputEnumSchema(symbols, type_, name=None, label=None, doc=None, inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: InputEnumSchema, CommandInputSchema, CommandLineBindable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputEnumSchema

Define an enumerated type.

Parameters:
  • symbols (Any)

  • type_ (Any)

  • name (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

name
symbols
type_
label
doc
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandInputEnumSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandInputArraySchema(items, type_, label=None, doc=None, name=None, inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: InputArraySchema, CommandInputSchema, CommandLineBindable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
label
doc
name
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandInputArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputRecordField(name, type_, doc=None, label=None, secondaryFiles=None, streamable=None, format=None, outputBinding=None, extension_fields=None, loadingOptions=None)

Bases: OutputRecordField

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputRecordField

A field of a record.

Parameters:
  • name (Any)

  • type_ (Any)

  • doc (Optional[Any])

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • format (Optional[Any])

  • outputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

doc
name
type_
label
secondaryFiles
streamable
format
outputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputRecordField

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputRecordSchema(type_, fields=None, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: OutputRecordSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputRecordSchema

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

Parameters:
  • type_ (Any)

  • fields (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

fields
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputRecordSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputEnumSchema(symbols, type_, name=None, label=None, doc=None, extension_fields=None, loadingOptions=None)

Bases: OutputEnumSchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputEnumSchema

Define an enumerated type.

Parameters:
  • symbols (Any)

  • type_ (Any)

  • name (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

name
symbols
type_
label
doc
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputEnumSchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputArraySchema(items, type_, label=None, doc=None, name=None, extension_fields=None, loadingOptions=None)

Bases: OutputArraySchema

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputArraySchema

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

Parameters:
  • items (Any)

  • type_ (Any)

  • label (Optional[Any])

  • doc (Optional[Any])

  • name (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

items
type_
label
doc
name
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputArraySchema

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandInputParameter(type_, label=None, secondaryFiles=None, streamable=None, doc=None, id=None, format=None, loadContents=None, loadListing=None, default=None, inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: InputParameter

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandInputParameter

An input parameter for a CommandLineTool.

Parameters:
  • type_ (Any)

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • doc (Optional[Any])

  • id (Optional[Any])

  • format (Optional[Any])

  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • default (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

label
secondaryFiles
streamable
doc
id
format
loadContents
loadListing
default
type_
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandInputParameter

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandOutputParameter(type_, label=None, secondaryFiles=None, streamable=None, doc=None, id=None, format=None, outputBinding=None, extension_fields=None, loadingOptions=None)

Bases: OutputParameter

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandOutputParameter

An output parameter for a CommandLineTool.

Parameters:
  • type_ (Any)

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • doc (Optional[Any])

  • id (Optional[Any])

  • format (Optional[Any])

  • outputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

label
secondaryFiles
streamable
doc
id
format
type_
outputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandOutputParameter

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.CommandLineTool(inputs, outputs, id=None, label=None, doc=None, requirements=None, hints=None, cwlVersion=None, intent=None, baseCommand=None, arguments=None, stdin=None, stderr=None, stdout=None, successCodes=None, temporaryFailCodes=None, permanentFailCodes=None, extension_fields=None, loadingOptions=None)

Bases: Process

Inheritance diagram of cwl_utils.parser.cwl_v1_2.CommandLineTool

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

Parameters:
  • inputs (Any)

  • outputs (Any)

  • id (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • requirements (Optional[Any])

  • hints (Optional[Any])

  • cwlVersion (Optional[Any])

  • intent (Optional[Any])

  • baseCommand (Optional[Any])

  • arguments (Optional[Any])

  • stdin (Optional[Any])

  • stderr (Optional[Any])

  • stdout (Optional[Any])

  • successCodes (Optional[Any])

  • temporaryFailCodes (Optional[Any])

  • permanentFailCodes (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
label
doc
inputs
outputs
requirements
hints
cwlVersion
intent
class_ = 'CommandLineTool'
baseCommand
arguments
stdin
stderr
stdout
successCodes
temporaryFailCodes
permanentFailCodes
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

CommandLineTool

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.DockerRequirement(dockerPull=None, dockerLoad=None, dockerFile=None, dockerImport=None, dockerImageId=None, dockerOutputDirectory=None, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.DockerRequirement

Indicates that a workflow component should be run in a [Docker](https://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.

Parameters:
  • dockerPull (Optional[Any])

  • dockerLoad (Optional[Any])

  • dockerFile (Optional[Any])

  • dockerImport (Optional[Any])

  • dockerImageId (Optional[Any])

  • dockerOutputDirectory (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'DockerRequirement'
dockerPull
dockerLoad
dockerFile
dockerImport
dockerImageId
dockerOutputDirectory
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

DockerRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.SoftwareRequirement(packages, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.SoftwareRequirement

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

Parameters:
  • packages (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'SoftwareRequirement'
packages
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

SoftwareRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.SoftwarePackage(package, version=None, specs=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.SoftwarePackage

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

Parameters:
  • package (Any)

  • version (Optional[Any])

  • specs (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

package
version
specs
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

SoftwarePackage

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.Dirent(entry, entryname=None, writable=None, extension_fields=None, loadingOptions=None)

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Dirent

Define a file or subdirectory that must be staged to a particular place prior to executing the command line tool. May be the result of executing an expression, such as building a configuration file from a template.

Usually files are staged within the [designated output directory](#Runtime_environment). However, under certain circumstances, files may be staged at arbitrary locations, see discussion for entryname.

Parameters:
  • entry (Any)

  • entryname (Optional[Any])

  • writable (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

entryname
entry
writable
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

Dirent

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InitialWorkDirRequirement(listing, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InitialWorkDirRequirement

Define a list of files and subdirectories that must be staged by the workflow platform prior to executing the command line tool. Normally files are staged within the designated output directory. However, when running inside containers, files may be staged at arbitrary locations, see discussion for [Dirent.entryname](#Dirent). Together with DockerRequirement.dockerOutputDirectory it is possible to control the locations of both input and output files when running in containers.

Parameters:
  • listing (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'InitialWorkDirRequirement'
listing
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InitialWorkDirRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.EnvVarRequirement(envDef, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.EnvVarRequirement

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

Parameters:
  • envDef (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'EnvVarRequirement'
envDef
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

EnvVarRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ShellCommandRequirement(extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ShellCommandRequirement

Modify the behavior of CommandLineTool to generate a single string containing a shell command line. Each item in the arguments 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.

Parameters:
  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'ShellCommandRequirement'
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ShellCommandRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ResourceRequirement(coresMin=None, coresMax=None, ramMin=None, ramMax=None, tmpdirMin=None, tmpdirMax=None, outdirMin=None, outdirMax=None, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ResourceRequirement

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 allocated. 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 resource allocation, an implementation may deny additional resources, which may result in job failure.

If both “min” and “max” are specified, an implementation may choose to allocate any amount between “min” and “max”, with the actual allocation provided in the runtime object.

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.

Parameters:
  • coresMin (Optional[Any])

  • coresMax (Optional[Any])

  • ramMin (Optional[Any])

  • ramMax (Optional[Any])

  • tmpdirMin (Optional[Any])

  • tmpdirMax (Optional[Any])

  • outdirMin (Optional[Any])

  • outdirMax (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'ResourceRequirement'
coresMin
coresMax
ramMin
ramMax
tmpdirMin
tmpdirMax
outdirMin
outdirMax
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ResourceRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.WorkReuse(enableReuse, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkReuse

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 WorkReuse is not specified, correct tools should assume it is enabled by default.

Parameters:
  • enableReuse (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'WorkReuse'
enableReuse
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkReuse

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.NetworkAccess(networkAccess, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.NetworkAccess

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.

Parameters:
  • networkAccess (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'NetworkAccess'
networkAccess
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

NetworkAccess

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.InplaceUpdateRequirement(inplaceUpdate, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.InplaceUpdateRequirement

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.

Parameters:
  • inplaceUpdate (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'InplaceUpdateRequirement'
inplaceUpdate
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

InplaceUpdateRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ToolTimeLimit(timelimit, extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ToolTimeLimit

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.

Parameters:
  • timelimit (Any)

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'ToolTimeLimit'
timelimit
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ToolTimeLimit

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ExpressionToolOutputParameter(type_, label=None, secondaryFiles=None, streamable=None, doc=None, id=None, format=None, extension_fields=None, loadingOptions=None)

Bases: OutputParameter

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ExpressionToolOutputParameter

Define an input or output parameter to a process.

Parameters:
  • type_ (Any)

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • doc (Optional[Any])

  • id (Optional[Any])

  • format (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

label
secondaryFiles
streamable
doc
id
format
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ExpressionToolOutputParameter

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.WorkflowInputParameter(type_, label=None, secondaryFiles=None, streamable=None, doc=None, id=None, format=None, loadContents=None, loadListing=None, default=None, inputBinding=None, extension_fields=None, loadingOptions=None)

Bases: InputParameter

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkflowInputParameter

Define an input or output parameter to a process.

Parameters:
  • type_ (Any)

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • doc (Optional[Any])

  • id (Optional[Any])

  • format (Optional[Any])

  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • default (Optional[Any])

  • inputBinding (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

label
secondaryFiles
streamable
doc
id
format
loadContents
loadListing
default
type_
inputBinding
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkflowInputParameter

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ExpressionTool(inputs, outputs, expression, id=None, label=None, doc=None, requirements=None, hints=None, cwlVersion=None, intent=None, extension_fields=None, loadingOptions=None)

Bases: Process

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ExpressionTool

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.

Parameters:
  • inputs (Any)

  • outputs (Any)

  • expression (Any)

  • id (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • requirements (Optional[Any])

  • hints (Optional[Any])

  • cwlVersion (Optional[Any])

  • intent (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
label
doc
inputs
outputs
requirements
hints
cwlVersion
intent
class_ = 'ExpressionTool'
expression
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ExpressionTool

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.WorkflowOutputParameter(type_, label=None, secondaryFiles=None, streamable=None, doc=None, id=None, format=None, outputSource=None, linkMerge=None, pickValue=None, extension_fields=None, loadingOptions=None)

Bases: OutputParameter

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkflowOutputParameter

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.

See [WorkflowStepInput](#WorkflowStepInput) for discussion of linkMerge and pickValue.

Parameters:
  • type_ (Any)

  • label (Optional[Any])

  • secondaryFiles (Optional[Any])

  • streamable (Optional[Any])

  • doc (Optional[Any])

  • id (Optional[Any])

  • format (Optional[Any])

  • outputSource (Optional[Any])

  • linkMerge (Optional[Any])

  • pickValue (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

label
secondaryFiles
streamable
doc
id
format
outputSource
linkMerge
pickValue
type_
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkflowOutputParameter

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.Sink

Bases: Saveable

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Sink

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

class cwl_utils.parser.cwl_v1_2.WorkflowStepInput(id=None, source=None, linkMerge=None, pickValue=None, loadContents=None, loadListing=None, label=None, default=None, valueFrom=None, extension_fields=None, loadingOptions=None)

Bases: Identified, Sink, LoadContents, Labeled

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkflowStepInput

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 multiple inbound data links

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 both linkMerge and pickValue are null or not specified, and there is more than one element in the source array, the default method is “merge_nested”.

If both linkMerge and pickValue are null or not specified, and there is only a single element in the source, then the input parameter takes the scalar value from the single input link (it is not wrapped in a single-list).

  • 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.

# Picking non-null values among inbound data links

If present, pickValue specifies how to pick non-null values among inbound data links.

pickValue is evaluated
  1. Once all source values from upstream step or parameters are available.

  2. After linkMerge.

  3. Before scatter or valueFrom.

This is specifically intended to be useful in combination with [conditional execution](#WorkflowStep), where several upstream steps may be connected to a single input (source is a list), and skipped steps produce null values.

Static type checkers should check for type consistency after inferring what the type will be after pickValue is applied, just as they do currently for linkMerge.

  • first_non_null

    For the first level of a list input, pick the first non-null element. The result is a scalar. It is an error if there is no non-null element. Examples: * [null, x, null, y] -> x * [null, [null], null, y] -> [null] * [null, null, null] -> Runtime Error

    Intended use case: If-else pattern where the value comes either from a conditional step or from a default or fallback value. The conditional step(s) should be placed first in the list.

  • the_only_non_null

    For the first level of a list input, pick the single non-null element. The result is a scalar. It is an error if there is more than one non-null element. Examples:

    • [null, x, null] -> x

    • [null, x, null, y] -> Runtime Error

    • [null, [null], null] -> [null]

    • [null, null, null] -> Runtime Error

    Intended use case: Switch type patterns where developer considers more than one active code path as a workflow error (possibly indicating an error in writing when condition expressions).

  • all_non_null

    For the first level of a list input, pick all non-null values. The result is a list, which may be empty. Examples:

    • [null, x, null] -> [x]

    • [x, null, y] -> [x, y]

    • [null, [x], [null]] -> [[x], [null]]

    • [null, null, null] -> []

    Intended use case: It is valid to have more than one source, but

    sources are conditional, so null sources (from skipped steps) should be filtered out.

Parameters:
  • id (Optional[Any])

  • source (Optional[Any])

  • linkMerge (Optional[Any])

  • pickValue (Optional[Any])

  • loadContents (Optional[Any])

  • loadListing (Optional[Any])

  • label (Optional[Any])

  • default (Optional[Any])

  • valueFrom (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
source
linkMerge
pickValue
loadContents
loadListing
label
default
valueFrom
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkflowStepInput

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.WorkflowStepOutput(id=None, extension_fields=None, loadingOptions=None)

Bases: Identified

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkflowStepOutput

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.

Parameters:
  • id (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkflowStepOutput

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.WorkflowStep(in_, out, run, id=None, label=None, doc=None, requirements=None, hints=None, when=None, scatter=None, scatterMethod=None, extension_fields=None, loadingOptions=None)

Bases: Identified, Labeled, Documented

Inheritance diagram of cwl_utils.parser.cwl_v1_2.WorkflowStep

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 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.

# Conditional execution (Optional)

Conditional execution makes execution of a step conditional on an expression. A step that is not executed is “skipped”. A skipped step produces null for all output parameters.

The condition is evaluated after scatter, using the input object of each individual scatter job. This means over a set of scatter jobs, some may be executed and some may be skipped. When the results are gathered, skipped steps must be null in the output arrays.

The when field controls conditional execution. This is an expression that must be evaluated with inputs bound to the step input object (or individual scatter job), and returns a boolean value. It is an error if this expression returns a value other than true or false.

Conditionals in CWL are an optional feature and are not required to be implemented by all consumers of CWL documents. An implementation that does not support conditionals must return a fatal error when attempting to execute a workflow that uses conditional constructs the implementation does not support.

# 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).

Parameters:
  • in_ (Any)

  • out (Any)

  • run (Any)

  • id (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • requirements (Optional[Any])

  • hints (Optional[Any])

  • when (Optional[Any])

  • scatter (Optional[Any])

  • scatterMethod (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
label
doc
in_
out
requirements
hints
run
when
scatter
scatterMethod
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

WorkflowStep

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.Workflow(inputs, outputs, steps, id=None, label=None, doc=None, requirements=None, hints=None, cwlVersion=None, intent=None, extension_fields=None, loadingOptions=None)

Bases: Process

Inheritance diagram of cwl_utils.parser.cwl_v1_2.Workflow

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 outputSource field on [workflow output parameters](#WorkflowOutputParameter).

The source field on each workflow step input parameter expresses the data links that contribute to the value of the step input parameter (the “sink”). A workflow step can only begin execution when every data link connected to a step has been fulfilled.

The outputSource field on each workflow step input parameter expresses the data links that contribute to the value of the workflow output parameter (the “sink”). Workflow execution cannot complete successfully until every data link connected to an output parameter has been fulfilled.

## 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.

Parameters:
  • inputs (Any)

  • outputs (Any)

  • steps (Any)

  • id (Optional[Any])

  • label (Optional[Any])

  • doc (Optional[Any])

  • requirements (Optional[Any])

  • hints (Optional[Any])

  • cwlVersion (Optional[Any])

  • intent (Optional[Any])

  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

id
label
doc
inputs
outputs
requirements
hints
cwlVersion
intent
class_ = 'Workflow'
steps
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

Workflow

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.SubworkflowFeatureRequirement(extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.SubworkflowFeatureRequirement

Indicates that the workflow platform must support nested workflows in the run field of [WorkflowStep](#WorkflowStep).

Parameters:
  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'SubworkflowFeatureRequirement'
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

SubworkflowFeatureRequirement

save(top=False, base_url='', relative_uris=True)

Convert this object to a JSON/YAML friendly dictionary.

Parameters:
Return type:

Dict[str, Any]

attrs
class cwl_utils.parser.cwl_v1_2.ScatterFeatureRequirement(extension_fields=None, loadingOptions=None)

Bases: ProcessRequirement

Inheritance diagram of cwl_utils.parser.cwl_v1_2.ScatterFeatureRequirement

Indicates that the workflow platform must support the scatter and scatterMethod fields of [WorkflowStep](#WorkflowStep).

Parameters:
  • extension_fields (Optional[Dict[str, Any]])

  • loadingOptions (Optional[LoadingOptions])

class_ = 'ScatterFeatureRequirement'
__eq__(other)
Parameters:

other (Any)

Return type:

bool

__hash__()
Return type:

int

classmethod fromDoc(doc, baseuri, loadingOptions, docRoot=None)

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

Parameters:
Return type:

ScatterFeatureRequirement

save(top=False, base_url='', relative_uris=True