galaxy.tool_util.deps.container_resolvers package
The module defines the abstract interface for resolving container images for tool execution.
- class galaxy.tool_util.deps.container_resolvers.ResolutionCache(**kwds)[source]
Bases:
Bunch
Simple cache for duplicated computation created once per set of requests (likely web request in Galaxy context).
This should not be assumed to be thread safe - resolution using a given cache should all occur one resolution at a time in a single thread.
- class galaxy.tool_util.deps.container_resolvers.ContainerResolver(app_info: AppInfo, **kwds)[source]
Bases:
Dictifiable
Description of a technique for resolving container images for tool execution.
- dict_collection_visible_keys = ['resolver_type', 'can_uninstall_dependencies', 'builds_on_resolution']
- can_uninstall_dependencies = False
- builds_on_resolution = False
- read_only = True
- __init__(app_info: AppInfo, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- abstract resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
Submodules
galaxy.tool_util.deps.container_resolvers.explicit module
This module describes the ExplicitContainerResolver
ContainerResolver plugin.
- class galaxy.tool_util.deps.container_resolvers.explicit.ExplicitContainerResolver(app_info: AppInfo, **kwds)[source]
Bases:
ContainerResolver
Find explicit containers referenced in the tool description (e.g. tool XML file) if present.
- resolver_type = 'explicit'
- class galaxy.tool_util.deps.container_resolvers.explicit.ExplicitSingularityContainerResolver(app_info: AppInfo, **kwds)[source]
Bases:
ExplicitContainerResolver
- resolver_type = 'explicit_singularity'
- container_type = 'singularity'
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container explicitly mentioned in tool description.
This ignores the tool requirements and assumes the tool author crafted a correct container. We use singularity here to fetch docker containers, hence the container_description hack here.
- class galaxy.tool_util.deps.container_resolvers.explicit.CachedExplicitSingularityContainerResolver(app_info: AppInfo, **kwargs)[source]
Bases:
CliContainerResolver
- resolver_type = 'cached_explicit_singularity'
- container_type = 'singularity'
- cli = 'singularity'
- __init__(app_info: AppInfo, **kwargs) None [source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, install: bool = False, **kwds) ContainerDescription | None [source]
Find a container explicitly mentioned in tool description.
This ignores the tool requirements and assumes the tool author crafted a correct container. We use singularity here to fetch docker containers, hence the container_description hack here.
- class galaxy.tool_util.deps.container_resolvers.explicit.FallbackContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
BaseAdminConfiguredContainerResolver
Specify an explicit, identified container as a Docker container resolver.
- resolver_type = 'fallback'
- container_type = 'docker'
- __init__(app_info: AppInfo, identifier: str = '', **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.explicit.FallbackSingularityContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
FallbackContainerResolver
Specify an explicit, identified container as a Singularity container resolver.
- resolver_type = 'fallback_singularity'
- container_type = 'singularity'
- class galaxy.tool_util.deps.container_resolvers.explicit.FallbackNoRequirementsContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
FallbackContainerResolver
- resolver_type = 'fallback_no_requirements'
- class galaxy.tool_util.deps.container_resolvers.explicit.FallbackNoRequirementsSingularityContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
FallbackNoRequirementsContainerResolver
- resolver_type = 'fallback_no_requirements_singularity'
- container_type = 'singularity'
- class galaxy.tool_util.deps.container_resolvers.explicit.MappingContainerResolver(app_info: AppInfo, **kwds)[source]
Bases:
BaseAdminConfiguredContainerResolver
- resolver_type = 'mapping'
- __init__(app_info: AppInfo, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.explicit.RequiresGalaxyEnvironmentContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
FallbackContainerResolver
- resolver_type = 'requires_galaxy_environment'
- class galaxy.tool_util.deps.container_resolvers.explicit.RequiresGalaxyEnvironmentSingularityContainerResolver(app_info: AppInfo, identifier: str = '', **kwds)[source]
Bases:
RequiresGalaxyEnvironmentContainerResolver
- resolver_type = 'requires_galaxy_environment_singularity'
- container_type = 'singularity'
galaxy.tool_util.deps.container_resolvers.mulled module
This module describes the MulledContainerResolver
ContainerResolver plugin.
- class galaxy.tool_util.deps.container_resolvers.mulled.CachedMulledDockerContainerResolver(app_info: AppInfo, namespace: str = 'biocontainers', hash_func: typing_extensions.Literal[v1, v2] = 'v2', **kwds)[source]
Bases:
CliContainerResolver
- resolver_type = 'cached_mulled'
- shell = '/bin/bash'
- __init__(app_info: AppInfo, namespace: str = 'biocontainers', hash_func: typing_extensions.Literal[v1, v2] = 'v2', **kwds)[source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.mulled.CachedMulledSingularityContainerResolver(app_info: AppInfo, hash_func: typing_extensions.Literal[v1, v2] = 'v2', **kwargs)[source]
Bases:
SingularityCliContainerResolver
- resolver_type = 'cached_mulled_singularity'
- shell = '/bin/bash'
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.mulled.MulledDockerContainerResolver(app_info: AppInfo, namespace: str = 'biocontainers', hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds)[source]
Bases:
CliContainerResolver
Look for mulled images matching tool dependencies.
- resolver_type = 'mulled'
- shell = '/bin/bash'
- __init__(app_info: AppInfo, namespace: str = 'biocontainers', hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- cached_container_description(targets: List[CondaTarget], namespace: str, hash_func: typing_extensions.Literal[v1, v2], resolution_cache: ResolutionCache | None = None) ContainerDescription | None [source]
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, install: bool = False, session: Session | None = None, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.mulled.MulledSingularityContainerResolver(app_info: AppInfo, hash_func: typing_extensions.Literal[v1, v2] = 'v2', namespace: str = 'biocontainers', auto_install: bool = True, **kwds)[source]
Bases:
SingularityCliContainerResolver
,MulledDockerContainerResolver
- resolver_type = 'mulled_singularity'
- __init__(app_info: AppInfo, hash_func: typing_extensions.Literal[v1, v2] = 'v2', namespace: str = 'biocontainers', auto_install: bool = True, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- cached_container_description(targets: List[CondaTarget], namespace: str, hash_func: typing_extensions.Literal[v1, v2], resolution_cache: ResolutionCache | None = None) ContainerDescription | None [source]
- class galaxy.tool_util.deps.container_resolvers.mulled.BuildMulledDockerContainerResolver(app_info: AppInfo, namespace: str = 'local', hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds)[source]
Bases:
CliContainerResolver
Build for Docker mulled images matching tool dependencies.
- resolver_type = 'build_mulled'
- shell = '/bin/bash'
- builds_on_resolution = True
- __init__(app_info: AppInfo, namespace: str = 'local', hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, install: bool = False, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.
- class galaxy.tool_util.deps.container_resolvers.mulled.BuildMulledSingularityContainerResolver(app_info: AppInfo, hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds)[source]
Bases:
SingularityCliContainerResolver
Build for Singularity mulled images matching tool dependencies.
- resolver_type = 'build_mulled_singularity'
- shell = '/bin/bash'
- builds_on_resolution = True
- __init__(app_info: AppInfo, hash_func: typing_extensions.Literal[v1, v2] = 'v2', auto_install: bool = True, **kwds) None [source]
Default initializer for
ContainerResolver
subclasses.
- resolve(enabled_container_types: Container[str], tool_info: ToolInfo, install: bool = False, **kwds) ContainerDescription | None [source]
Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.dependencies.ToolInfo
description of the tool and its requirements.