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.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:
galaxy.util.bunch.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=None, **kwds)[source]¶ Bases:
galaxy.util.dictifiable.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¶
-
resolve
(enabled_container_types, tool_info, resolution_cache=None, **kwds)[source]¶ Find a container matching all supplied requirements for tool.
The supplied argument is a
galaxy.tool_util.deps.containers.ToolInfo
description of the tool and its requirements.
-
resolver_type
¶ Short label for the type of container resolution.
-
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=None, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.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=None, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.ExplicitContainerResolver
-
resolver_type
= 'explicit_singularity'¶
-
container_type
= 'singularity'¶
-
resolve
(enabled_container_types, tool_info, **kwds)[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=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.BaseAdminConfiguredContainerResolver
Specify an explicit, identified container as a Docker container resolver.
-
resolver_type
= 'fallback'¶
-
container_type
= 'docker'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.explicit.
FallbackSingularityContainerResolver
(app_info=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.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=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.FallbackContainerResolver
-
resolver_type
= 'fallback_no_requirements'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.explicit.
FallbackNoRequirementsSingularityContainerResolver
(app_info=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.FallbackNoRequirementsContainerResolver
-
resolver_type
= 'fallback_no_requirements_singularity'¶
-
container_type
= 'singularity'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.explicit.
RequiresGalaxyEnvironmentContainerResolver
(app_info=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.FallbackContainerResolver
-
resolver_type
= 'requires_galaxy_environment'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.explicit.
RequiresGalaxyEnvironmentSingularityContainerResolver
(app_info=None, identifier='', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.explicit.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=None, namespace='biocontainers', hash_func='v2', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.CliContainerResolver
-
resolver_type
= 'cached_mulled'¶
-
shell
= '/bin/bash'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.mulled.
CachedMulledSingularityContainerResolver
(app_info=None, hash_func='v2', **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.SingularityCliContainerResolver
-
resolver_type
= 'cached_mulled_singularity'¶
-
shell
= '/bin/bash'¶
-
-
class
galaxy.tool_util.deps.container_resolvers.mulled.
MulledDockerContainerResolver
(app_info=None, namespace='biocontainers', hash_func='v2', auto_install=True, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.CliContainerResolver
Look for mulled images matching tool dependencies.
-
resolver_type
= 'mulled'¶
-
shell
= '/bin/bash'¶
-
protocol
= None¶
-
__init__
(app_info=None, namespace='biocontainers', hash_func='v2', auto_install=True, **kwds)[source]¶
-
can_list_containers
¶
-
-
class
galaxy.tool_util.deps.container_resolvers.mulled.
MulledSingularityContainerResolver
(app_info=None, namespace='biocontainers', hash_func='v2', auto_install=True, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.SingularityCliContainerResolver
,galaxy.tool_util.deps.container_resolvers.mulled.MulledDockerContainerResolver
-
resolver_type
= 'mulled_singularity'¶
-
protocol
= 'docker://'¶
-
__init__
(app_info=None, namespace='biocontainers', hash_func='v2', auto_install=True, **kwds)[source]¶
-
can_list_containers
¶
-
-
class
galaxy.tool_util.deps.container_resolvers.mulled.
BuildMulledDockerContainerResolver
(app_info=None, namespace='local', hash_func='v2', auto_install=True, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.CliContainerResolver
Build for Docker mulled images matching tool dependencies.
-
resolver_type
= 'build_mulled'¶
-
shell
= '/bin/bash'¶
-
builds_on_resolution
= True¶
-
-
class
galaxy.tool_util.deps.container_resolvers.mulled.
BuildMulledSingularityContainerResolver
(app_info=None, hash_func='v2', auto_install=True, **kwds)[source]¶ Bases:
galaxy.tool_util.deps.container_resolvers.mulled.SingularityCliContainerResolver
Build for Singularity mulled images matching tool dependencies.
-
resolver_type
= 'build_mulled_singularity'¶
-
shell
= '/bin/bash'¶
-
builds_on_resolution
= True¶
-