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.files package

class galaxy.files.FileSourcePath(file_source, path)[source]

Bases: tuple

file_source: BaseFilesSource

Alias for field number 0

path: str

Alias for field number 1

class galaxy.files.FileSourceScore(file_source, score)[source]

Bases: tuple

file_source: BaseFilesSource

Alias for field number 0

score: int

Alias for field number 1

exception galaxy.files.NoMatchingFileSource[source]

Bases: Exception

class galaxy.files.UserDefinedFileSources(*args, **kwargs)[source]

Bases: Protocol

Entry-point for Galaxy to inject user-defined object stores.

Supplied object of this class is used to write out concrete description of file sources when serializing all file sources available to a user.

validate_uri_root(uri: str, user_context: FileSourcesUserContext) None[source]
find_best_match(url: str) FileSourceScore | None[source]
user_file_sources_to_dicts(for_serialization: bool, user_context: FileSourcesUserContext, browsable_only: bool | None = False, include_kind: Set[PluginKind] | None = None, exclude_kind: Set[PluginKind] | None = None) List[FilesSourceProperties][source]

Write out user file sources as list of config dictionaries.

__init__(*args, **kwargs)
class galaxy.files.NullUserDefinedFileSources(*args, **kwargs)[source]

Bases: UserDefinedFileSources

validate_uri_root(uri: str, user_context: FileSourcesUserContext) None[source]
find_best_match(url: str) FileSourceScore | None[source]
user_file_sources_to_dicts(for_serialization: bool, user_context: FileSourcesUserContext, browsable_only: bool | None = False, include_kind: Set[PluginKind] | None = None, exclude_kind: Set[PluginKind] | None = None) List[FilesSourceProperties][source]

Write out user file sources as list of config dictionaries.

class galaxy.files.ConfiguredFileSourcesConf(conf_dict: Dict[str, Any] | List[Dict[str, Any]] | None = None, conf_file: str | None = None)[source]

Bases: object

__init__(conf_dict: Dict[str, Any] | List[Dict[str, Any]] | None = None, conf_file: str | None = None)[source]
conf_dict: Dict[str, Any] | List[Dict[str, Any]] | None
conf_file: str | None
static from_app_config(config)[source]
class galaxy.files.ConfiguredFileSources(file_sources_config: FileSourcePluginsConfig, configured_file_source_conf: ConfiguredFileSourcesConf | None = None, load_stock_plugins: bool = False, plugin_loader: FileSourcePluginLoader | None = None, user_defined_file_sources: UserDefinedFileSources | None = None)[source]

Bases: object

Load plugins and resolve Galaxy URIs to FileSource objects.

__init__(file_sources_config: FileSourcePluginsConfig, configured_file_source_conf: ConfiguredFileSourcesConf | None = None, load_stock_plugins: bool = False, plugin_loader: FileSourcePluginLoader | None = None, user_defined_file_sources: UserDefinedFileSources | None = None)[source]
find_best_match(url: str) BaseFilesSource | None[source]

Returns the best matching file source for handling a particular url. Each filesource scores its own ability to match a particular url, and the highest scorer with a score > 0 is selected.

get_file_source_path(uri)[source]

Parse uri into a FileSource object and a path relative to its base.

validate_uri_root(uri: str, user_context: FileSourcesUserContext)[source]
looks_like_uri(path_or_uri)[source]
plugins_to_dict(for_serialization: bool = False, user_context: FileSourcesUserContext | None = None, browsable_only: bool | None = False, include_kind: Set[PluginKind] | None = None, exclude_kind: Set[PluginKind] | None = None) List[FilesSourceProperties][source]
to_dict(for_serialization: bool = False, user_context: FileSourcesUserContext | None = None) Dict[str, Any][source]
static from_dict(as_dict, load_stock_plugins=False)[source]
class galaxy.files.NullConfiguredFileSources[source]

Bases: ConfiguredFileSources

__init__()[source]
class galaxy.files.DictifiableFilesSourceContext(*args, **kwargs)[source]

Bases: Protocol

property role_names: Set[str]
property group_names: Set[str]
property file_sources: ConfiguredFileSources
to_dict(view: str = 'collection', value_mapper: Dict[str, Callable] | None = None) Dict[str, Any][source]
__init__(*args, **kwargs)
class galaxy.files.FileSourceDictifiable(*args, **kwargs)[source]

Bases: Dictifiable, DictifiableFilesSourceContext

dict_collection_visible_keys = ('email', 'username', 'ftp_dir', 'preferences', 'is_admin')
to_dict(view='collection', value_mapper: Dict[str, Callable] | None = None) Dict[str, Any][source]

Return item dictionary.

class galaxy.files.FileSourcesUserContext(*args, **kwargs)[source]

Bases: DictifiableFilesSourceContext, Protocol

property email: str | None
property username: str | None
property ftp_dir: str | None
property preferences: Dict[str, Any]
property is_admin: bool
property user_vault: Dict[str, Any]
property app_vault: Dict[str, Any]
property anonymous: bool
__init__(*args, **kwargs)
class galaxy.files.ProvidesFileSourcesUserContext(trans, **kwargs)[source]

Bases: FileSourcesUserContext, FileSourceDictifiable

Implement a FileSourcesUserContext from a Galaxy ProvidesUserContext (e.g. trans).

__init__(trans, **kwargs)[source]
property email: str | None
property username: str | None
property ftp_dir
property preferences
property role_names: Set[str]

The set of role names of this user.

property group_names: Set[str]

The set of group names to which this user belongs.

property is_admin

Whether this user is an administrator.

property user_vault

User vault namespace

property app_vault

App vault namespace

property file_sources
property anonymous: bool
class galaxy.files.DictFileSourcesUserContext(**kwd)[source]

Bases: FileSourcesUserContext, FileSourceDictifiable

__init__(**kwd)[source]
property email
property username: str | None
property ftp_dir
property preferences
property role_names
property group_names
property is_admin
property user_vault
property app_vault
property file_sources
property anonymous: bool

Subpackages

Submodules

galaxy.files.uris module

galaxy.files.uris.stream_url_to_str(path: str, file_sources: ConfiguredFileSources | None = None, prefix: str = 'gx_file_stream') str[source]
galaxy.files.uris.stream_url_to_file(url: str, file_sources: ConfiguredFileSources | None = None, prefix: str = 'gx_file_stream', dir: str | None = None, user_context=None, target_path: str | None = None, file_source_opts: FilesSourceOptions | None = None) str[source]
galaxy.files.uris.ensure_file_sources(file_sources: ConfiguredFileSources | None) ConfiguredFileSources[source]
galaxy.files.uris.stream_to_file(stream, suffix='', prefix='', dir=None, text=False, **kwd)[source]

Writes a stream to a temporary file, returns the temporary file’s name

galaxy.files.uris.validate_uri_access(uri: str, is_admin: bool, ip_allowlist: List[IPv4Address | IPv6Address | IPv4Network | IPv6Network]) None[source]

Perform uniform checks on supplied URIs.

  • Prevent access to local IPs not found in ip_allowlist.

  • Don’t allow non-admins to access file:// URIs.

galaxy.files.uris.split_port(parsed_url: str, url: str) Tuple[str, int][source]
galaxy.files.uris.validate_non_local(uri: str, ip_allowlist: List[IPv4Address | IPv6Address | IPv4Network | IPv6Network]) str[source]