Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

galaxy.tool_util.toolbox.lineages package

class galaxy.tool_util.toolbox.lineages.LineageMap(app)[source]

Bases: object

Map each unique tool id to a lineage object.

__init__(app)[source]
register(tool) ToolLineage[source]
get(tool_id) ToolLineage | None[source]

Get lineage for tool_id.

By preference the lineage for a version-agnostic tool_id is returned. Falls back to fetching the lineage only when this fails. This happens when the tool_id does not contain a version.

class galaxy.tool_util.toolbox.lineages.ToolLineage(tool_id, **kwds)[source]

Bases: object

Simple tool’s loaded directly from file system with lineage determined solely by PEP 440 versioning scheme.

lineages_by_id: Dict[str, ToolLineage] = {}
lock = <unlocked _thread.lock object>
__init__(tool_id, **kwds)[source]
property tool_ids: List[str]
static from_tool(tool) ToolLineage[source]
register_version(tool_version) None[source]
get_versions()[source]

Return an ordered list of lineages (ToolLineageVersion) in this chain, from oldest to newest.

get_version_ids(reverse=False) List[str][source]
to_dict() Dict[str, Any][source]

Submodules

galaxy.tool_util.toolbox.lineages.factory module

class galaxy.tool_util.toolbox.lineages.factory.LineageMap(app)[source]

Bases: object

Map each unique tool id to a lineage object.

__init__(app)[source]
register(tool) ToolLineage[source]
get(tool_id) ToolLineage | None[source]

Get lineage for tool_id.

By preference the lineage for a version-agnostic tool_id is returned. Falls back to fetching the lineage only when this fails. This happens when the tool_id does not contain a version.

galaxy.tool_util.toolbox.lineages.interface module

class galaxy.tool_util.toolbox.lineages.interface.ToolLineageVersion(id, version)[source]

Bases: object

Represents a single tool in a lineage. If lineage is based around GUIDs that somehow encode the version (either using GUID or a simple tool id and a version).

__init__(id, version)[source]
property id_based

Return True if the lineage is defined by GUIDs (in this case the indexer of the tools (i.e. the ToolBox) should ignore the tool_version (because it is encoded in the GUID and managed externally).

to_dict()[source]
class galaxy.tool_util.toolbox.lineages.interface.ToolLineage(tool_id, **kwds)[source]

Bases: object

Simple tool’s loaded directly from file system with lineage determined solely by PEP 440 versioning scheme.

lineages_by_id: Dict[str, ToolLineage] = {}
lock = <unlocked _thread.lock object>
__init__(tool_id, **kwds)[source]
property tool_ids: List[str]
static from_tool(tool) ToolLineage[source]
register_version(tool_version) None[source]
get_versions()[source]

Return an ordered list of lineages (ToolLineageVersion) in this chain, from oldest to newest.

get_version_ids(reverse=False) List[str][source]
to_dict() Dict[str, Any][source]