gxformat2.schema package#
Submodules#
gxformat2.schema.gxformat2 module#
- class gxformat2.schema.gxformat2.ArraySchema(*, items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], type: Literal['array'] = 'array', **extra_data: Any)[source]#
Bases:
BaseModel- items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['array']#
- class gxformat2.schema.gxformat2.BaseComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelBase fields shared by all comment types.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.BaseCreator(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.BaseDataParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, **extra_data: Any)[source]#
Bases:
BaseInputParameter- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2.BaseInputParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, **extra_data: Any)[source]#
Bases:
InputParameter,HasStepPosition- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.CreatorOrganization(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Organization'] = 'Organization', **extra_data: Any)[source]#
Bases:
BaseCreatorAn organization that created or contributed to the workflow. Corresponds to a schema.org Organization.
- class_: Literal['Organization']#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.CreatorPerson(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Person'] = 'Person', givenName: None | str = None, familyName: None | str = None, honorificPrefix: None | str = None, honorificSuffix: None | str = None, jobTitle: None | str = None, **extra_data: Any)[source]#
Bases:
BaseCreatorA person who created or contributed to the workflow. Corresponds to a schema.org Person.
- class_: Literal['Person']#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.Documented(*, doc: None | str | list[str] = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.EnumSchema(*, symbols: list[str], type: Literal['enum'] = 'enum', **extra_data: Any)[source]#
Bases:
BaseModelDefine an enumerated type.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['enum']#
- class gxformat2.schema.gxformat2.FrameComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['frame'] = 'frame', title: None | str = None, contains_steps: None | list[str | int] = None, contains_comments: None | list[str | int] = None, **extra_data: Any)[source]#
Bases:
BaseCommentA rectangular grouping box that visually contains steps and other comments.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['frame']#
- class gxformat2.schema.gxformat2.FreehandComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['freehand'] = 'freehand', thickness: None | float | int = None, line: list[list[float]] | None = None, **extra_data: Any)[source]#
Bases:
BaseCommentA freehand drawn line on the editor canvas.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['freehand']#
- class gxformat2.schema.gxformat2.GalaxyType(*values)[source]#
-
Extends primitive types with the native Galaxy concepts such as datasets and collections. Normalized gxformat2 workflow input declaration spellings are
data,collection,string,int,float, andboolean. Other spellings are accepted as compatibility aliases on import but normalized gxformat2 output emits the normalized spellings. data: one Galaxy dataset input. Native Galaxydata_inputconverts to this spelling. File: accepted alias fordata, but normalized gxformat2 output emitsdata. Note: workflow test job YAML usestype: Fileto mean ‘stage this file as test input data’, which is a separate concept from workflow input declaration. collection: one Galaxy dataset collection input. Native Galaxydata_collection_inputconverts to this spelling. string: normalized gxformat2 spelling for native Galaxy text workflow parameters. text: accepted alias forstringbecause native Galaxy parameter state and Galaxy tool XML terminology usetext. int: normalized gxformat2 spelling for native Galaxy integer workflow parameters. integer: accepted alias forintbecause native Galaxy parameter state and Galaxy tool XML terminology useinteger.- File = 'File'#
- boolean = 'boolean'#
- collection = 'collection'#
- data = 'data'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- integer = 'integer'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- text = 'text'#
- class gxformat2.schema.gxformat2.GalaxyWorkflow(*, uuid: None | str = None, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag(tag=WorkflowDataParameter)] | Annotated[WorkflowCollectionParameter, Tag(tag=WorkflowCollectionParameter)] | Annotated[WorkflowIntegerParameter, Tag(tag=WorkflowIntegerParameter)] | Annotated[WorkflowFloatParameter, Tag(tag=WorkflowFloatParameter)] | Annotated[WorkflowTextParameter, Tag(tag=WorkflowTextParameter)] | Annotated[WorkflowBooleanParameter, Tag(tag=WorkflowBooleanParameter)], Discriminator(discriminator=_discriminate_inputs, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any], outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any], class_: Literal['GalaxyWorkflow'] = 'GalaxyWorkflow', steps: list[WorkflowStep] | dict[str, WorkflowStep], report: None | Report = None, tags: list[str] | None = None, comments: list[TextComment | MarkdownComment | FrameComment | FreehandComment] | dict[str, TextComment | MarkdownComment | FrameComment | FreehandComment] | None = None, creator: list[CreatorPerson | CreatorOrganization] | None = None, license: None | str = None, release: None | str = None, **extra_data: Any)[source]#
-
A Galaxy workflow description. This record corresponds to the description of a workflow that should be executable on a Galaxy server that includes the contained tool definitions.
The workflows API or the user interface of Galaxy instances that are of version 19.09 or newer should be able to import a document defining this record.
## A note about label field.
This is the name of the workflow in the Galaxy user interface. This is the mechanism that users will primarily identify the workflow using. Legacy support - this may also be called ‘name’ and Galaxy will consume the workflow document fine and treat this attribute correctly - however in order to validate against this workflow definition schema the attribute should be called label.
- class_: Literal['GalaxyWorkflow']#
- comments: list[TextComment | MarkdownComment | FrameComment | FreehandComment] | dict[str, TextComment | MarkdownComment | FrameComment | FreehandComment] | None#
- creator: list[CreatorPerson | CreatorOrganization] | None#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- steps: list[WorkflowStep] | dict[str, WorkflowStep]#
- class gxformat2.schema.gxformat2.HasStepErrors(*, errors: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.HasStepPosition(*, position: None | StepPosition = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2.HasUUID(*, uuid: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.Identified(*, id: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.InputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, **extra_data: Any)[source]#
Bases:
Parameter- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.Labeled(*, label: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.MarkdownComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['markdown'] = 'markdown', text: None | str = None, **extra_data: Any)[source]#
Bases:
BaseCommentA Markdown-rendered annotation in the workflow editor.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['markdown']#
- class gxformat2.schema.gxformat2.MinMax(*, min: int | float | None = None, max: int | float | None = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.OutputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, **extra_data: Any)[source]#
Bases:
Parameter- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.Parameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, **extra_data: Any)[source]#
Bases:
Labeled,Documented,IdentifiedDefine an input or output parameter to a process.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.PrimitiveType(*values)[source]#
-
Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information.
null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number string: Unicode character sequence
- boolean = 'boolean'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- class gxformat2.schema.gxformat2.Process(*, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag(tag=WorkflowDataParameter)] | Annotated[WorkflowCollectionParameter, Tag(tag=WorkflowCollectionParameter)] | Annotated[WorkflowIntegerParameter, Tag(tag=WorkflowIntegerParameter)] | Annotated[WorkflowFloatParameter, Tag(tag=WorkflowFloatParameter)] | Annotated[WorkflowTextParameter, Tag(tag=WorkflowTextParameter)] | Annotated[WorkflowBooleanParameter, Tag(tag=WorkflowBooleanParameter)], Discriminator(discriminator=_discriminate_inputs, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any], outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any], **extra_data: Any)[source]#
Bases:
Identified,Labeled,DocumentedThe 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.
- inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag('WorkflowDataParameter')] | Annotated[WorkflowCollectionParameter, Tag('WorkflowCollectionParameter')] | Annotated[WorkflowIntegerParameter, Tag('WorkflowIntegerParameter')] | Annotated[WorkflowFloatParameter, Tag('WorkflowFloatParameter')] | Annotated[WorkflowTextParameter, Tag('WorkflowTextParameter')] | Annotated[WorkflowBooleanParameter, Tag('WorkflowBooleanParameter')], Discriminator(_discriminate_inputs)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any]#
- class gxformat2.schema.gxformat2.RecordField(*, doc: None | str | list[str] = None, name: str, type: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], **extra_data: Any)[source]#
Bases:
DocumentedA field of a record.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- class gxformat2.schema.gxformat2.RecordFieldDefinition(*, name: str, type: Literal['File', 'null', 'boolean', 'int', 'float', 'string'] | list[Literal['File', 'null', 'boolean', 'int', 'float', 'string']] = 'File', format: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes one field of a record collection input. Used in fields on a collection_type containing record (e.g. record, list:record, sample_sheet:record). Mirrors a subset of the CWL InputRecordSchema shape that Galaxy persists on DatasetCollection.fields.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.RecordSchema(*, fields: None | list[RecordField] = None, type: Literal['record'] = 'record', **extra_data: Any)[source]#
Bases:
BaseModel- fields: None | list[RecordField]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['record']#
- class gxformat2.schema.gxformat2.ReferencesTool(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tool_shed_repository: None | ToolShedRepository#
- class gxformat2.schema.gxformat2.Report(*, markdown: str, **extra_data: Any)[source]#
Bases:
BaseModelDefinition of an invocation report for this workflow. Currently the only field is ‘markdown’.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.SampleSheetColumnDefinition(*, name: str, description: None | str = None, type: Literal['string', 'int', 'float', 'boolean', 'element_identifier'] = 'string', optional: bool, default_value: None | str | int | float | bool = None, validators: None | list[Any] = None, restrictions: None | list[str | int | float | bool] = None, suggestions: None | list[str | int | float | bool] = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes one column of a sample-sheet collection input. Used in column_definitions on a collection_type: sample_sheet[:<type>] workflow input.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['string', 'int', 'float', 'boolean', 'element_identifier']#
- class gxformat2.schema.gxformat2.Sink(*, source: None | str | list[str] = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.StepPosition(*, top: float | int, left: float | int, **extra_data: Any)[source]#
Bases:
BaseModelThis field specifies the location of the step’s node when rendered in the workflow editor.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.TextComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['text'] = 'text', text: None | str = None, bold: None | bool = None, italic: None | bool = None, text_size: None | float | int = None, **extra_data: Any)[source]#
Bases:
BaseCommentA plain text annotation in the workflow editor.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['text']#
- class gxformat2.schema.gxformat2.ToolShedRepository(*, name: str, changeset_revision: str, owner: str, tool_shed: str, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.WorkflowBooleanParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['boolean'] = 'boolean', **extra_data: Any)[source]#
Bases:
BaseInputParameterA boolean input parameter for a Galaxy workflow.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['boolean']#
- class gxformat2.schema.gxformat2.WorkflowCollectionParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: Literal['collection'] = 'collection', collection_type: None | str = None, column_definitions: None | list[SampleSheetColumnDefinition] = None, fields: None | list[RecordFieldDefinition] = None, **extra_data: Any)[source]#
Bases:
BaseDataParameterA collection input parameter for a Galaxy workflow - represents a dataset collection.
- column_definitions: None | list[SampleSheetColumnDefinition]#
- fields: None | list[RecordFieldDefinition]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['collection']#
- class gxformat2.schema.gxformat2.WorkflowDataParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: Literal['data', 'File'] | None = None, **extra_data: Any)[source]#
Bases:
BaseDataParameterA data input parameter for a Galaxy workflow. Represents one Galaxy dataset. Normalized gxformat2 output uses
type: data.type: Fileis accepted as an alias, but should not be confused with workflow test job syntax wheretype: Filemeans stage a file as test input data.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2.WorkflowFloatParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['float'] = 'float', **extra_data: Any)[source]#
Bases:
BaseInputParameter,MinMaxA float input parameter for a Galaxy workflow.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['float']#
- class gxformat2.schema.gxformat2.WorkflowInputParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: GalaxyType | None | list[GalaxyType] = None, collection_type: None | str = None, column_definitions: None | list[SampleSheetColumnDefinition] = None, fields: None | list[RecordFieldDefinition] = None, restrictions: None | list[str | WorkflowTextOption] = None, suggestions: None | list[str | WorkflowTextOption] = None, restrictOnConnections: None | bool = None, **extra_data: Any)[source]#
Bases:
BaseDataParameter,MinMaxAn input parameter to a Galaxy workflow. This is the catch-all type used by the Schema Salad codegen. The pydantic layer uses a discriminated union of the specific parameter types instead.
- column_definitions: None | list[SampleSheetColumnDefinition]#
- fields: None | list[RecordFieldDefinition]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- restrictions: None | list[str | WorkflowTextOption]#
- suggestions: None | list[str | WorkflowTextOption]#
- type_: GalaxyType | None | list[GalaxyType]#
- class gxformat2.schema.gxformat2.WorkflowIntegerParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['integer', 'int'] = 'integer', **extra_data: Any)[source]#
Bases:
BaseInputParameter,MinMaxA scalar integer workflow parameter. Normalized gxformat2 output uses
type: int.type: integeris accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['integer', 'int']#
- class gxformat2.schema.gxformat2.WorkflowOutputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, outputSource: None | str = None, type: None | GalaxyType = None, **extra_data: Any)[source]#
Bases:
OutputParameterDescribe an output parameter of a workflow. The parameter must be connected to one parameter defined in the workflow that will provide the value of the output parameter. It is legal to connect a WorkflowInputParameter to a WorkflowOutputParameter.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: None | GalaxyType#
- class gxformat2.schema.gxformat2.WorkflowStep(*, uuid: None | str = None, errors: None | str = None, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, position: None | StepPosition = None, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, in_: list[WorkflowStepInput] | dict[str, WorkflowStepInput | str | list[str]] | None = None, out: list[WorkflowStepOutput | str] | dict[str, WorkflowStepOutput | str] | None = None, state: dict[str, Any] | None = None, tool_state: str | dict[str, Any] | None = None, post_job_actions: dict[str, Any] | None = None, type: None | WorkflowStepType = None, run: GalaxyWorkflow | str | dict[str, Any] | None = None, runtime_inputs: None | list[str] = None, when: None | str = None, **extra_data: Any)[source]#
Bases:
Identified,Labeled,Documented,HasStepPosition,ReferencesTool,HasStepErrors,HasUUIDThis represents a non-input step a Galaxy Workflow.
# A note about state and tool_state fields.
Only one or the other should be specified. These are two ways to represent the “state” of a tool at this workflow step. Both are essentially maps from parameter names to parameter values.
tool_state is much more low-level and expects a flat dictionary with each value a JSON dump. Nested tool structures such as conditionals and repeats should have all their values in the JSON dumped string. In general tool_state may be present in workflows exported from Galaxy but shouldn’t be written by humans.
state can contained a typed map. Repeat values can be represented as YAML arrays. An alternative to representing state this way is defining inputs with default values.
- in_: list[WorkflowStepInput] | dict[str, WorkflowStepInput | str | list[str]] | None#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- out: list[WorkflowStepOutput | str] | dict[str, WorkflowStepOutput | str] | None#
- type_: None | WorkflowStepType#
- class gxformat2.schema.gxformat2.WorkflowStepInput(*, label: None | str = None, source: None | str | list[str] = None, id: None | str = None, default: None | Any = None, **extra_data: Any)[source]#
Bases:
Identified,Sink,LabeledTODO:
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.WorkflowStepOutput(*, id: None | str = None, add_tags: None | list[str] = None, change_datatype: None | str = None, delete_intermediate_datasets: None | bool = None, hide: None | bool = None, remove_tags: None | list[str] = None, rename: None | str = None, set_columns: dict[str, Any] | None = None, **extra_data: Any)[source]#
Bases:
IdentifiedAssociate 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.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.WorkflowStepType(*values)[source]#
-
Module types used by Galaxy steps. Galaxy’s native format allows additional types such as data_input, data_input_collection, and parameter_type but these should be represented as
inputsin Format2.tool: Run a tool. subworkflow: Run a subworkflow. pause: Pause computation on this branch of workflow until user allows it to continue. pick_value: Select the first non-null value from multiple inputs. Used to merge branches of conditional or optional workflow paths.
- pause = 'pause'#
- pick_value = 'pick_value'#
- subworkflow = 'subworkflow'#
- tool = 'tool'#
- class gxformat2.schema.gxformat2.WorkflowTextOption(*, value: str, label: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelA {value, label} option used in restrictions or suggestions on a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for {value: <str>, label: <str>}.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2.WorkflowTextParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['text', 'string'] = 'text', restrictions: None | list[str | WorkflowTextOption] = None, suggestions: None | list[str | WorkflowTextOption] = None, restrictOnConnections: None | bool = None, **extra_data: Any)[source]#
Bases:
BaseInputParameterA scalar text workflow parameter. Normalized gxformat2 output uses
type: string.type: textis accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- restrictions: None | list[str | WorkflowTextOption]#
- suggestions: None | list[str | WorkflowTextOption]#
- type_: Literal['text', 'string']#
- gxformat2.schema.gxformat2.input_parameter_class(type_value: str | None) type[BaseInputParameter][source]#
Return the specific input parameter class for a Format2 type string.
Falls back to WorkflowDataParameter for unknown or None types.
- gxformat2.schema.gxformat2.load_document(path: str | Path) GalaxyWorkflow | list[GalaxyWorkflow][source]#
Load and validate a document from a JSON file.
gxformat2.schema.gxformat2_strict module#
- class gxformat2.schema.gxformat2_strict.ArraySchema(*, items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], type: Literal['array'] = 'array')[source]#
Bases:
BaseModel- items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['array']#
- class gxformat2.schema.gxformat2_strict.BaseComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None)[source]#
Bases:
BaseModelBase fields shared by all comment types.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.BaseCreator(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None)[source]#
Bases:
BaseModelBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.BaseDataParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None)[source]#
Bases:
BaseInputParameter- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2_strict.BaseInputParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None)[source]#
Bases:
InputParameter,HasStepPosition- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.CreatorOrganization(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Organization'] = 'Organization')[source]#
Bases:
BaseCreatorAn organization that created or contributed to the workflow. Corresponds to a schema.org Organization.
- class_: Literal['Organization']#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.CreatorPerson(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Person'] = 'Person', givenName: None | str = None, familyName: None | str = None, honorificPrefix: None | str = None, honorificSuffix: None | str = None, jobTitle: None | str = None)[source]#
Bases:
BaseCreatorA person who created or contributed to the workflow. Corresponds to a schema.org Person.
- class_: Literal['Person']#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.Documented(*, doc: None | str | list[str] = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.EnumSchema(*, symbols: list[str], type: Literal['enum'] = 'enum')[source]#
Bases:
BaseModelDefine an enumerated type.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['enum']#
- class gxformat2.schema.gxformat2_strict.FrameComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['frame'] = 'frame', title: None | str = None, contains_steps: None | list[str | int] = None, contains_comments: None | list[str | int] = None)[source]#
Bases:
BaseCommentA rectangular grouping box that visually contains steps and other comments.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['frame']#
- class gxformat2.schema.gxformat2_strict.FreehandComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['freehand'] = 'freehand', thickness: None | float | int = None, line: list[list[float]] | None = None)[source]#
Bases:
BaseCommentA freehand drawn line on the editor canvas.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['freehand']#
- class gxformat2.schema.gxformat2_strict.GalaxyType(*values)[source]#
-
Extends primitive types with the native Galaxy concepts such as datasets and collections. Normalized gxformat2 workflow input declaration spellings are
data,collection,string,int,float, andboolean. Other spellings are accepted as compatibility aliases on import but normalized gxformat2 output emits the normalized spellings. data: one Galaxy dataset input. Native Galaxydata_inputconverts to this spelling. File: accepted alias fordata, but normalized gxformat2 output emitsdata. Note: workflow test job YAML usestype: Fileto mean ‘stage this file as test input data’, which is a separate concept from workflow input declaration. collection: one Galaxy dataset collection input. Native Galaxydata_collection_inputconverts to this spelling. string: normalized gxformat2 spelling for native Galaxy text workflow parameters. text: accepted alias forstringbecause native Galaxy parameter state and Galaxy tool XML terminology usetext. int: normalized gxformat2 spelling for native Galaxy integer workflow parameters. integer: accepted alias forintbecause native Galaxy parameter state and Galaxy tool XML terminology useinteger.- File = 'File'#
- boolean = 'boolean'#
- collection = 'collection'#
- data = 'data'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- integer = 'integer'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- text = 'text'#
- class gxformat2.schema.gxformat2_strict.GalaxyWorkflow(*, uuid: None | str = None, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag(tag=WorkflowDataParameter)] | Annotated[WorkflowCollectionParameter, Tag(tag=WorkflowCollectionParameter)] | Annotated[WorkflowIntegerParameter, Tag(tag=WorkflowIntegerParameter)] | Annotated[WorkflowFloatParameter, Tag(tag=WorkflowFloatParameter)] | Annotated[WorkflowTextParameter, Tag(tag=WorkflowTextParameter)] | Annotated[WorkflowBooleanParameter, Tag(tag=WorkflowBooleanParameter)], Discriminator(discriminator=_discriminate_inputs, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any], outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any], class_: Literal['GalaxyWorkflow'] = 'GalaxyWorkflow', steps: list[WorkflowStep] | dict[str, WorkflowStep], report: None | Report = None, tags: list[str] | None = None, comments: list[TextComment | MarkdownComment | FrameComment | FreehandComment] | dict[str, TextComment | MarkdownComment | FrameComment | FreehandComment] | None = None, creator: list[CreatorPerson | CreatorOrganization] | None = None, license: None | str = None, release: None | str = None)[source]#
-
A Galaxy workflow description. This record corresponds to the description of a workflow that should be executable on a Galaxy server that includes the contained tool definitions.
The workflows API or the user interface of Galaxy instances that are of version 19.09 or newer should be able to import a document defining this record.
## A note about label field.
This is the name of the workflow in the Galaxy user interface. This is the mechanism that users will primarily identify the workflow using. Legacy support - this may also be called ‘name’ and Galaxy will consume the workflow document fine and treat this attribute correctly - however in order to validate against this workflow definition schema the attribute should be called label.
- class_: Literal['GalaxyWorkflow']#
- comments: list[TextComment | MarkdownComment | FrameComment | FreehandComment] | dict[str, TextComment | MarkdownComment | FrameComment | FreehandComment] | None#
- creator: list[CreatorPerson | CreatorOrganization] | None#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- steps: list[WorkflowStep] | dict[str, WorkflowStep]#
- class gxformat2.schema.gxformat2_strict.HasStepErrors(*, errors: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.HasStepPosition(*, position: None | StepPosition = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2_strict.HasUUID(*, uuid: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.Identified(*, id: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.InputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None)[source]#
Bases:
Parameter- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.Labeled(*, label: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.MarkdownComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['markdown'] = 'markdown', text: None | str = None)[source]#
Bases:
BaseCommentA Markdown-rendered annotation in the workflow editor.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['markdown']#
- class gxformat2.schema.gxformat2_strict.MinMax(*, min: int | float | None = None, max: int | float | None = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.OutputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None)[source]#
Bases:
Parameter- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.Parameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None)[source]#
Bases:
Labeled,Documented,IdentifiedDefine an input or output parameter to a process.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.PrimitiveType(*values)[source]#
-
Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information.
null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number string: Unicode character sequence
- boolean = 'boolean'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- class gxformat2.schema.gxformat2_strict.Process(*, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag(tag=WorkflowDataParameter)] | Annotated[WorkflowCollectionParameter, Tag(tag=WorkflowCollectionParameter)] | Annotated[WorkflowIntegerParameter, Tag(tag=WorkflowIntegerParameter)] | Annotated[WorkflowFloatParameter, Tag(tag=WorkflowFloatParameter)] | Annotated[WorkflowTextParameter, Tag(tag=WorkflowTextParameter)] | Annotated[WorkflowBooleanParameter, Tag(tag=WorkflowBooleanParameter)], Discriminator(discriminator=_discriminate_inputs, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any], outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any])[source]#
Bases:
Identified,Labeled,DocumentedThe 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.
- inputs: list[Annotated[Annotated[WorkflowDataParameter, Tag('WorkflowDataParameter')] | Annotated[WorkflowCollectionParameter, Tag('WorkflowCollectionParameter')] | Annotated[WorkflowIntegerParameter, Tag('WorkflowIntegerParameter')] | Annotated[WorkflowFloatParameter, Tag('WorkflowFloatParameter')] | Annotated[WorkflowTextParameter, Tag('WorkflowTextParameter')] | Annotated[WorkflowBooleanParameter, Tag('WorkflowBooleanParameter')], Discriminator(_discriminate_inputs)]] | dict[str, WorkflowDataParameter | WorkflowCollectionParameter | WorkflowIntegerParameter | WorkflowFloatParameter | WorkflowTextParameter | WorkflowBooleanParameter | str] | dict[str, Any]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- outputs: list[WorkflowOutputParameter] | dict[str, WorkflowOutputParameter | str] | dict[str, Any]#
- class gxformat2.schema.gxformat2_strict.RecordField(*, doc: None | str | list[str] = None, name: str, type: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str])[source]#
Bases:
DocumentedA field of a record.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- class gxformat2.schema.gxformat2_strict.RecordFieldDefinition(*, name: str, type: Literal['File', 'null', 'boolean', 'int', 'float', 'string'] | list[Literal['File', 'null', 'boolean', 'int', 'float', 'string']] = 'File', format: None | str = None)[source]#
Bases:
BaseModelDescribes one field of a record collection input. Used in fields on a collection_type containing record (e.g. record, list:record, sample_sheet:record). Mirrors a subset of the CWL InputRecordSchema shape that Galaxy persists on DatasetCollection.fields.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.RecordSchema(*, fields: None | list[RecordField] = None, type: Literal['record'] = 'record')[source]#
Bases:
BaseModel- fields: None | list[RecordField]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['record']#
- class gxformat2.schema.gxformat2_strict.ReferencesTool(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tool_shed_repository: None | ToolShedRepository#
- class gxformat2.schema.gxformat2_strict.Report(*, markdown: str)[source]#
Bases:
BaseModelDefinition of an invocation report for this workflow. Currently the only field is ‘markdown’.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.SampleSheetColumnDefinition(*, name: str, description: None | str = None, type: Literal['string', 'int', 'float', 'boolean', 'element_identifier'] = 'string', optional: bool, default_value: None | str | int | float | bool = None, validators: None | list[Any] = None, restrictions: None | list[str | int | float | bool] = None, suggestions: None | list[str | int | float | bool] = None)[source]#
Bases:
BaseModelDescribes one column of a sample-sheet collection input. Used in column_definitions on a collection_type: sample_sheet[:<type>] workflow input.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['string', 'int', 'float', 'boolean', 'element_identifier']#
- class gxformat2.schema.gxformat2_strict.Sink(*, source: None | str | list[str] = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.StepPosition(*, top: float | int, left: float | int)[source]#
Bases:
BaseModelThis field specifies the location of the step’s node when rendered in the workflow editor.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.TextComment(*, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, label: None | str = None, type: Literal['text'] = 'text', text: None | str = None, bold: None | bool = None, italic: None | bool = None, text_size: None | float | int = None)[source]#
Bases:
BaseCommentA plain text annotation in the workflow editor.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['text']#
- class gxformat2.schema.gxformat2_strict.ToolShedRepository(*, name: str, changeset_revision: str, owner: str, tool_shed: str)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.WorkflowBooleanParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['boolean'] = 'boolean')[source]#
Bases:
BaseInputParameterA boolean input parameter for a Galaxy workflow.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['boolean']#
- class gxformat2.schema.gxformat2_strict.WorkflowCollectionParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: Literal['collection'] = 'collection', collection_type: None | str = None, column_definitions: None | list[SampleSheetColumnDefinition] = None, fields: None | list[RecordFieldDefinition] = None)[source]#
Bases:
BaseDataParameterA collection input parameter for a Galaxy workflow - represents a dataset collection.
- column_definitions: None | list[SampleSheetColumnDefinition]#
- fields: None | list[RecordFieldDefinition]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['collection']#
- class gxformat2.schema.gxformat2_strict.WorkflowDataParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: Literal['data', 'File'] | None = None)[source]#
Bases:
BaseDataParameterA data input parameter for a Galaxy workflow. Represents one Galaxy dataset. Normalized gxformat2 output uses
type: data.type: Fileis accepted as an alias, but should not be confused with workflow test job syntax wheretype: Filemeans stage a file as test input data.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.gxformat2_strict.WorkflowFloatParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['float'] = 'float')[source]#
Bases:
BaseInputParameter,MinMaxA float input parameter for a Galaxy workflow.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['float']#
- class gxformat2.schema.gxformat2_strict.WorkflowInputParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, format: None | list[str] = None, type: GalaxyType | None | list[GalaxyType] = None, collection_type: None | str = None, column_definitions: None | list[SampleSheetColumnDefinition] = None, fields: None | list[RecordFieldDefinition] = None, restrictions: None | list[str | WorkflowTextOption] = None, suggestions: None | list[str | WorkflowTextOption] = None, restrictOnConnections: None | bool = None)[source]#
Bases:
BaseDataParameter,MinMaxAn input parameter to a Galaxy workflow. This is the catch-all type used by the Schema Salad codegen. The pydantic layer uses a discriminated union of the specific parameter types instead.
- column_definitions: None | list[SampleSheetColumnDefinition]#
- fields: None | list[RecordFieldDefinition]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- restrictions: None | list[str | WorkflowTextOption]#
- suggestions: None | list[str | WorkflowTextOption]#
- type_: GalaxyType | None | list[GalaxyType]#
- class gxformat2.schema.gxformat2_strict.WorkflowIntegerParameter(*, min: int | float | None = None, max: int | float | None = None, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['integer', 'int'] = 'integer')[source]#
Bases:
BaseInputParameter,MinMaxA scalar integer workflow parameter. Normalized gxformat2 output uses
type: int.type: integeris accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- type_: Literal['integer', 'int']#
- class gxformat2.schema.gxformat2_strict.WorkflowOutputParameter(*, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, outputSource: None | str = None, type: None | GalaxyType = None)[source]#
Bases:
OutputParameterDescribe an output parameter of a workflow. The parameter must be connected to one parameter defined in the workflow that will provide the value of the output parameter. It is legal to connect a WorkflowInputParameter to a WorkflowOutputParameter.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: None | GalaxyType#
- class gxformat2.schema.gxformat2_strict.WorkflowStep(*, uuid: None | str = None, errors: None | str = None, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, position: None | StepPosition = None, doc: None | str | list[str] = None, label: None | str = None, id: None | str = None, in_: list[WorkflowStepInput] | dict[str, WorkflowStepInput | str | list[str]] | None = None, out: list[WorkflowStepOutput | str] | dict[str, WorkflowStepOutput | str] | None = None, state: dict[str, Any] | None = None, tool_state: str | dict[str, Any] | None = None, post_job_actions: dict[str, Any] | None = None, type: None | WorkflowStepType = None, run: GalaxyWorkflow | str | dict[str, Any] | None = None, runtime_inputs: None | list[str] = None, when: None | str = None)[source]#
Bases:
Identified,Labeled,Documented,HasStepPosition,ReferencesTool,HasStepErrors,HasUUIDThis represents a non-input step a Galaxy Workflow.
# A note about state and tool_state fields.
Only one or the other should be specified. These are two ways to represent the “state” of a tool at this workflow step. Both are essentially maps from parameter names to parameter values.
tool_state is much more low-level and expects a flat dictionary with each value a JSON dump. Nested tool structures such as conditionals and repeats should have all their values in the JSON dumped string. In general tool_state may be present in workflows exported from Galaxy but shouldn’t be written by humans.
state can contained a typed map. Repeat values can be represented as YAML arrays. An alternative to representing state this way is defining inputs with default values.
- in_: list[WorkflowStepInput] | dict[str, WorkflowStepInput | str | list[str]] | None#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- out: list[WorkflowStepOutput | str] | dict[str, WorkflowStepOutput | str] | None#
- type_: None | WorkflowStepType#
- class gxformat2.schema.gxformat2_strict.WorkflowStepInput(*, label: None | str = None, source: None | str | list[str] = None, id: None | str = None, default: None | Any = None)[source]#
Bases:
Identified,Sink,LabeledTODO:
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.WorkflowStepOutput(*, id: None | str = None, add_tags: None | list[str] = None, change_datatype: None | str = None, delete_intermediate_datasets: None | bool = None, hide: None | bool = None, remove_tags: None | list[str] = None, rename: None | str = None, set_columns: dict[str, Any] | None = None)[source]#
Bases:
IdentifiedAssociate 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.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.WorkflowStepType(*values)[source]#
-
Module types used by Galaxy steps. Galaxy’s native format allows additional types such as data_input, data_input_collection, and parameter_type but these should be represented as
inputsin Format2.tool: Run a tool. subworkflow: Run a subworkflow. pause: Pause computation on this branch of workflow until user allows it to continue. pick_value: Select the first non-null value from multiple inputs. Used to merge branches of conditional or optional workflow paths.
- pause = 'pause'#
- pick_value = 'pick_value'#
- subworkflow = 'subworkflow'#
- tool = 'tool'#
- class gxformat2.schema.gxformat2_strict.WorkflowTextOption(*, value: str, label: None | str = None)[source]#
Bases:
BaseModelA {value, label} option used in restrictions or suggestions on a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for {value: <str>, label: <str>}.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.gxformat2_strict.WorkflowTextParameter(*, position: None | StepPosition = None, id: None | str = None, doc: None | str | list[str] = None, label: None | str = None, default: None | Any = None, optional: bool | None = None, type: Literal['text', 'string'] = 'text', restrictions: None | list[str | WorkflowTextOption] = None, suggestions: None | list[str | WorkflowTextOption] = None, restrictOnConnections: None | bool = None)[source]#
Bases:
BaseInputParameterA scalar text workflow parameter. Normalized gxformat2 output uses
type: string.type: textis accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- restrictions: None | list[str | WorkflowTextOption]#
- suggestions: None | list[str | WorkflowTextOption]#
- type_: Literal['text', 'string']#
- gxformat2.schema.gxformat2_strict.input_parameter_class(type_value: str | None) type[BaseInputParameter][source]#
Return the specific input parameter class for a Format2 type string.
Falls back to WorkflowDataParameter for unknown or None types.
- gxformat2.schema.gxformat2_strict.load_document(path: str | Path) GalaxyWorkflow | list[GalaxyWorkflow][source]#
Load and validate a document from a JSON file.
gxformat2.schema.json_schema module#
JSON Schema export for gxformat2 workflow models.
Provides export functions that generate standard Draft 2020-12 JSON Schema from gxformat2’s Pydantic models. Exported schemas are intended for consumption by external validators (Python jsonschema, TypeScript ajv, VSCode YAML extension).
- class gxformat2.schema.json_schema.GxFormat2GenerateJsonSchema(by_alias: bool = True, ref_template: str = '#/$defs/{model}', union_format: Literal['any_of', 'primitive_type_array'] = 'any_of')[source]#
Bases:
GenerateJsonSchemaCustom JSON Schema generator that injects $schema dialect.
- gxformat2.schema.json_schema.native_workflow_json_schema(*, strict: bool = False, mode: Literal['validation', 'serialization'] = 'validation') dict[str, Any][source]#
Export NativeGalaxyWorkflow JSON Schema.
- Args:
strict: If True, use strict model (extra=”forbid” — rejects unknown keys). mode: Pydantic schema mode (“validation” or “serialization”).
- gxformat2.schema.json_schema.native_workflow_json_schema_string(*, strict: bool = False, mode: Literal['validation', 'serialization'] = 'validation') str[source]#
Export NativeGalaxyWorkflow JSON Schema as formatted string.
- gxformat2.schema.json_schema.workflow_json_schema(*, strict: bool = False, mode: Literal['validation', 'serialization'] = 'validation') dict[str, Any][source]#
Export GalaxyWorkflow JSON Schema.
- Args:
strict: If True, use strict model (extra=”forbid” — rejects unknown keys). mode: Pydantic schema mode (“validation” or “serialization”).
gxformat2.schema.native module#
- class gxformat2.schema.native.ArraySchema(*, items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], type: Literal['array'] = 'array', **extra_data: Any)[source]#
Bases:
BaseModel- items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['array']#
- class gxformat2.schema.native.BaseNativeComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelBase fields shared by all comment types.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.BaseNativeCreator(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.Documented(*, doc: None | str | list[str] = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.EnumSchema(*, symbols: list[str], type: Literal['enum'] = 'enum', **extra_data: Any)[source]#
Bases:
BaseModelDefine an enumerated type.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['enum']#
- class gxformat2.schema.native.HasStepErrors(*, errors: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.HasStepPosition(*, position: None | StepPosition = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.native.HasUUID(*, uuid: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeCreatorOrganization(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Organization'] = 'Organization', **extra_data: Any)[source]#
Bases:
BaseNativeCreatorAn organization that created or contributed to the workflow. Corresponds to a schema.org Organization.
- class_: Literal['Organization']#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeCreatorPerson(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Person'] = 'Person', givenName: None | str = None, familyName: None | str = None, honorificPrefix: None | str = None, honorificSuffix: None | str = None, jobTitle: None | str = None, **extra_data: Any)[source]#
Bases:
BaseNativeCreatorA person who created or contributed to the workflow. Corresponds to a schema.org Person.
- class_: Literal['Person']#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeFrameComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['frame'] = 'frame', data: None | NativeFrameCommentData = None, child_steps: None | list[int] = None, child_comments: None | list[int] = None, **extra_data: Any)[source]#
Bases:
BaseNativeCommentA rectangular grouping box that visually contains steps and other comments.
- data: None | NativeFrameCommentData#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['frame']#
- class gxformat2.schema.native.NativeFrameCommentData(*, title: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelData payload for a frame comment.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeFreehandComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['freehand'] = 'freehand', data: None | NativeFreehandCommentData = None, **extra_data: Any)[source]#
Bases:
BaseNativeCommentA freehand drawn line on the editor canvas.
- data: None | NativeFreehandCommentData#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['freehand']#
- class gxformat2.schema.native.NativeFreehandCommentData(*, line: list[list[float]] | None = None, thickness: None | float | int = None, **extra_data: Any)[source]#
Bases:
BaseModelData payload for a freehand comment.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeGalaxyWorkflow(*, uuid: None | str = None, name: None | str = None, class_: Literal['NativeGalaxyWorkflow'] = 'NativeGalaxyWorkflow', a_galaxy_workflow: Literal['true'], format_version: Literal['0.1'], annotation: None | str = None, tags: None | list[str] = None, version: None | int = None, license: None | str = None, release: None | str = None, creator: list[Annotated[Annotated[NativeCreatorPerson, Tag(tag=NativeCreatorPerson)] | Annotated[NativeCreatorOrganization, Tag(tag=NativeCreatorOrganization)], Discriminator(discriminator=_discriminate_creator, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | None = None, report: None | NativeReport = None, readme: None | str = None, help: None | str = None, logo_url: None | str = None, doi: None | list[str] = None, source_metadata: None | NativeSourceMetadata = None, comments: list[Annotated[Annotated[NativeTextComment, Tag(tag=NativeTextComment)] | Annotated[NativeMarkdownComment, Tag(tag=NativeMarkdownComment)] | Annotated[NativeFrameComment, Tag(tag=NativeFrameComment)] | Annotated[NativeFreehandComment, Tag(tag=NativeFreehandComment)], Discriminator(discriminator=_discriminate_comments, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | None = None, steps: dict[str, NativeStep] | None = None, subworkflows: dict[str, NativeGalaxyWorkflow] | None = None, **extra_data: Any)[source]#
Bases:
HasUUIDA Galaxy native workflow document (.ga format). This is the canonical serialization format used internally by Galaxy.
The native format mirrors the database schema directly – steps are keyed by numeric IDs, connections reference step IDs, and tool state is stored as double-encoded JSON strings.
The format version has been
"0.1"since inception. New features are added without version bumps.- a_galaxy_workflow: Literal['true']#
- class_: Literal['NativeGalaxyWorkflow']#
- comments: list[Annotated[Annotated[NativeTextComment, Tag('NativeTextComment')] | Annotated[NativeMarkdownComment, Tag('NativeMarkdownComment')] | Annotated[NativeFrameComment, Tag('NativeFrameComment')] | Annotated[NativeFreehandComment, Tag('NativeFreehandComment')], Discriminator(_discriminate_comments)]] | None#
- creator: list[Annotated[Annotated[NativeCreatorPerson, Tag('NativeCreatorPerson')] | Annotated[NativeCreatorOrganization, Tag('NativeCreatorOrganization')], Discriminator(_discriminate_creator)]] | None#
- format_version: Literal['0.1']#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- report: None | NativeReport#
- source_metadata: None | NativeSourceMetadata#
- steps: dict[str, NativeStep] | None#
- subworkflows: dict[str, NativeGalaxyWorkflow] | None#
- class gxformat2.schema.native.NativeInputConnection(*, id: int, output_name: str, input_subworkflow_step_id: None | int = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes a connection from one step’s output to another step’s input. These objects appear as values in the
input_connectionsdictionary.For multi-valued inputs, the value is an array of these objects rather than a single object.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeMarkdownComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['markdown'] = 'markdown', data: None | NativeMarkdownCommentData = None, **extra_data: Any)[source]#
Bases:
BaseNativeCommentA Markdown-rendered annotation in the workflow editor.
- data: None | NativeMarkdownCommentData#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['markdown']#
- class gxformat2.schema.native.NativeMarkdownCommentData(*, text: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelData payload for a markdown comment.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativePostJobAction(*, action_type: str, output_name: str | None = None, action_arguments: dict[str, Any] | None = None, **extra_data: Any)[source]#
Bases:
BaseModelAn action applied to a step’s output after tool execution. These objects appear as values in the
post_job_actionsdictionary, keyed by compound strings of the form{ActionType}{OutputName}(e.g.HideDatasetActionout_pairs).Common action types:
HideDatasetAction,RenameDatasetAction,DeleteIntermediatesAction,ChangeDatatypeAction,TagDatasetAction,ColumnSetAction.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeReport(*, markdown: str, **extra_data: Any)[source]#
Bases:
BaseModelWorkflow invocation report template.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeSourceMetadata(*, url: None | str = None, trs_tool_id: None | str = None, trs_version_id: None | str = None, trs_server: None | str = None, trs_url: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelProvenance tracking for workflows imported from external sources. Contains either a direct URL or TRS (Tool Registry Service) metadata, depending on how the workflow was imported.
For URL imports, only
urlis set. For TRS imports (Dockstore, WorkflowHub),trs_tool_id,trs_version_id, andtrs_urlare set, withtrs_serveroptionally identifying the server.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeStep(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, uuid: None | str = None, position: None | StepPosition = None, errors: None | str = None, name: None | str = None, id: None | int = None, type: None | NativeStepType = None, label: None | str = None, annotation: None | str = None, when: None | str = None, content_id: None | str = None, tool_state: str | dict[str, Any] | None = None, tool_uuid: None | str = None, input_connections: dict[str, NativeInputConnection | list[NativeInputConnection]] | None = None, inputs: None | list[NativeStepInput] = None, outputs: None | list[NativeStepOutput] = None, workflow_outputs: None | list[NativeWorkflowOutput] = None, post_job_actions: dict[str, NativePostJobAction] | None = None, subworkflow: NativeGalaxyWorkflow | None = None, tool_representation: dict[str, Any] | None = None, in_: dict[str, Any] | None = None, **extra_data: Any)[source]#
Bases:
HasStepErrors,HasStepPosition,HasUUID,ReferencesToolA step in a native Galaxy workflow. Steps are keyed by string integers (
"0","1", …) in thestepsdictionary. The key serves as an external ID for connection wiring.The
typefield determines the step’s behavior. All step types share common fields; type-specific fields are optional and only relevant for their respective type.# Tool State
The
tool_statefield contains the tool’s parameter configuration. Traditionally this is a JSON-encoded string (double-encoded: each top-level value is itself a JSON string), but it may also be a plain dictionary when unencoded tool state is used. Connected parameters are represented as{"__class__": "ConnectedValue"}, runtime parameters as{"__class__": "RuntimeValue"}.- input_connections: dict[str, NativeInputConnection | list[NativeInputConnection]] | None#
- inputs: None | list[NativeStepInput]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- outputs: None | list[NativeStepOutput]#
- post_job_actions: dict[str, NativePostJobAction] | None#
- subworkflow: NativeGalaxyWorkflow | None#
- type_: None | NativeStepType#
- workflow_outputs: None | list[NativeWorkflowOutput]#
- class gxformat2.schema.native.NativeStepInput(*, name: str, description: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes an input parameter on a step. This is metadata about the input, not the connection wiring (which is in
input_connections).- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeStepOutput(*, name: str, type: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelDeclares an output produced by a step, with its name and datatype.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeStepType(*values)[source]#
-
Step module types in the native Galaxy workflow format. data_input: A single dataset input to the workflow. data_collection_input: A dataset collection input to the workflow. parameter_input: A typed parameter input (text, integer, float, boolean, color). tool: A Galaxy tool execution step. subworkflow: An embedded or referenced sub-workflow. pause: A manual pause point that halts execution until user intervention. pick_value: Select the first non-null value from multiple inputs.
- data_collection_input = 'data_collection_input'#
- data_input = 'data_input'#
- parameter_input = 'parameter_input'#
- pause = 'pause'#
- pick_value = 'pick_value'#
- subworkflow = 'subworkflow'#
- tool = 'tool'#
- class gxformat2.schema.native.NativeTextComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['text'] = 'text', data: None | NativeTextCommentData = None, **extra_data: Any)[source]#
Bases:
BaseNativeCommentA plain text annotation in the workflow editor.
- data: None | NativeTextCommentData#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['text']#
- class gxformat2.schema.native.NativeTextCommentData(*, text: None | str = None, bold: None | bool = None, italic: None | bool = None, size: None | float | int = None, **extra_data: Any)[source]#
Bases:
BaseModelData payload for a text comment.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.NativeWorkflowOutput(*, label: None | str = None, output_name: str, uuid: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelDesignates a step output as a workflow-level output. These appear in the
workflow_outputsarray on each step.- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.PrimitiveType(*values)[source]#
-
Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information.
null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number string: Unicode character sequence
- boolean = 'boolean'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- class gxformat2.schema.native.RecordField(*, doc: None | str | list[str] = None, name: str, type: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], **extra_data: Any)[source]#
Bases:
DocumentedA field of a record.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- class gxformat2.schema.native.RecordFieldDefinition(*, name: str, type: Literal['File', 'null', 'boolean', 'int', 'float', 'string'] | list[Literal['File', 'null', 'boolean', 'int', 'float', 'string']] = 'File', format: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes one field of a record collection input. Used in fields on a collection_type containing record (e.g. record, list:record, sample_sheet:record). Mirrors a subset of the CWL InputRecordSchema shape that Galaxy persists on DatasetCollection.fields.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.RecordSchema(*, fields: None | list[RecordField] = None, type: Literal['record'] = 'record', **extra_data: Any)[source]#
Bases:
BaseModel- fields: None | list[RecordField]#
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['record']#
- class gxformat2.schema.native.ReferencesTool(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tool_shed_repository: None | ToolShedRepository#
- class gxformat2.schema.native.SampleSheetColumnDefinition(*, name: str, description: None | str = None, type: Literal['string', 'int', 'float', 'boolean', 'element_identifier'] = 'string', optional: bool, default_value: None | str | int | float | bool = None, validators: None | list[Any] = None, restrictions: None | list[str | int | float | bool] = None, suggestions: None | list[str | int | float | bool] = None, **extra_data: Any)[source]#
Bases:
BaseModelDescribes one column of a sample-sheet collection input. Used in column_definitions on a collection_type: sample_sheet[:<type>] workflow input.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['string', 'int', 'float', 'boolean', 'element_identifier']#
- class gxformat2.schema.native.StepPosition(*, top: float | int, left: float | int, **extra_data: Any)[source]#
Bases:
BaseModelThis field specifies the location of the step’s node when rendered in the workflow editor.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.ToolShedRepository(*, name: str, changeset_revision: str, owner: str, tool_shed: str, **extra_data: Any)[source]#
Bases:
BaseModel- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native.WorkflowTextOption(*, value: str, label: None | str = None, **extra_data: Any)[source]#
Bases:
BaseModelA {value, label} option used in restrictions or suggestions on a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for {value: <str>, label: <str>}.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- gxformat2.schema.native.load_document(path: str | Path) NativeGalaxyWorkflow | list[NativeGalaxyWorkflow][source]#
Load and validate a document from a JSON file.
gxformat2.schema.native_strict module#
- class gxformat2.schema.native_strict.ArraySchema(*, items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str], type: Literal['array'] = 'array')[source]#
Bases:
BaseModel- items: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['array']#
- class gxformat2.schema.native_strict.BaseNativeComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None)[source]#
Bases:
BaseModelBase fields shared by all comment types.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.BaseNativeCreator(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None)[source]#
Bases:
BaseModelBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.Documented(*, doc: None | str | list[str] = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.EnumSchema(*, symbols: list[str], type: Literal['enum'] = 'enum')[source]#
Bases:
BaseModelDefine an enumerated type.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['enum']#
- class gxformat2.schema.native_strict.HasStepErrors(*, errors: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.HasStepPosition(*, position: None | StepPosition = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- position: None | StepPosition#
- class gxformat2.schema.native_strict.HasUUID(*, uuid: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeCreatorOrganization(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Organization'] = 'Organization')[source]#
Bases:
BaseNativeCreatorAn organization that created or contributed to the workflow. Corresponds to a schema.org Organization.
- class_: Literal['Organization']#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeCreatorPerson(*, name: None | str = None, identifier: None | str = None, url: None | str = None, email: None | str = None, image: None | str = None, address: None | str = None, alternateName: None | str = None, telephone: None | str = None, faxNumber: None | str = None, class_: Literal['Person'] = 'Person', givenName: None | str = None, familyName: None | str = None, honorificPrefix: None | str = None, honorificSuffix: None | str = None, jobTitle: None | str = None)[source]#
Bases:
BaseNativeCreatorA person who created or contributed to the workflow. Corresponds to a schema.org Person.
- class_: Literal['Person']#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeFrameComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['frame'] = 'frame', data: None | NativeFrameCommentData = None, child_steps: None | list[int] = None, child_comments: None | list[int] = None)[source]#
Bases:
BaseNativeCommentA rectangular grouping box that visually contains steps and other comments.
- data: None | NativeFrameCommentData#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['frame']#
- class gxformat2.schema.native_strict.NativeFrameCommentData(*, title: None | str = None)[source]#
Bases:
BaseModelData payload for a frame comment.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeFreehandComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['freehand'] = 'freehand', data: None | NativeFreehandCommentData = None)[source]#
Bases:
BaseNativeCommentA freehand drawn line on the editor canvas.
- data: None | NativeFreehandCommentData#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['freehand']#
- class gxformat2.schema.native_strict.NativeFreehandCommentData(*, line: list[list[float]] | None = None, thickness: None | float | int = None)[source]#
Bases:
BaseModelData payload for a freehand comment.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeGalaxyWorkflow(*, uuid: None | str = None, name: None | str = None, class_: Literal['NativeGalaxyWorkflow'] = 'NativeGalaxyWorkflow', a_galaxy_workflow: Literal['true'], format_version: Literal['0.1'], annotation: None | str = None, tags: None | list[str] = None, version: None | int = None, license: None | str = None, release: None | str = None, creator: list[Annotated[Annotated[NativeCreatorPerson, Tag(tag=NativeCreatorPerson)] | Annotated[NativeCreatorOrganization, Tag(tag=NativeCreatorOrganization)], Discriminator(discriminator=_discriminate_creator, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | None = None, report: None | NativeReport = None, readme: None | str = None, help: None | str = None, logo_url: None | str = None, doi: None | list[str] = None, source_metadata: None | NativeSourceMetadata = None, comments: list[Annotated[Annotated[NativeTextComment, Tag(tag=NativeTextComment)] | Annotated[NativeMarkdownComment, Tag(tag=NativeMarkdownComment)] | Annotated[NativeFrameComment, Tag(tag=NativeFrameComment)] | Annotated[NativeFreehandComment, Tag(tag=NativeFreehandComment)], Discriminator(discriminator=_discriminate_comments, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] | None = None, steps: dict[str, NativeStep] | None = None, subworkflows: dict[str, NativeGalaxyWorkflow] | None = None)[source]#
Bases:
HasUUIDA Galaxy native workflow document (.ga format). This is the canonical serialization format used internally by Galaxy.
The native format mirrors the database schema directly – steps are keyed by numeric IDs, connections reference step IDs, and tool state is stored as double-encoded JSON strings.
The format version has been
"0.1"since inception. New features are added without version bumps.- a_galaxy_workflow: Literal['true']#
- class_: Literal['NativeGalaxyWorkflow']#
- comments: list[Annotated[Annotated[NativeTextComment, Tag('NativeTextComment')] | Annotated[NativeMarkdownComment, Tag('NativeMarkdownComment')] | Annotated[NativeFrameComment, Tag('NativeFrameComment')] | Annotated[NativeFreehandComment, Tag('NativeFreehandComment')], Discriminator(_discriminate_comments)]] | None#
- creator: list[Annotated[Annotated[NativeCreatorPerson, Tag('NativeCreatorPerson')] | Annotated[NativeCreatorOrganization, Tag('NativeCreatorOrganization')], Discriminator(_discriminate_creator)]] | None#
- format_version: Literal['0.1']#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- report: None | NativeReport#
- source_metadata: None | NativeSourceMetadata#
- steps: dict[str, NativeStep] | None#
- subworkflows: dict[str, NativeGalaxyWorkflow] | None#
- class gxformat2.schema.native_strict.NativeInputConnection(*, id: int, output_name: str, input_subworkflow_step_id: None | int = None)[source]#
Bases:
BaseModelDescribes a connection from one step’s output to another step’s input. These objects appear as values in the
input_connectionsdictionary.For multi-valued inputs, the value is an array of these objects rather than a single object.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeMarkdownComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['markdown'] = 'markdown', data: None | NativeMarkdownCommentData = None)[source]#
Bases:
BaseNativeCommentA Markdown-rendered annotation in the workflow editor.
- data: None | NativeMarkdownCommentData#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['markdown']#
- class gxformat2.schema.native_strict.NativeMarkdownCommentData(*, text: None | str = None)[source]#
Bases:
BaseModelData payload for a markdown comment.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativePostJobAction(*, action_type: str, output_name: str | None = None, action_arguments: dict[str, Any] | None = None)[source]#
Bases:
BaseModelAn action applied to a step’s output after tool execution. These objects appear as values in the
post_job_actionsdictionary, keyed by compound strings of the form{ActionType}{OutputName}(e.g.HideDatasetActionout_pairs).Common action types:
HideDatasetAction,RenameDatasetAction,DeleteIntermediatesAction,ChangeDatatypeAction,TagDatasetAction,ColumnSetAction.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeReport(*, markdown: str)[source]#
Bases:
BaseModelWorkflow invocation report template.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeSourceMetadata(*, url: None | str = None, trs_tool_id: None | str = None, trs_version_id: None | str = None, trs_server: None | str = None, trs_url: None | str = None)[source]#
Bases:
BaseModelProvenance tracking for workflows imported from external sources. Contains either a direct URL or TRS (Tool Registry Service) metadata, depending on how the workflow was imported.
For URL imports, only
urlis set. For TRS imports (Dockstore, WorkflowHub),trs_tool_id,trs_version_id, andtrs_urlare set, withtrs_serveroptionally identifying the server.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeStep(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None, uuid: None | str = None, position: None | StepPosition = None, errors: None | str = None, name: None | str = None, id: None | int = None, type: None | NativeStepType = None, label: None | str = None, annotation: None | str = None, when: None | str = None, content_id: None | str = None, tool_state: str | dict[str, Any] | None = None, tool_uuid: None | str = None, input_connections: dict[str, NativeInputConnection | list[NativeInputConnection]] | None = None, inputs: None | list[NativeStepInput] = None, outputs: None | list[NativeStepOutput] = None, workflow_outputs: None | list[NativeWorkflowOutput] = None, post_job_actions: dict[str, NativePostJobAction] | None = None, subworkflow: NativeGalaxyWorkflow | None = None, tool_representation: dict[str, Any] | None = None, in_: dict[str, Any] | None = None)[source]#
Bases:
HasStepErrors,HasStepPosition,HasUUID,ReferencesToolA step in a native Galaxy workflow. Steps are keyed by string integers (
"0","1", …) in thestepsdictionary. The key serves as an external ID for connection wiring.The
typefield determines the step’s behavior. All step types share common fields; type-specific fields are optional and only relevant for their respective type.# Tool State
The
tool_statefield contains the tool’s parameter configuration. Traditionally this is a JSON-encoded string (double-encoded: each top-level value is itself a JSON string), but it may also be a plain dictionary when unencoded tool state is used. Connected parameters are represented as{"__class__": "ConnectedValue"}, runtime parameters as{"__class__": "RuntimeValue"}.- input_connections: dict[str, NativeInputConnection | list[NativeInputConnection]] | None#
- inputs: None | list[NativeStepInput]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- outputs: None | list[NativeStepOutput]#
- post_job_actions: dict[str, NativePostJobAction] | None#
- subworkflow: NativeGalaxyWorkflow | None#
- type_: None | NativeStepType#
- workflow_outputs: None | list[NativeWorkflowOutput]#
- class gxformat2.schema.native_strict.NativeStepInput(*, name: str, description: None | str = None)[source]#
Bases:
BaseModelDescribes an input parameter on a step. This is metadata about the input, not the connection wiring (which is in
input_connections).- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeStepOutput(*, name: str, type: None | str = None)[source]#
Bases:
BaseModelDeclares an output produced by a step, with its name and datatype.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeStepType(*values)[source]#
-
Step module types in the native Galaxy workflow format. data_input: A single dataset input to the workflow. data_collection_input: A dataset collection input to the workflow. parameter_input: A typed parameter input (text, integer, float, boolean, color). tool: A Galaxy tool execution step. subworkflow: An embedded or referenced sub-workflow. pause: A manual pause point that halts execution until user intervention. pick_value: Select the first non-null value from multiple inputs.
- data_collection_input = 'data_collection_input'#
- data_input = 'data_input'#
- parameter_input = 'parameter_input'#
- pause = 'pause'#
- pick_value = 'pick_value'#
- subworkflow = 'subworkflow'#
- tool = 'tool'#
- class gxformat2.schema.native_strict.NativeTextComment(*, id: int, position: list[float] | None = None, size: list[float] | None = None, color: None | str = None, type: Literal['text'] = 'text', data: None | NativeTextCommentData = None)[source]#
Bases:
BaseNativeCommentA plain text annotation in the workflow editor.
- data: None | NativeTextCommentData#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['text']#
- class gxformat2.schema.native_strict.NativeTextCommentData(*, text: None | str = None, bold: None | bool = None, italic: None | bool = None, size: None | float | int = None)[source]#
Bases:
BaseModelData payload for a text comment.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.NativeWorkflowOutput(*, label: None | str = None, output_name: str, uuid: None | str = None)[source]#
Bases:
BaseModelDesignates a step output as a workflow-level output. These appear in the
workflow_outputsarray on each step.- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.PrimitiveType(*values)[source]#
-
Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information.
null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number string: Unicode character sequence
- boolean = 'boolean'#
- double = 'double'#
- float = 'float'#
- int = 'int'#
- long = 'long'#
- null = 'null'#
- string = 'string'#
- class gxformat2.schema.native_strict.RecordField(*, doc: None | str | list[str] = None, name: str, type: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str])[source]#
Bases:
DocumentedA field of a record.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str | list[PrimitiveType | RecordSchema | EnumSchema | ArraySchema | str]#
- class gxformat2.schema.native_strict.RecordFieldDefinition(*, name: str, type: Literal['File', 'null', 'boolean', 'int', 'float', 'string'] | list[Literal['File', 'null', 'boolean', 'int', 'float', 'string']] = 'File', format: None | str = None)[source]#
Bases:
BaseModelDescribes one field of a record collection input. Used in fields on a collection_type containing record (e.g. record, list:record, sample_sheet:record). Mirrors a subset of the CWL InputRecordSchema shape that Galaxy persists on DatasetCollection.fields.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.RecordSchema(*, fields: None | list[RecordField] = None, type: Literal['record'] = 'record')[source]#
Bases:
BaseModel- fields: None | list[RecordField]#
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['record']#
- class gxformat2.schema.native_strict.ReferencesTool(*, tool_id: None | str = None, tool_shed_repository: None | ToolShedRepository = None, tool_version: None | str = None)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tool_shed_repository: None | ToolShedRepository#
- class gxformat2.schema.native_strict.SampleSheetColumnDefinition(*, name: str, description: None | str = None, type: Literal['string', 'int', 'float', 'boolean', 'element_identifier'] = 'string', optional: bool, default_value: None | str | int | float | bool = None, validators: None | list[Any] = None, restrictions: None | list[str | int | float | bool] = None, suggestions: None | list[str | int | float | bool] = None)[source]#
Bases:
BaseModelDescribes one column of a sample-sheet collection input. Used in column_definitions on a collection_type: sample_sheet[:<type>] workflow input.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_: Literal['string', 'int', 'float', 'boolean', 'element_identifier']#
- class gxformat2.schema.native_strict.StepPosition(*, top: float | int, left: float | int)[source]#
Bases:
BaseModelThis field specifies the location of the step’s node when rendered in the workflow editor.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.ToolShedRepository(*, name: str, changeset_revision: str, owner: str, tool_shed: str)[source]#
Bases:
BaseModel- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gxformat2.schema.native_strict.WorkflowTextOption(*, value: str, label: None | str = None)[source]#
Bases:
BaseModelA {value, label} option used in restrictions or suggestions on a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for {value: <str>, label: <str>}.
- model_config = {'extra': 'forbid', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- gxformat2.schema.native_strict.load_document(path: str | Path) NativeGalaxyWorkflow | list[NativeGalaxyWorkflow][source]#
Load and validate a document from a JSON file.
gxformat2.schema.native_v0_1 module#
- gxformat2.schema.native_v0_1.AnyLoader = Any#
The Any type validates for any non-null value.
- class gxformat2.schema.native_v0_1.ArraySchema(items: Any, type_: Any, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs = frozenset({'items', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) ArraySchema[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.BaseNativeComment[source]#
Bases:
SaveableBase fields shared by all comment types.
- class gxformat2.schema.native_v0_1.BaseNativeCreator[source]#
Bases:
SaveableBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- class gxformat2.schema.native_v0_1.EnumSchema(symbols: Any, type_: Any, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDefine an enumerated type.
- attrs = frozenset({'symbols', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) EnumSchema[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.LoadingOptions(fetcher: Fetcher | None = None, namespaces: dict[str, str] | None = None, schemas: list[str] | None = None, fileuri: str | None = None, copyfrom: LoadingOptions | None = None, original_doc: Any | None = None, addl_metadata: dict[str, str] | None = None, baseuri: str | None = None, idx: MutableMapping[str, tuple[Any, LoadingOptions]] | None = None, imports: list[str] | None = None, includes: list[str] | None = None, no_link_check: bool | None = None, container: str | None = None)[source]#
Bases:
object- addl_metadata: Final[MutableMapping[str, Any]]#
- property graph: Graph#
Generate a merged rdflib.Graph from all entries in self.schemas.
- idx: Final[MutableMapping[str, tuple[Any, LoadingOptions]]]#
- namespaces: Final[MutableMapping[str, str]]#
- schemas: Final[MutableSequence[str]]#
- class gxformat2.schema.native_v0_1.NativeCreatorOrganization(name: Any | None = None, identifier: Any | None = None, url: Any | None = None, email: Any | None = None, image: Any | None = None, address: Any | None = None, alternateName: Any | None = None, telephone: Any | None = None, faxNumber: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCreatorAn organization that created or contributed to the workflow. Corresponds to a schema.org Organization.
- attrs = frozenset({'address', 'alternateName', 'class', 'email', 'faxNumber', 'identifier', 'image', 'name', 'telephone', 'url'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeCreatorOrganization[source]#
Construct this object from the result of yaml.load().
- gxformat2.schema.native_v0_1.NativeCreatorOrganizationTypeLoader = NativeCreatorOrganizationType#
Discriminator for schema.org Organization creators.
- class gxformat2.schema.native_v0_1.NativeCreatorPerson(name: Any | None = None, identifier: Any | None = None, url: Any | None = None, email: Any | None = None, image: Any | None = None, address: Any | None = None, alternateName: Any | None = None, telephone: Any | None = None, faxNumber: Any | None = None, givenName: Any | None = None, familyName: Any | None = None, honorificPrefix: Any | None = None, honorificSuffix: Any | None = None, jobTitle: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCreatorA person who created or contributed to the workflow. Corresponds to a schema.org Person.
- attrs = frozenset({'address', 'alternateName', 'class', 'email', 'familyName', 'faxNumber', 'givenName', 'honorificPrefix', 'honorificSuffix', 'identifier', 'image', 'jobTitle', 'name', 'telephone', 'url'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeCreatorPerson[source]#
Construct this object from the result of yaml.load().
- gxformat2.schema.native_v0_1.NativeCreatorPersonTypeLoader = NativeCreatorPersonType#
Discriminator for schema.org Person creators.
- class gxformat2.schema.native_v0_1.NativeFrameComment(id: Any, type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, data: Any | None = None, child_steps: Any | None = None, child_comments: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCommentA rectangular grouping box that visually contains steps and other comments.
- attrs = frozenset({'child_comments', 'child_steps', 'color', 'data', 'id', 'position', 'size', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeFrameComment[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeFrameCommentData(title: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableData payload for a frame comment.
- attrs = frozenset({'title'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeFrameCommentData[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeFreehandComment(id: Any, type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, data: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCommentA freehand drawn line on the editor canvas.
- attrs = frozenset({'color', 'data', 'id', 'position', 'size', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeFreehandComment[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeFreehandCommentData(line: Any | None = None, thickness: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableData payload for a freehand comment.
- attrs = frozenset({'line', 'thickness'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeFreehandCommentData[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeGalaxyWorkflow(a_galaxy_workflow: Any, format_version: Any, uuid: Any | None = None, name: Any | None = None, annotation: Any | None = None, tags: Any | None = None, version: Any | None = None, license: Any | None = None, release: Any | None = None, creator: Any | None = None, report: Any | None = None, readme: Any | None = None, help: Any | None = None, logo_url: Any | None = None, doi: Any | None = None, source_metadata: Any | None = None, comments: Any | None = None, steps: Any | None = None, subworkflows: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
HasUUIDA Galaxy native workflow document (.ga format). This is the canonical serialization format used internally by Galaxy.
The native format mirrors the database schema directly – steps are keyed by numeric IDs, connections reference step IDs, and tool state is stored as double-encoded JSON strings.
The format version has been
"0.1"since inception. New features are added without version bumps.- attrs = frozenset({'a_galaxy_workflow', 'annotation', 'class', 'comments', 'creator', 'doi', 'format_version', 'help', 'license', 'logo_url', 'name', 'readme', 'release', 'report', 'source_metadata', 'steps', 'subworkflows', 'tags', 'uuid', 'version'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeGalaxyWorkflow[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeInputConnection(id: Any, output_name: Any, input_subworkflow_step_id: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes a connection from one step’s output to another step’s input. These objects appear as values in the
input_connectionsdictionary.For multi-valued inputs, the value is an array of these objects rather than a single object.
- attrs = frozenset({'id', 'input_subworkflow_step_id', 'output_name'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeInputConnection[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeMarkdownComment(id: Any, type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, data: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCommentA Markdown-rendered annotation in the workflow editor.
- attrs = frozenset({'color', 'data', 'id', 'position', 'size', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeMarkdownComment[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeMarkdownCommentData(text: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableData payload for a markdown comment.
- attrs = frozenset({'text'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeMarkdownCommentData[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativePostJobAction(action_type: Any, output_name: Any, action_arguments: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableAn action applied to a step’s output after tool execution. These objects appear as values in the
post_job_actionsdictionary, keyed by compound strings of the form{ActionType}{OutputName}(e.g.HideDatasetActionout_pairs).Common action types:
HideDatasetAction,RenameDatasetAction,DeleteIntermediatesAction,ChangeDatatypeAction,TagDatasetAction,ColumnSetAction.- attrs = frozenset({'action_arguments', 'action_type', 'output_name'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativePostJobAction[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeReport(markdown: Any, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableWorkflow invocation report template.
- attrs = frozenset({'markdown'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeReport[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeSourceMetadata(url: Any | None = None, trs_tool_id: Any | None = None, trs_version_id: Any | None = None, trs_server: Any | None = None, trs_url: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableProvenance tracking for workflows imported from external sources. Contains either a direct URL or TRS (Tool Registry Service) metadata, depending on how the workflow was imported.
For URL imports, only
urlis set. For TRS imports (Dockstore, WorkflowHub),trs_tool_id,trs_version_id, andtrs_urlare set, withtrs_serveroptionally identifying the server.- attrs = frozenset({'trs_server', 'trs_tool_id', 'trs_url', 'trs_version_id', 'url'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeSourceMetadata[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeStep(errors: Any | None = None, position: Any | None = None, uuid: Any | None = None, tool_id: Any | None = None, tool_shed_repository: Any | None = None, tool_version: Any | None = None, id: Any | None = None, type_: Any | None = None, name: Any | None = None, label: Any | None = None, annotation: Any | None = None, when: Any | None = None, content_id: Any | None = None, tool_state: Any | None = None, tool_uuid: Any | None = None, input_connections: Any | None = None, inputs: Any | None = None, outputs: Any | None = None, workflow_outputs: Any | None = None, post_job_actions: Any | None = None, subworkflow: Any | None = None, tool_representation: Any | None = None, in_: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
HasStepErrors,HasStepPosition,HasUUID,ReferencesToolA step in a native Galaxy workflow. Steps are keyed by string integers (
"0","1", …) in thestepsdictionary. The key serves as an external ID for connection wiring.The
typefield determines the step’s behavior. All step types share common fields; type-specific fields are optional and only relevant for their respective type.# Tool State
The
tool_statefield contains the tool’s parameter configuration. Traditionally this is a JSON-encoded string (double-encoded: each top-level value is itself a JSON string), but it may also be a plain dictionary when unencoded tool state is used. Connected parameters are represented as{"__class__": "ConnectedValue"}, runtime parameters as{"__class__": "RuntimeValue"}.- attrs = frozenset({'annotation', 'content_id', 'errors', 'id', 'in', 'input_connections', 'inputs', 'label', 'name', 'outputs', 'position', 'post_job_actions', 'subworkflow', 'tool_id', 'tool_representation', 'tool_shed_repository', 'tool_state', 'tool_uuid', 'tool_version', 'type', 'uuid', 'when', 'workflow_outputs'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeStep[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeStepInput(name: Any, description: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes an input parameter on a step. This is metadata about the input, not the connection wiring (which is in
input_connections).- attrs = frozenset({'description', 'name'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeStepInput[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeStepOutput(name: Any, type_: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDeclares an output produced by a step, with its name and datatype.
- attrs = frozenset({'name', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeStepOutput[source]#
Construct this object from the result of yaml.load().
- gxformat2.schema.native_v0_1.NativeStepTypeLoader = NativeStepType#
Step module types in the native Galaxy workflow format. data_input: A single dataset input to the workflow. data_collection_input: A dataset collection input to the workflow. parameter_input: A typed parameter input (text, integer, float, boolean, color). tool: A Galaxy tool execution step. subworkflow: An embedded or referenced sub-workflow. pause: A manual pause point that halts execution until user intervention. pick_value: Select the first non-null value from multiple inputs.
- class gxformat2.schema.native_v0_1.NativeTextComment(id: Any, type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, data: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseNativeCommentA plain text annotation in the workflow editor.
- attrs = frozenset({'color', 'data', 'id', 'position', 'size', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeTextComment[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeTextCommentData(text: Any | None = None, bold: Any | None = None, italic: Any | None = None, size: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableData payload for a text comment.
- attrs = frozenset({'bold', 'italic', 'size', 'text'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeTextCommentData[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.NativeWorkflowOutput(output_name: Any, label: Any | None = None, uuid: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDesignates a step output as a workflow-level output. These appear in the
workflow_outputsarray on each step.- attrs = frozenset({'label', 'output_name', 'uuid'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) NativeWorkflowOutput[source]#
Construct this object from the result of yaml.load().
- gxformat2.schema.native_v0_1.PrimitiveTypeLoader = PrimitiveType#
Salad data types are based on Avro schema declarations. Refer to the [Avro schema declaration documentation](https://avro.apache.org/docs/current/spec.html#schemas) for detailed information.
null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number string: Unicode character sequence
- class gxformat2.schema.native_v0_1.RecordField(name: Any, type_: Any, doc: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
DocumentedA field of a record.
- attrs = frozenset({'doc', 'name', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) RecordField[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.RecordFieldDefinition(name: Any, type_: Any, format: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes one field of a record collection input. Used in fields on a collection_type containing record (e.g. record, list:record, sample_sheet:record). Mirrors a subset of the CWL InputRecordSchema shape that Galaxy persists on DatasetCollection.fields.
- attrs = frozenset({'format', 'name', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) RecordFieldDefinition[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.RecordSchema(type_: Any, fields: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs = frozenset({'fields', 'type'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) RecordSchema[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.SampleSheetColumnDefinition(name: Any, type_: Any, optional: Any, description: Any | None = None, default_value: Any | None = None, validators: Any | None = None, restrictions: Any | None = None, suggestions: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes one column of a sample-sheet collection input. Used in column_definitions on a collection_type: sample_sheet[:<type>] workflow input.
- attrs = frozenset({'default_value', 'description', 'name', 'optional', 'restrictions', 'suggestions', 'type', 'validators'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) SampleSheetColumnDefinition[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.Saveable[source]#
Bases:
ABCMark classes than have a save() and fromDoc() function.
- class gxformat2.schema.native_v0_1.StepPosition(top: Any, left: Any, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableThis field specifies the location of the step’s node when rendered in the workflow editor.
- attrs = frozenset({'left', 'top'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) StepPosition[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.ToolShedRepository(changeset_revision: Any, name: Any, owner: Any, tool_shed: Any, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs = frozenset({'changeset_revision', 'name', 'owner', 'tool_shed'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) ToolShedRepository[source]#
Construct this object from the result of yaml.load().
- class gxformat2.schema.native_v0_1.WorkflowTextOption(value: Any, label: Any | None = None, extension_fields: dict[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableA {value, label} option used in restrictions or suggestions on a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for {value: <str>, label: <str>}.
- attrs = frozenset({'label', 'value'})#
- classmethod fromDoc(doc: Any, baseuri: str, loadingOptions: LoadingOptions, docRoot: str | None = None) WorkflowTextOption[source]#
Construct this object from the result of yaml.load().
- gxformat2.schema.native_v0_1.convert_typing(val_type: str) str[source]#
Normalize type names to schema-salad types.
- gxformat2.schema.native_v0_1.expand_url(url: str, base_url: str, loadingOptions: LoadingOptions, scoped_id: bool = False, vocab_term: bool = False, scoped_ref: int | None = None) str[source]#
- gxformat2.schema.native_v0_1.extract_type(val_type: type[Any]) str[source]#
Take a type of value, and extracts the value as a string.
- gxformat2.schema.native_v0_1.file_uri(path: str, split_frag: bool = False) str[source]#
Transform a file path into a URL with file scheme.
- gxformat2.schema.native_v0_1.load_document(doc: Any, baseuri: str | None = None, loadingOptions: LoadingOptions | None = None) Any[source]#
- gxformat2.schema.native_v0_1.load_document_by_string(string: Any, uri: str, loadingOptions: LoadingOptions | None = None) Any[source]#
- gxformat2.schema.native_v0_1.load_document_by_yaml(yaml: Any, uri: str, loadingOptions: LoadingOptions | None = None) Any[source]#
Shortcut to load via a YAML object. yaml: must be from ruamel.yaml.main.YAML.load with preserve_quotes=True
- gxformat2.schema.native_v0_1.load_document_with_metadata(doc: Any, baseuri: str | None = None, loadingOptions: LoadingOptions | None = None, addl_metadata_fields: MutableSequence[str] | None = None) Any[source]#
- gxformat2.schema.native_v0_1.load_field(val: str | dict[str, str], fieldtype: _Loader, baseuri: str, loadingOptions: LoadingOptions, lc: list[Any] | None = None) Any[source]#
Load field.
- gxformat2.schema.native_v0_1.parse_errors(error_message: str) tuple[str, str, str][source]#
Parse error messages from several loaders into one error message.
- gxformat2.schema.native_v0_1.prefix_url(url: str, namespaces: dict[str, str]) str[source]#
Expand short forms into full URLs using the given namespace dictionary.
- gxformat2.schema.native_v0_1.save(val: Any, top: bool = True, base_url: str = '', relative_uris: bool = True) MutableMapping[str, Any] | MutableSequence[Any] | int | float | bool | str | None[source]#
- gxformat2.schema.native_v0_1.save_relative_uri(uri: Any, base_url: str, scoped_id: bool, ref_scope: int | None, relative_uris: bool) Any[source]#
Convert any URI to a relative one, obeying the scoping rules.
- gxformat2.schema.native_v0_1.save_with_metadata(val: Any, valLoadingOpts: LoadingOptions, top: bool = True, base_url: str = '', relative_uris: bool = True) MutableMapping[str, Any] | MutableSequence[Any] | int | float | bool | str | None[source]#
Save and set $namespaces, $schemas, $base and any other metadata fields at the top level.
gxformat2.schema.v19_09 module#
- gxformat2.schema.v19_09.AnyLoader: Final = Any#
The Any type validates for any non-null value.
- class gxformat2.schema.v19_09.ArraySchema(items: Any, type_: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs: ClassVar[Collection[str]] = frozenset({'items', 'type'})#
- class gxformat2.schema.v19_09.BaseComment[source]#
Bases:
SaveableBase fields shared by all comment types.
- class gxformat2.schema.v19_09.BaseCreator[source]#
Bases:
SaveableBase fields shared by all creator types, corresponding to schema.org Thing properties common to both Person and Organization.
- class gxformat2.schema.v19_09.BaseDataParameter(optional: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, format: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseInputParameter- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'format', 'id', 'label', 'optional', 'position'})#
- class gxformat2.schema.v19_09.BaseInputParameter(optional: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
InputParameter,HasStepPosition- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'id', 'label', 'optional', 'position'})#
- class gxformat2.schema.v19_09.CreatorOrganization(name: Any | None = None, identifier: Any | None = None, url: Any | None = None, email: Any | None = None, image: Any | None = None, address: Any | None = None, alternateName: Any | None = None, telephone: Any | None = None, faxNumber: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCreatorAn organization that created or contributed to the workflow. Corresponds to a ``schema.org Organization <https://schema.org/Organization>``_.
- attrs: ClassVar[Collection[str]] = frozenset({'address', 'alternateName', 'class', 'email', 'faxNumber', 'identifier', 'image', 'name', 'telephone', 'url'})#
- gxformat2.schema.v19_09.CreatorOrganizationTypeLoader: Final = CreatorOrganizationType#
Discriminator for schema.org Organization creators.
- class gxformat2.schema.v19_09.CreatorPerson(name: Any | None = None, identifier: Any | None = None, url: Any | None = None, email: Any | None = None, image: Any | None = None, address: Any | None = None, alternateName: Any | None = None, telephone: Any | None = None, faxNumber: Any | None = None, givenName: Any | None = None, familyName: Any | None = None, honorificPrefix: Any | None = None, honorificSuffix: Any | None = None, jobTitle: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCreatorA person who created or contributed to the workflow. Corresponds to a ``schema.org Person <https://schema.org/Person>``_.
- attrs: ClassVar[Collection[str]] = frozenset({'address', 'alternateName', 'class', 'email', 'familyName', 'faxNumber', 'givenName', 'honorificPrefix', 'honorificSuffix', 'identifier', 'image', 'jobTitle', 'name', 'telephone', 'url'})#
- gxformat2.schema.v19_09.CreatorPersonTypeLoader: Final = CreatorPersonType#
Discriminator for schema.org Person creators.
- class gxformat2.schema.v19_09.EnumSchema(symbols: Any, type_: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDefine an enumerated type.
- attrs: ClassVar[Collection[str]] = frozenset({'symbols', 'type'})#
- class gxformat2.schema.v19_09.FrameComment(type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, label: Any | None = None, title: Any | None = None, contains_steps: Any | None = None, contains_comments: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCommentA rectangular grouping box that visually contains steps and other comments.
- attrs: ClassVar[Collection[str]] = frozenset({'color', 'contains_comments', 'contains_steps', 'label', 'position', 'size', 'title', 'type'})#
- class gxformat2.schema.v19_09.FreehandComment(type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, label: Any | None = None, thickness: Any | None = None, line: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCommentA freehand drawn line on the editor canvas.
- attrs: ClassVar[Collection[str]] = frozenset({'color', 'label', 'line', 'position', 'size', 'thickness', 'type'})#
- gxformat2.schema.v19_09.GalaxyTypeLoader: Final = GalaxyType#
Extends primitive types with the native Galaxy concepts such as datasets and collections.
Normalized gxformat2 workflow input declaration spellings are
data,collection,string,int,float, andboolean. Other spellings are accepted as compatibility aliases on import but normalized gxformat2 output emits the normalized spellings.data: one Galaxy dataset input. Native Galaxy
data_inputconverts to this spelling.File: accepted alias for
data, but normalized gxformat2 output emitsdata. Note: workflow test job YAML usestype: Fileto mean ‘stage this file as test input data’, which is a separate concept from workflow input declaration.collection: one Galaxy dataset collection input. Native Galaxy
data_collection_inputconverts to this spelling.string: normalized gxformat2 spelling for native Galaxy text workflow parameters.
text: accepted alias for
stringbecause native Galaxy parameter state and Galaxy tool XML terminology usetext.int: normalized gxformat2 spelling for native Galaxy integer workflow parameters.
integer: accepted alias for
intbecause native Galaxy parameter state and Galaxy tool XML terminology useinteger.
- class gxformat2.schema.v19_09.GalaxyWorkflow(inputs: Any, outputs: Any, steps: Any, tags: Any, id: Any | None = None, label: Any | None = None, doc: Any | None = None, uuid: Any | None = None, report: Any | None = None, comments: Any | None = None, creator: Any | None = None, license: Any | None = None, release: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
-
A Galaxy workflow description. This record corresponds to the description of a workflow that should be executable on a Galaxy server that includes the contained tool definitions.
The workflows API or the user interface of Galaxy instances that are of version 19.09 or newer should be able to import a document defining this record.
A note about
labelfield.#This is the name of the workflow in the Galaxy user interface. This is the mechanism that users will primarily identify the workflow using. Legacy support - this may also be called ‘name’ and Galaxy will consume the workflow document fine and treat this attribute correctly - however in order to validate against this workflow definition schema the attribute should be called
label.- attrs: ClassVar[Collection[str]] = frozenset({'class', 'comments', 'creator', 'doc', 'id', 'inputs', 'label', 'license', 'outputs', 'release', 'report', 'steps', 'tags', 'uuid'})#
- class gxformat2.schema.v19_09.LoadingOptions(fetcher: Fetcher | None = None, namespaces: dict[str, str] | None = None, schemas: list[str] | None = None, fileuri: str | None = None, copyfrom: LoadingOptions | None = None, original_doc: Any | None = None, addl_metadata: dict[str, str] | None = None, baseuri: str | None = None, idx: MutableMapping[str, tuple[Any, LoadingOptions]] | None = None, imports: list[str] | None = None, includes: list[str] | None = None, no_link_check: bool | None = None, container: str | None = None)[source]#
Bases:
object- addl_metadata: Final[MutableMapping[str, Any]]#
- property graph: Graph#
Generate a merged rdflib.Graph from all entries in self.schemas.
- idx: Final[MutableMapping[str, tuple[Any, LoadingOptions]]]#
- namespaces: Final[MutableMapping[str, str]]#
- schemas: Final[MutableSequence[str]]#
- class gxformat2.schema.v19_09.MarkdownComment(type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, label: Any | None = None, text: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCommentA Markdown-rendered annotation in the workflow editor.
- attrs: ClassVar[Collection[str]] = frozenset({'color', 'label', 'position', 'size', 'text', 'type'})#
- class gxformat2.schema.v19_09.MinMax(min: Any, max: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs: ClassVar[Collection[str]] = frozenset({'max', 'min'})#
- class gxformat2.schema.v19_09.Parameter[source]#
Bases:
Labeled,Documented,IdentifiedDefine an input or output parameter to a process.
- gxformat2.schema.v19_09.PrimitiveTypeLoader: Final = PrimitiveType#
Salad data types are based on Avro schema declarations. Refer to the Avro schema declaration documentation for detailed information.
null: no value
boolean: a binary value
int: 32-bit signed integer
long: 64-bit signed integer
float: single precision (32-bit) IEEE 754 floating-point number
double: double precision (64-bit) IEEE 754 floating-point number
string: Unicode character sequence
- class gxformat2.schema.v19_09.Process[source]#
Bases:
Identified,Labeled,DocumentedThe base executable type in CWL is the
Processobject defined by the document. Note that theProcessobject is abstract and cannot be directly executed.
- class gxformat2.schema.v19_09.RecordField(name: Any, type_: Any, doc: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
DocumentedA field of a record.
- attrs: ClassVar[Collection[str]] = frozenset({'doc', 'name', 'type'})#
- class gxformat2.schema.v19_09.RecordFieldDefinition(name: Any, type_: Any, format: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes one field of a
recordcollection input. Used infieldson acollection_typecontainingrecord(e.g.record,list:record,sample_sheet:record). Mirrors a subset of the CWLInputRecordSchemashape that Galaxy persists onDatasetCollection.fields.- attrs: ClassVar[Collection[str]] = frozenset({'format', 'name', 'type'})#
- class gxformat2.schema.v19_09.RecordSchema(type_: Any, fields: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs: ClassVar[Collection[str]] = frozenset({'fields', 'type'})#
- class gxformat2.schema.v19_09.Report(markdown: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDefinition of an invocation report for this workflow. Currently the only field is ‘markdown’.
- attrs: ClassVar[Collection[str]] = frozenset({'markdown'})#
- class gxformat2.schema.v19_09.SampleSheetColumnDefinition(name: Any, type_: Any, optional: Any, description: Any | None = None, default_value: Any | None = None, validators: Any | None = None, restrictions: Any | None = None, suggestions: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableDescribes one column of a sample-sheet collection input. Used in
column_definitionson acollection_type: sample_sheet[:<type>]workflow input.- attrs: ClassVar[Collection[str]] = frozenset({'default_value', 'description', 'name', 'optional', 'restrictions', 'suggestions', 'type', 'validators'})#
- class gxformat2.schema.v19_09.Saveable[source]#
Bases:
objectMark classes than have a save() and fromDoc() function.
- class gxformat2.schema.v19_09.StepPosition(top: Any, left: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableThis field specifies the location of the step’s node when rendered in the workflow editor.
- attrs: ClassVar[Collection[str]] = frozenset({'left', 'top'})#
- class gxformat2.schema.v19_09.TextComment(type_: Any, position: Any | None = None, size: Any | None = None, color: Any | None = None, label: Any | None = None, text: Any | None = None, bold: Any | None = None, italic: Any | None = None, text_size: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseCommentA plain text annotation in the workflow editor.
- attrs: ClassVar[Collection[str]] = frozenset({'bold', 'color', 'italic', 'label', 'position', 'size', 'text', 'text_size', 'type'})#
- class gxformat2.schema.v19_09.ToolShedRepository(changeset_revision: Any, name: Any, owner: Any, tool_shed: Any, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Saveable- attrs: ClassVar[Collection[str]] = frozenset({'changeset_revision', 'name', 'owner', 'tool_shed'})#
- class gxformat2.schema.v19_09.WorkflowBooleanParameter(optional: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseInputParameterA boolean input parameter for a Galaxy workflow.
- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'id', 'label', 'optional', 'position', 'type'})#
- class gxformat2.schema.v19_09.WorkflowCollectionParameter(optional: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, format: Any | None = None, collection_type: Any | None = None, column_definitions: Any | None = None, fields: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseDataParameterA collection input parameter for a Galaxy workflow - represents a dataset collection.
- attrs: ClassVar[Collection[str]] = frozenset({'collection_type', 'column_definitions', 'default', 'doc', 'fields', 'format', 'id', 'label', 'optional', 'position', 'type'})#
- class gxformat2.schema.v19_09.WorkflowDataParameter(optional: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, format: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseDataParameterA data input parameter for a Galaxy workflow. Represents one Galaxy dataset. Normalized gxformat2 output uses
type: data.type: Fileis accepted as an alias, but should not be confused with workflow test job syntax wheretype: Filemeans stage a file as test input data.- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'format', 'id', 'label', 'optional', 'position', 'type'})#
- class gxformat2.schema.v19_09.WorkflowFloatParameter(optional: Any, min: Any, max: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseInputParameter,MinMaxA float input parameter for a Galaxy workflow.
- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'id', 'label', 'max', 'min', 'optional', 'position', 'type'})#
- class gxformat2.schema.v19_09.WorkflowInputParameter(optional: Any, min: Any, max: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, format: Any | None = None, collection_type: Any | None = None, column_definitions: Any | None = None, fields: Any | None = None, restrictions: Any | None = None, suggestions: Any | None = None, restrictOnConnections: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseDataParameter,MinMaxAn input parameter to a Galaxy workflow. This is the catch-all type used by the Schema Salad codegen. The pydantic layer uses a discriminated union of the specific parameter types instead.
- attrs: ClassVar[Collection[str]] = frozenset({'collection_type', 'column_definitions', 'default', 'doc', 'fields', 'format', 'id', 'label', 'max', 'min', 'optional', 'position', 'restrictOnConnections', 'restrictions', 'suggestions', 'type'})#
- class gxformat2.schema.v19_09.WorkflowIntegerParameter(optional: Any, min: Any, max: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseInputParameter,MinMaxA scalar integer workflow parameter. Normalized gxformat2 output uses
type: int.type: integeris accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'id', 'label', 'max', 'min', 'optional', 'position', 'type'})#
- class gxformat2.schema.v19_09.WorkflowOutputParameter(label: Any | None = None, doc: Any | None = None, id: Any | None = None, outputSource: Any | None = None, type_: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
OutputParameterDescribe an output parameter of a workflow. The parameter must be connected to one parameter defined in the workflow that will provide the value of the output parameter. It is legal to connect a WorkflowInputParameter to a WorkflowOutputParameter.
- attrs: ClassVar[Collection[str]] = frozenset({'doc', 'id', 'label', 'outputSource', 'type'})#
- class gxformat2.schema.v19_09.WorkflowStep(out: Any, id: Any | None = None, label: Any | None = None, doc: Any | None = None, position: Any | None = None, tool_id: Any | None = None, tool_shed_repository: Any | None = None, tool_version: Any | None = None, errors: Any | None = None, uuid: Any | None = None, in_: Any | None = None, state: Any | None = None, tool_state: Any | None = None, post_job_actions: Any | None = None, type_: Any | None = None, run: Any | None = None, runtime_inputs: Any | None = None, when: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Identified,Labeled,Documented,HasStepPosition,ReferencesTool,HasStepErrors,HasUUIDThis represents a non-input step a Galaxy Workflow.
A note about
stateandtool_statefields.#Only one or the other should be specified. These are two ways to represent the “state” of a tool at this workflow step. Both are essentially maps from parameter names to parameter values.
tool_stateis much more low-level and expects a flat dictionary with each value a JSON dump. Nested tool structures such as conditionals and repeats should have all their values in the JSON dumped string. In generaltool_statemay be present in workflows exported from Galaxy but shouldn’t be written by humans.statecan contained a typed map. Repeat values can be represented as YAML arrays. An alternative to representingstatethis way is defining inputs with default values.- attrs: ClassVar[Collection[str]] = frozenset({'doc', 'errors', 'id', 'in', 'label', 'out', 'position', 'post_job_actions', 'run', 'runtime_inputs', 'state', 'tool_id', 'tool_shed_repository', 'tool_state', 'tool_version', 'type', 'uuid', 'when'})#
- class gxformat2.schema.v19_09.WorkflowStepInput(id: Any | None = None, source: Any | None = None, label: Any | None = None, default: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
Identified,Sink,LabeledTODO:
- attrs: ClassVar[Collection[str]] = frozenset({'default', 'id', 'label', 'source'})#
- class gxformat2.schema.v19_09.WorkflowStepOutput(id: Any | None = None, add_tags: Any | None = None, change_datatype: Any | None = None, delete_intermediate_datasets: Any | None = None, hide: Any | None = None, remove_tags: Any | None = None, rename: Any | None = None, set_columns: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
IdentifiedAssociate an output parameter of the underlying process with a workflow parameter. The workflow parameter (given in the
idfield) be may be used as asourceto 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
sourcefield ofWorkflowStepInputto connect the output value to downstream parameters.- attrs: ClassVar[Collection[str]] = frozenset({'add_tags', 'change_datatype', 'delete_intermediate_datasets', 'hide', 'id', 'remove_tags', 'rename', 'set_columns'})#
- gxformat2.schema.v19_09.WorkflowStepTypeLoader: Final = WorkflowStepType#
Module types used by Galaxy steps. Galaxy’s native format allows additional types such as data_input, data_input_collection, and parameter_type but these should be represented as
inputsin Format2.tool: Run a tool.
subworkflow: Run a subworkflow.
pause: Pause computation on this branch of workflow until user allows it to continue.
pick_value: Select the first non-null value from multiple inputs. Used to merge branches of conditional or optional workflow paths.
- class gxformat2.schema.v19_09.WorkflowTextOption(value: Any, label: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
SaveableA
{value, label}option used inrestrictionsorsuggestionson a text workflow parameter. Plain strings are also accepted in those arrays as shorthand for{value: <str>, label: <str>}.- attrs: ClassVar[Collection[str]] = frozenset({'label', 'value'})#
- class gxformat2.schema.v19_09.WorkflowTextParameter(optional: Any, type_: Any, label: Any | None = None, doc: Any | None = None, id: Any | None = None, default: Any | None = None, position: Any | None = None, restrictions: Any | None = None, suggestions: Any | None = None, restrictOnConnections: Any | None = None, extension_fields: MutableMapping[str, Any] | None = None, loadingOptions: LoadingOptions | None = None)[source]#
Bases:
BaseInputParameterA scalar text workflow parameter. Normalized gxformat2 output uses
type: string.type: textis accepted for compatibility with native Galaxy parameter state and Galaxy tool XML terminology.- attrs: ClassVar[Collection[str]] = frozenset({'default', 'doc', 'id', 'label', 'optional', 'position', 'restrictOnConnections', 'restrictions', 'suggestions', 'type'})#
- gxformat2.schema.v19_09.convert_typing(val_type: str) str[source]#
Normalize type names to schema-salad types.
- gxformat2.schema.v19_09.expand_url(url: str, base_url: str, loadingOptions: LoadingOptions, scoped_id: bool = False, vocab_term: bool = False, scoped_ref: int | None = None) str[source]#
- gxformat2.schema.v19_09.extract_type(val_type: type[Any]) str[source]#
Take a type of value, and extracts the value as a string.
- gxformat2.schema.v19_09.file_uri(path: str, split_frag: bool = False) str[source]#
Transform a file path into a URL with file scheme.
- gxformat2.schema.v19_09.load_document(doc: Any, baseuri: str | None = None, loadingOptions: LoadingOptions | None = None) Any[source]#
- gxformat2.schema.v19_09.load_document_by_string(string: Any, uri: str, loadingOptions: LoadingOptions | None = None) Any[source]#
- gxformat2.schema.v19_09.load_document_by_yaml(yaml: Any, uri: str, loadingOptions: LoadingOptions | None = None) Any[source]#
Shortcut to load via a YAML object. yaml: must be from ruamel.yaml.main.YAML.load with preserve_quotes=True
- gxformat2.schema.v19_09.load_document_with_metadata(doc: Any, baseuri: str | None = None, loadingOptions: LoadingOptions | None = None, addl_metadata_fields: MutableSequence[str] | None = None) Any[source]#
- gxformat2.schema.v19_09.load_field(val: Any | None, fieldtype: _Loader, baseuri: str, loadingOptions: LoadingOptions, lc: Any | None = None) Any[source]#
Load field.
- gxformat2.schema.v19_09.parse_errors(error_message: str) tuple[str, str, str][source]#
Parse error messages from several loaders into one error message.
- gxformat2.schema.v19_09.prefix_url(url: str, namespaces: dict[str, str]) str[source]#
Expand short forms into full URLs using the given namespace dictionary.
- gxformat2.schema.v19_09.save(val: Any, top: bool = True, base_url: str = '', relative_uris: bool = True) None | MutableMapping[str, Any] | MutableSequence[Any] | int | float | bool | str[source]#
- gxformat2.schema.v19_09.save_relative_uri(uri: Any, base_url: str, scoped_id: bool, ref_scope: int | None, relative_uris: bool) Any[source]#
Convert any URI to a relative one, obeying the scoping rules.
- gxformat2.schema.v19_09.save_with_metadata(val: Any, valLoadingOpts: LoadingOptions, top: bool = True, base_url: str = '', relative_uris: bool = True) None | MutableMapping[str, Any] | MutableSequence[Any] | int | float | bool | str[source]#
Save and set $namespaces, $schemas, $base and any other metadata fields at the top level.
Module contents#
Parsers for workflows dervied from schema-salad descriptions and codegen.
Python files in this package probably shouldn’t be modified manually. See build_schema.sh for more information.