galaxy.workflow.refactor package

Submodules

galaxy.workflow.refactor.execute module

class galaxy.workflow.refactor.execute.WorkflowRefactorExecutor(raw_workflow_description, workflow, module_injector)[source]

Bases: object

__init__(raw_workflow_description, workflow, module_injector)[source]
refactor(refactor_request: RefactorActions)[source]
static normalize_input_connections_to_list(all_input_connections, input_name, add_if_missing=False)[source]

galaxy.workflow.refactor.schema module

class galaxy.workflow.refactor.schema.StepReferenceByOrderIndex(*, order_index: int)[source]

Bases: BaseModel

order_index: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'order_index': FieldInfo(annotation=int, required=True, description='The order_index of the step being referenced. The order indices of a workflow start at 0.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.StepReferenceByLabel(*, label: str)[source]

Bases: BaseModel

label: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'label': FieldInfo(annotation=str, required=True, description='The unique label of the step being referenced.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.InputReferenceByOrderIndex(*, order_index: int, input_name: str)[source]

Bases: StepReferenceByOrderIndex

input_name: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'input_name': FieldInfo(annotation=str, required=True, description="The input name as defined by the workflow module corresponding to the step being referenced. For Galaxy tool steps these inputs should be normalized using '|' (e.g. 'cond|repeat_0|input')."), 'order_index': FieldInfo(annotation=int, required=True, description='The order_index of the step being referenced. The order indices of a workflow start at 0.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.InputReferenceByLabel(*, label: str, input_name: str)[source]

Bases: StepReferenceByLabel

input_name: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'input_name': FieldInfo(annotation=str, required=True, description="The input name as defined by the workflow module corresponding to the step being referenced. For Galaxy tool steps these inputs should be normalized using '|' (e.g. 'cond|repeat_0|input')."), 'label': FieldInfo(annotation=str, required=True, description='The unique label of the step being referenced.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.OutputReferenceByOrderIndex(*, order_index: int, output_name: str | None = 'output')[source]

Bases: StepReferenceByOrderIndex

output_name: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'order_index': FieldInfo(annotation=int, required=True, description='The order_index of the step being referenced. The order indices of a workflow start at 0.'), 'output_name': FieldInfo(annotation=Union[str, NoneType], required=False, default='output', description="The output name as defined by the workflow module corresponding to the step being referenced. The default is 'output', corresponding to the output defined by input step types.")}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.OutputReferenceByLabel(*, label: str, output_name: str | None = 'output')[source]

Bases: StepReferenceByLabel

output_name: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'label': FieldInfo(annotation=str, required=True, description='The unique label of the step being referenced.'), 'output_name': FieldInfo(annotation=Union[str, NoneType], required=False, default='output', description="The output name as defined by the workflow module corresponding to the step being referenced. The default is 'output', corresponding to the output defined by input step types.")}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.Position(*, left: float, top: float)[source]

Bases: BaseModel

left: float
top: float
to_dict()[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'left': FieldInfo(annotation=float, required=True), 'top': FieldInfo(annotation=float, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.BaseAction[source]

Bases: BaseModel

Refactoring actions.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.Action(*, action_type: str)[source]

Bases: BaseAction

action_type: str
classmethod return_action(values)[source]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateStepLabelAction(*, action_type: typing_extensions.Literal[update_step_label], label: str, step: StepReferenceByOrderIndex | StepReferenceByLabel)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_step_label]
label: str
step: StepReferenceByOrderIndex | StepReferenceByLabel
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_step_label'], required=True), 'label': FieldInfo(annotation=str, required=True, description='The unique label of the step being referenced.'), 'step': FieldInfo(annotation=Union[StepReferenceByOrderIndex, StepReferenceByLabel], required=True, description='The target step for this action.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateStepPositionAction(*, action_type: typing_extensions.Literal[update_step_position], step: StepReferenceByOrderIndex | StepReferenceByLabel, position_shift: Position)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_step_position]
step: StepReferenceByOrderIndex | StepReferenceByLabel
position_shift: Position
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_step_position'], required=True), 'position_shift': FieldInfo(annotation=Position, required=True), 'step': FieldInfo(annotation=Union[StepReferenceByOrderIndex, StepReferenceByLabel], required=True, description='The target step for this action.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.AddStepAction(*, action_type: typing_extensions.Literal[add_step], type: str, tool_state: Dict[str, Any] | None = None, label: str | None = None, position: Position | None = None)[source]

Bases: BaseAction

Add a new action to the workflow.

After the workflow is updated, an order_index will be assigned and this step may cause other steps to have their output_index adjusted.

action_type: typing_extensions.Literal[add_step]
type: str
tool_state: Dict[str, Any] | None
label: str | None
position: Position | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['add_step'], required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, description='A unique label for the step being added, must be distinct from the labels already present in the workflow.'), 'position': FieldInfo(annotation=Union[Position, NoneType], required=False, description='The location of the step in the Galaxy workflow editor.'), 'tool_state': FieldInfo(annotation=Union[Dict[str, Any], NoneType], required=False), 'type': FieldInfo(annotation=str, required=True, description='Module type of the step to add, see galaxy.workflow.modules for available types.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.ConnectAction(*, action_type: typing_extensions.Literal[connect], input: InputReferenceByOrderIndex | InputReferenceByLabel, output: OutputReferenceByOrderIndex | OutputReferenceByLabel)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[connect]
input: InputReferenceByOrderIndex | InputReferenceByLabel
output: OutputReferenceByOrderIndex | OutputReferenceByLabel
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['connect'], required=True), 'input': FieldInfo(annotation=Union[InputReferenceByOrderIndex, InputReferenceByLabel], required=True), 'output': FieldInfo(annotation=Union[OutputReferenceByOrderIndex, OutputReferenceByLabel], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.DisconnectAction(*, action_type: typing_extensions.Literal[disconnect], input: InputReferenceByOrderIndex | InputReferenceByLabel, output: OutputReferenceByOrderIndex | OutputReferenceByLabel)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[disconnect]
input: InputReferenceByOrderIndex | InputReferenceByLabel
output: OutputReferenceByOrderIndex | OutputReferenceByLabel
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['disconnect'], required=True), 'input': FieldInfo(annotation=Union[InputReferenceByOrderIndex, InputReferenceByLabel], required=True), 'output': FieldInfo(annotation=Union[OutputReferenceByOrderIndex, OutputReferenceByLabel], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.AddInputAction(*, action_type: typing_extensions.Literal[add_input], type: str, label: str | None = None, position: Position | None = None, collection_type: str | None = None, restrictions: List[str] | None = None, restrict_on_connections: bool | None = None, suggestions: List[str] | None = None, optional: bool | None = False, default: Any | None = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[add_input]
type: str
label: str | None
position: Position | None
collection_type: str | None
restrictions: List[str] | None
restrict_on_connections: bool | None
suggestions: List[str] | None
optional: bool | None
default: Any | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['add_input'], required=True), 'collection_type': FieldInfo(annotation=Union[str, NoneType], required=False), 'default': FieldInfo(annotation=Union[Any, NoneType], required=False), 'label': FieldInfo(annotation=Union[str, NoneType], required=False), 'optional': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'position': FieldInfo(annotation=Union[Position, NoneType], required=False), 'restrict_on_connections': FieldInfo(annotation=Union[bool, NoneType], required=False), 'restrictions': FieldInfo(annotation=Union[List[str], NoneType], required=False), 'suggestions': FieldInfo(annotation=Union[List[str], NoneType], required=False), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.ExtractInputAction(*, action_type: typing_extensions.Literal[extract_input], input: InputReferenceByOrderIndex | InputReferenceByLabel, label: str | None = None, position: Position | None = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[extract_input]
input: InputReferenceByOrderIndex | InputReferenceByLabel
label: str | None
position: Position | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['extract_input'], required=True), 'input': FieldInfo(annotation=Union[InputReferenceByOrderIndex, InputReferenceByLabel], required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False), 'position': FieldInfo(annotation=Union[Position, NoneType], required=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.ExtractUntypedParameter(*, action_type: typing_extensions.Literal[extract_untyped_parameter], name: str, label: str | None = None, position: Position | None = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[extract_untyped_parameter]
name: str
label: str | None
position: Position | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['extract_untyped_parameter'], required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False), 'name': FieldInfo(annotation=str, required=True), 'position': FieldInfo(annotation=Union[Position, NoneType], required=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.RemoveUnlabeledWorkflowOutputs(*, action_type: typing_extensions.Literal[remove_unlabeled_workflow_outputs])[source]

Bases: BaseAction

action_type: typing_extensions.Literal[remove_unlabeled_workflow_outputs]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['remove_unlabeled_workflow_outputs'], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateNameAction(*, action_type: typing_extensions.Literal[update_name], name: str)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_name]
name: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_name'], required=True), 'name': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateAnnotationAction(*, action_type: typing_extensions.Literal[update_annotation], annotation: str)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_annotation]
annotation: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_annotation'], required=True), 'annotation': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateLicenseAction(*, action_type: typing_extensions.Literal[update_license], license: str)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_license]
license: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_license'], required=True), 'license': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateCreatorAction(*, action_type: typing_extensions.Literal[update_creator], creator: Any = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_creator]
creator: Any
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_creator'], required=True), 'creator': FieldInfo(annotation=Any, required=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.Report(*, markdown: str)[source]

Bases: BaseModel

markdown: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'markdown': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateReportAction(*, action_type: typing_extensions.Literal[update_report], report: Report)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_report]
report: Report
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_report'], required=True), 'report': FieldInfo(annotation=Report, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpdateOutputLabelAction(*, action_type: typing_extensions.Literal[update_output_label], output: OutputReferenceByOrderIndex | OutputReferenceByLabel, output_label: str)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[update_output_label]
output: OutputReferenceByOrderIndex | OutputReferenceByLabel
output_label: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['update_output_label'], required=True), 'output': FieldInfo(annotation=Union[OutputReferenceByOrderIndex, OutputReferenceByLabel], required=True), 'output_label': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.FillStepDefaultsAction(*, action_type: typing_extensions.Literal[fill_step_defaults], step: StepReferenceByOrderIndex | StepReferenceByLabel)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[fill_step_defaults]
step: StepReferenceByOrderIndex | StepReferenceByLabel
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['fill_step_defaults'], required=True), 'step': FieldInfo(annotation=Union[StepReferenceByOrderIndex, StepReferenceByLabel], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.FileDefaultsAction(*, action_type: typing_extensions.Literal[fill_defaults])[source]

Bases: BaseAction

action_type: typing_extensions.Literal[fill_defaults]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['fill_defaults'], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpgradeSubworkflowAction(*, action_type: typing_extensions.Literal[upgrade_subworkflow], step: StepReferenceByOrderIndex | StepReferenceByLabel, content_id: str | None = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[upgrade_subworkflow]
step: StepReferenceByOrderIndex | StepReferenceByLabel
content_id: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['upgrade_subworkflow'], required=True), 'content_id': FieldInfo(annotation=Union[str, NoneType], required=False), 'step': FieldInfo(annotation=Union[StepReferenceByOrderIndex, StepReferenceByLabel], required=True, description='The target step for this action.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpgradeToolAction(*, action_type: typing_extensions.Literal[upgrade_tool], step: StepReferenceByOrderIndex | StepReferenceByLabel, tool_version: str | None = None)[source]

Bases: BaseAction

action_type: typing_extensions.Literal[upgrade_tool]
step: StepReferenceByOrderIndex | StepReferenceByLabel
tool_version: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['upgrade_tool'], required=True), 'step': FieldInfo(annotation=Union[StepReferenceByOrderIndex, StepReferenceByLabel], required=True, description='The target step for this action.'), 'tool_version': FieldInfo(annotation=Union[str, NoneType], required=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.UpgradeAllStepsAction(*, action_type: typing_extensions.Literal[upgrade_all_steps])[source]

Bases: BaseAction

action_type: typing_extensions.Literal[upgrade_all_steps]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action_type': FieldInfo(annotation=Literal['upgrade_all_steps'], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.RefactorActions(*, actions: List[AddInputAction | galaxy.workflow.refactor.schema.AddStepAction | galaxy.workflow.refactor.schema.ConnectAction | galaxy.workflow.refactor.schema.DisconnectAction | galaxy.workflow.refactor.schema.ExtractInputAction | galaxy.workflow.refactor.schema.ExtractUntypedParameter | galaxy.workflow.refactor.schema.FileDefaultsAction | galaxy.workflow.refactor.schema.FillStepDefaultsAction | galaxy.workflow.refactor.schema.UpdateAnnotationAction | galaxy.workflow.refactor.schema.UpdateCreatorAction | galaxy.workflow.refactor.schema.UpdateNameAction | galaxy.workflow.refactor.schema.UpdateLicenseAction | galaxy.workflow.refactor.schema.UpdateOutputLabelAction | galaxy.workflow.refactor.schema.UpdateReportAction | galaxy.workflow.refactor.schema.UpdateStepLabelAction | galaxy.workflow.refactor.schema.UpdateStepPositionAction | galaxy.workflow.refactor.schema.UpgradeSubworkflowAction | galaxy.workflow.refactor.schema.UpgradeToolAction | galaxy.workflow.refactor.schema.UpgradeAllStepsAction | galaxy.workflow.refactor.schema.RemoveUnlabeledWorkflowOutputs[AddInputAction | AddStepAction | ConnectAction | DisconnectAction | ExtractInputAction | ExtractUntypedParameter | FileDefaultsAction | FillStepDefaultsAction | UpdateAnnotationAction | UpdateCreatorAction | UpdateNameAction | UpdateLicenseAction | UpdateOutputLabelAction | UpdateReportAction | UpdateStepLabelAction | UpdateStepPositionAction | UpgradeSubworkflowAction | UpgradeToolAction | UpgradeAllStepsAction | RemoveUnlabeledWorkflowOutputs]], dry_run: bool = False)[source]

Bases: BaseModel

actions: List[AddInputAction | galaxy.workflow.refactor.schema.AddStepAction | galaxy.workflow.refactor.schema.ConnectAction | galaxy.workflow.refactor.schema.DisconnectAction | galaxy.workflow.refactor.schema.ExtractInputAction | galaxy.workflow.refactor.schema.ExtractUntypedParameter | galaxy.workflow.refactor.schema.FileDefaultsAction | galaxy.workflow.refactor.schema.FillStepDefaultsAction | galaxy.workflow.refactor.schema.UpdateAnnotationAction | galaxy.workflow.refactor.schema.UpdateCreatorAction | galaxy.workflow.refactor.schema.UpdateNameAction | galaxy.workflow.refactor.schema.UpdateLicenseAction | galaxy.workflow.refactor.schema.UpdateOutputLabelAction | galaxy.workflow.refactor.schema.UpdateReportAction | galaxy.workflow.refactor.schema.UpdateStepLabelAction | galaxy.workflow.refactor.schema.UpdateStepPositionAction | galaxy.workflow.refactor.schema.UpgradeSubworkflowAction | galaxy.workflow.refactor.schema.UpgradeToolAction | galaxy.workflow.refactor.schema.UpgradeAllStepsAction | galaxy.workflow.refactor.schema.RemoveUnlabeledWorkflowOutputs[AddInputAction | AddStepAction | ConnectAction | DisconnectAction | ExtractInputAction | ExtractUntypedParameter | FileDefaultsAction | FillStepDefaultsAction | UpdateAnnotationAction | UpdateCreatorAction | UpdateNameAction | UpdateLicenseAction | UpdateOutputLabelAction | UpdateReportAction | UpdateStepLabelAction | UpdateStepPositionAction | UpgradeSubworkflowAction | UpgradeToolAction | UpgradeAllStepsAction | RemoveUnlabeledWorkflowOutputs]]
dry_run: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'actions': FieldInfo(annotation=List[Annotated[Union[galaxy.workflow.refactor.schema.AddInputAction, galaxy.workflow.refactor.schema.AddStepAction, galaxy.workflow.refactor.schema.ConnectAction, galaxy.workflow.refactor.schema.DisconnectAction, galaxy.workflow.refactor.schema.ExtractInputAction, galaxy.workflow.refactor.schema.ExtractUntypedParameter, galaxy.workflow.refactor.schema.FileDefaultsAction, galaxy.workflow.refactor.schema.FillStepDefaultsAction, galaxy.workflow.refactor.schema.UpdateAnnotationAction, galaxy.workflow.refactor.schema.UpdateCreatorAction, galaxy.workflow.refactor.schema.UpdateNameAction, galaxy.workflow.refactor.schema.UpdateLicenseAction, galaxy.workflow.refactor.schema.UpdateOutputLabelAction, galaxy.workflow.refactor.schema.UpdateReportAction, galaxy.workflow.refactor.schema.UpdateStepLabelAction, galaxy.workflow.refactor.schema.UpdateStepPositionAction, galaxy.workflow.refactor.schema.UpgradeSubworkflowAction, galaxy.workflow.refactor.schema.UpgradeToolAction, galaxy.workflow.refactor.schema.UpgradeAllStepsAction, galaxy.workflow.refactor.schema.RemoveUnlabeledWorkflowOutputs], FieldInfo(annotation=NoneType, required=True, discriminator='action_type')]], required=True), 'dry_run': FieldInfo(annotation=bool, required=False, default=False)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.RefactorActionExecutionMessageTypeEnum(value)[source]

Bases: str, Enum

An enumeration.

tool_version_change = 'tool_version_change'
tool_state_adjustment = 'tool_state_adjustment'
connection_drop_forced = 'connection_drop_forced'
workflow_output_drop_forced = 'workflow_output_drop_forced'
class galaxy.workflow.refactor.schema.RefactorActionExecutionMessage(*, message: str, message_type: RefactorActionExecutionMessageTypeEnum, step_label: str | None = None, order_index: int | None = None, input_name: str | None = None, output_name: str | None = None, from_step_label: str | None = None, from_order_index: int | None = None, output_label: str | None = None)[source]

Bases: BaseModel

message: str
message_type: RefactorActionExecutionMessageTypeEnum
step_label: str | None
order_index: int | None
input_name: str | None
output_name: str | None
from_step_label: str | None
from_order_index: int | None
output_label: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'from_order_index': FieldInfo(annotation=Union[int, NoneType], required=False, description='For dropped connections these optional attributes refer to the output\nside of the connection that was dropped.'), 'from_step_label': FieldInfo(annotation=Union[str, NoneType], required=False, description='For dropped connections these optional attributes refer to the output\nside of the connection that was dropped.'), 'input_name': FieldInfo(annotation=Union[str, NoneType], required=False, description="If this message is about an input to a step,\nthis field describes the target input name. $The input name as defined by the workflow module corresponding to the step being referenced. For Galaxy tool steps these inputs should be normalized using '|' (e.g. 'cond|repeat_0|input')."), 'message': FieldInfo(annotation=str, required=True), 'message_type': FieldInfo(annotation=RefactorActionExecutionMessageTypeEnum, required=True), 'order_index': FieldInfo(annotation=Union[int, NoneType], required=False, description="Reference to the step the message refers to. $\n\nMessages don't have to be bound to a step, but if they are they will\nhave a step_label and order_index included in the execution message.\nThese are the label and order_index before applying the refactoring,\nthe result of applying the action may change one or both of these.\nIf connections are dropped this step reference will refer to the\nstep with the previously connected input.\n"), 'output_label': FieldInfo(annotation=Union[str, NoneType], required=False, description='If the message_type is workflow_output_drop_forced, this is the output label dropped.'), 'output_name': FieldInfo(annotation=Union[str, NoneType], required=False, description='If this message is about an output to a step,\nthis field describes the target output name. The output name as defined by the workflow module corresponding to the step being referenced.\n'), 'step_label': FieldInfo(annotation=Union[str, NoneType], required=False, description="Reference to the step the message refers to. $\n\nMessages don't have to be bound to a step, but if they are they will\nhave a step_label and order_index included in the execution message.\nThese are the label and order_index before applying the refactoring,\nthe result of applying the action may change one or both of these.\nIf connections are dropped this step reference will refer to the\nstep with the previously connected input.\n")}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class galaxy.workflow.refactor.schema.RefactorActionExecution(*, action: AddInputAction | AddStepAction | ConnectAction | DisconnectAction | ExtractInputAction | ExtractUntypedParameter | FileDefaultsAction | FillStepDefaultsAction | UpdateAnnotationAction | UpdateCreatorAction | UpdateNameAction | UpdateLicenseAction | UpdateOutputLabelAction | UpdateReportAction | UpdateStepLabelAction | UpdateStepPositionAction | UpgradeSubworkflowAction | UpgradeToolAction | UpgradeAllStepsAction | RemoveUnlabeledWorkflowOutputs, messages: List[RefactorActionExecutionMessage])[source]

Bases: BaseModel

action: AddInputAction | AddStepAction | ConnectAction | DisconnectAction | ExtractInputAction | ExtractUntypedParameter | FileDefaultsAction | FillStepDefaultsAction | UpdateAnnotationAction | UpdateCreatorAction | UpdateNameAction | UpdateLicenseAction | UpdateOutputLabelAction | UpdateReportAction | UpdateStepLabelAction | UpdateStepPositionAction | UpgradeSubworkflowAction | UpgradeToolAction | UpgradeAllStepsAction | RemoveUnlabeledWorkflowOutputs
messages: List[RefactorActionExecutionMessage]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'action': FieldInfo(annotation=Union[AddInputAction, AddStepAction, ConnectAction, DisconnectAction, ExtractInputAction, ExtractUntypedParameter, FileDefaultsAction, FillStepDefaultsAction, UpdateAnnotationAction, UpdateCreatorAction, UpdateNameAction, UpdateLicenseAction, UpdateOutputLabelAction, UpdateReportAction, UpdateStepLabelAction, UpdateStepPositionAction, UpgradeSubworkflowAction, UpgradeToolAction, UpgradeAllStepsAction, RemoveUnlabeledWorkflowOutputs], required=True), 'messages': FieldInfo(annotation=List[galaxy.workflow.refactor.schema.RefactorActionExecutionMessage], required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

galaxy.workflow.refactor.schema.action_class

alias of RemoveUnlabeledWorkflowOutputs