diff --git a/.flake8 b/.flake8
index 3e086e9d128..d73f6bbb841 100644
--- a/.flake8
+++ b/.flake8
@@ -4,7 +4,8 @@
# E203 is whitespace before ':'; we follow black's formatting here. See https://black.readthedocs.io/en/stable/faq.html#why-are-flake8-s-e203-and-w503-violated
# E402 module level import not at top of file # TODO, we would like to improve this.
# E501 is line length (delegated to black)
+# E701,E704 are multiple statements on one line; we follow black's formatting here. See https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#configuration
# W503 is line breaks before binary operators, which has been reversed in PEP 8.
# D** are docstring linting - which we mostly ignore except D302. (Hopefully we will solve more over time).
-ignore = B008,E203,E402,E501,W503,D100,D101,D102,D103,D104,D105,D106,D107,D200,D201,D202,D204,D205,D206,D207,D208,D209,D210,D211,D300,D301,D400,D401,D402,D403,D412,D413
+ignore = B008,E203,E402,E501,E701,E704,W503,D100,D101,D102,D103,D104,D105,D106,D107,D200,D201,D202,D204,D205,D206,D207,D208,D209,D210,D211,D300,D301,D400,D401,D402,D403,D412,D413
exclude = lib/tool_shed/test/test_data/repos
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 2d300c18a3c..3174f6ceb5d 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -55,6 +55,4 @@ jobs:
- name: Run mypy checks
run: tox -e mypy
- uses: psf/black@stable
- with:
- version: "23.3.0"
- uses: isort/isort-action@master
diff --git a/lib/galaxy/actions/library.py b/lib/galaxy/actions/library.py
index 32d55570016..5962474bbf2 100644
--- a/lib/galaxy/actions/library.py
+++ b/lib/galaxy/actions/library.py
@@ -1,6 +1,7 @@
"""
Contains library functions
"""
+
import json
import logging
import os.path
diff --git a/lib/galaxy/app_unittest_utils/galaxy_mock.py b/lib/galaxy/app_unittest_utils/galaxy_mock.py
index 9a9e21cbddc..c33e3b43332 100644
--- a/lib/galaxy/app_unittest_utils/galaxy_mock.py
+++ b/lib/galaxy/app_unittest_utils/galaxy_mock.py
@@ -1,6 +1,7 @@
"""
Mock infrastructure for testing ModelManagers.
"""
+
import os
import shutil
import tempfile
diff --git a/lib/galaxy/auth/__init__.py b/lib/galaxy/auth/__init__.py
index 388e4ac2beb..87bc7a43da2 100644
--- a/lib/galaxy/auth/__init__.py
+++ b/lib/galaxy/auth/__init__.py
@@ -1,6 +1,7 @@
"""
Contains implementations of the authentication logic.
"""
+
import logging
from galaxy.auth.util import (
diff --git a/lib/galaxy/auth/providers/__init__.py b/lib/galaxy/auth/providers/__init__.py
index 7e885fb0775..491a253c051 100644
--- a/lib/galaxy/auth/providers/__init__.py
+++ b/lib/galaxy/auth/providers/__init__.py
@@ -3,6 +3,7 @@ Created on 15/07/2014
@author: Andrew Robinson
"""
+
import abc
diff --git a/lib/galaxy/auth/providers/alwaysreject.py b/lib/galaxy/auth/providers/alwaysreject.py
index 1c21adc834f..e30d703d3b5 100644
--- a/lib/galaxy/auth/providers/alwaysreject.py
+++ b/lib/galaxy/auth/providers/alwaysreject.py
@@ -3,6 +3,7 @@ Created on 16/07/2014
@author: Andrew Robinson
"""
+
import logging
from . import AuthProvider
diff --git a/lib/galaxy/auth/providers/ldap_ad.py b/lib/galaxy/auth/providers/ldap_ad.py
index 9f540e489d9..259f30df967 100644
--- a/lib/galaxy/auth/providers/ldap_ad.py
+++ b/lib/galaxy/auth/providers/ldap_ad.py
@@ -89,7 +89,6 @@ def _parse_ldap_options(options_unparsed):
class LDAP(AuthProvider):
-
"""
Attempts to authenticate users against an LDAP server.
diff --git a/lib/galaxy/auth/providers/localdb.py b/lib/galaxy/auth/providers/localdb.py
index bd5c765af20..7e3e02bf2d1 100644
--- a/lib/galaxy/auth/providers/localdb.py
+++ b/lib/galaxy/auth/providers/localdb.py
@@ -3,6 +3,7 @@ Created on 16/07/2014
@author: Andrew Robinson
"""
+
import logging
from . import AuthProvider
diff --git a/lib/galaxy/auth/providers/pam_auth.py b/lib/galaxy/auth/providers/pam_auth.py
index 46819eaae30..349d291d36d 100644
--- a/lib/galaxy/auth/providers/pam_auth.py
+++ b/lib/galaxy/auth/providers/pam_auth.py
@@ -3,6 +3,7 @@ Created on 13/07/2015
Author Peter van Heusden (pvh@sanbi.ac.za)
"""
+
import logging
import shlex
diff --git a/lib/galaxy/config/__init__.py b/lib/galaxy/config/__init__.py
index 18c920b9269..ff3ea85a5ae 100644
--- a/lib/galaxy/config/__init__.py
+++ b/lib/galaxy/config/__init__.py
@@ -1,6 +1,7 @@
"""
Universe configuration builder.
"""
+
# absolute_import needed for tool_shed package.
import configparser
@@ -231,9 +232,9 @@ class BaseAppConfiguration(HasDynamicProperties):
# If VALUE == first directory in a user-supplied path that resolves to KEY, it will be stripped from that path
renamed_options: Optional[Dict[str, str]] = None
deprecated_dirs: Dict[str, str] = {}
- paths_to_check_against_root: Set[
- str
- ] = set() # backward compatibility: if resolved path doesn't exist, try resolving w.r.t root
+ paths_to_check_against_root: Set[str] = (
+ set()
+ ) # backward compatibility: if resolved path doesn't exist, try resolving w.r.t root
add_sample_file_to_defaults: Set[str] = set() # for these options, add sample config files to their defaults
listify_options: Set[str] = set() # values for these options are processed as lists of values
object_store_store_by: str
diff --git a/lib/galaxy/datatypes/anvio.py b/lib/galaxy/datatypes/anvio.py
index f36cb6a96b5..a6feff14af5 100644
--- a/lib/galaxy/datatypes/anvio.py
+++ b/lib/galaxy/datatypes/anvio.py
@@ -2,6 +2,7 @@
Datatypes for Anvi'o
https://github.com/merenlab/anvio
"""
+
import glob
import logging
import os
diff --git a/lib/galaxy/datatypes/checkers.py b/lib/galaxy/datatypes/checkers.py
index 600fecd8f18..79b786c0cf5 100644
--- a/lib/galaxy/datatypes/checkers.py
+++ b/lib/galaxy/datatypes/checkers.py
@@ -2,6 +2,7 @@
External datatypes may make use of these functions.
"""
+
from galaxy.util.checkers import (
check_binary,
check_bz2,
diff --git a/lib/galaxy/datatypes/constructive_solid_geometry.py b/lib/galaxy/datatypes/constructive_solid_geometry.py
index e55c232dee3..da87ae49380 100644
--- a/lib/galaxy/datatypes/constructive_solid_geometry.py
+++ b/lib/galaxy/datatypes/constructive_solid_geometry.py
@@ -193,6 +193,7 @@ class Vtk:
TODO: only legacy formats are currently supported and support for XML formats
should be added.
"""
+
subtype = ""
# Add metadata elements.
MetadataElement(name="vtk_version", default=None, desc="Vtk version", readonly=True, optional=True, visible=True)
diff --git a/lib/galaxy/datatypes/converters/interval_to_fli.py b/lib/galaxy/datatypes/converters/interval_to_fli.py
index fb2d1351460..c79dd979995 100644
--- a/lib/galaxy/datatypes/converters/interval_to_fli.py
+++ b/lib/galaxy/datatypes/converters/interval_to_fli.py
@@ -13,6 +13,7 @@ where location is formatted as:
and symbols are sorted in lexigraphical order.
"""
+
import optparse
from bx.tabular.io import (
diff --git a/lib/galaxy/datatypes/data.py b/lib/galaxy/datatypes/data.py
index 5b4d92ed11c..e169064d89b 100644
--- a/lib/galaxy/datatypes/data.py
+++ b/lib/galaxy/datatypes/data.py
@@ -425,9 +425,9 @@ class Data(metaclass=DataMeta):
self, dataset: DatasetHasHidProtocol, to_ext: Optional[str], headers: Headers, **kwd
) -> Tuple[IO, Headers]:
headers["Content-Length"] = str(os.stat(dataset.get_file_name()).st_size)
- headers[
- "content-type"
- ] = "application/octet-stream" # force octet-stream so Safari doesn't append mime extensions to filename
+ headers["content-type"] = (
+ "application/octet-stream" # force octet-stream so Safari doesn't append mime extensions to filename
+ )
filename = self._download_filename(
dataset,
to_ext,
@@ -476,9 +476,9 @@ class Data(metaclass=DataMeta):
element_identifier=kwd.get("element_identifier"),
filename_pattern=kwd.get("filename_pattern"),
)
- headers[
- "content-type"
- ] = "application/octet-stream" # force octet-stream so Safari doesn't append mime extensions to filename
+ headers["content-type"] = (
+ "application/octet-stream" # force octet-stream so Safari doesn't append mime extensions to filename
+ )
headers["Content-Disposition"] = f'attachment; filename="{filename}"'
return open(data.get_file_name(), "rb"), headers
diff --git a/lib/galaxy/datatypes/dataproviders/base.py b/lib/galaxy/datatypes/dataproviders/base.py
index 6b4949111f3..30f02eea525 100644
--- a/lib/galaxy/datatypes/dataproviders/base.py
+++ b/lib/galaxy/datatypes/dataproviders/base.py
@@ -1,6 +1,7 @@
"""
Base class(es) for all DataProviders.
"""
+
# there's a blurry line between functionality here and functionality in datatypes module
# attempting to keep parsing to a minimum here and focus on chopping/pagination/reformat(/filtering-maybe?)
# and using as much pre-computed info/metadata from the datatypes module as possible
diff --git a/lib/galaxy/datatypes/dataproviders/chunk.py b/lib/galaxy/datatypes/dataproviders/chunk.py
index 66cd3540ac0..1ee5c54bcdb 100644
--- a/lib/galaxy/datatypes/dataproviders/chunk.py
+++ b/lib/galaxy/datatypes/dataproviders/chunk.py
@@ -4,6 +4,7 @@ Chunk (N number of bytes at M offset to a source's beginning) provider.
Primarily for file sources but usable by any iterator that has both
seek and read( N ).
"""
+
import base64
import logging
import os
diff --git a/lib/galaxy/datatypes/dataproviders/column.py b/lib/galaxy/datatypes/dataproviders/column.py
index 34cee4b8d76..28ebffa4b01 100644
--- a/lib/galaxy/datatypes/dataproviders/column.py
+++ b/lib/galaxy/datatypes/dataproviders/column.py
@@ -2,6 +2,7 @@
Providers that provide lists of lists generally where each line of a source
is further subdivided into multiple data (e.g. columns from a line).
"""
+
import logging
import re
from urllib.parse import unquote_plus
diff --git a/lib/galaxy/datatypes/dataproviders/dataset.py b/lib/galaxy/datatypes/dataproviders/dataset.py
index ef235e168ea..dfce2edef52 100644
--- a/lib/galaxy/datatypes/dataproviders/dataset.py
+++ b/lib/galaxy/datatypes/dataproviders/dataset.py
@@ -5,6 +5,7 @@ Dataproviders that use either:
- or provide data in some way relevant to bioinformatic data
(e.g. parsing genomic regions from their source)
"""
+
import logging
import sys
diff --git a/lib/galaxy/datatypes/dataproviders/external.py b/lib/galaxy/datatypes/dataproviders/external.py
index 412a3446c7e..49d37236fd0 100644
--- a/lib/galaxy/datatypes/dataproviders/external.py
+++ b/lib/galaxy/datatypes/dataproviders/external.py
@@ -2,6 +2,7 @@
Data providers that iterate over a source that is not in memory
or not in a file.
"""
+
import gzip
import logging
import subprocess
diff --git a/lib/galaxy/datatypes/dataproviders/hierarchy.py b/lib/galaxy/datatypes/dataproviders/hierarchy.py
index 6ee9d5b992c..215d67c38d9 100644
--- a/lib/galaxy/datatypes/dataproviders/hierarchy.py
+++ b/lib/galaxy/datatypes/dataproviders/hierarchy.py
@@ -1,6 +1,7 @@
"""
Dataproviders that iterate over lines from their sources.
"""
+
import logging
from galaxy.util import (
diff --git a/lib/galaxy/datatypes/dataproviders/line.py b/lib/galaxy/datatypes/dataproviders/line.py
index 560be0e9e0c..d47215b5838 100644
--- a/lib/galaxy/datatypes/dataproviders/line.py
+++ b/lib/galaxy/datatypes/dataproviders/line.py
@@ -1,6 +1,7 @@
"""
Dataproviders that iterate over lines from their sources.
"""
+
import collections
import logging
import re
diff --git a/lib/galaxy/datatypes/genetics.py b/lib/galaxy/datatypes/genetics.py
index 1f825accc10..82fc5772040 100644
--- a/lib/galaxy/datatypes/genetics.py
+++ b/lib/galaxy/datatypes/genetics.py
@@ -11,6 +11,7 @@ subsequent row values are all numeric ! Will fail if any non numeric (eg '+' or
ross lazarus for rgenetics
august 20 2007
"""
+
import logging
import os
import re
diff --git a/lib/galaxy/datatypes/gis.py b/lib/galaxy/datatypes/gis.py
index 7e148e6bf3a..8904bc8f581 100644
--- a/lib/galaxy/datatypes/gis.py
+++ b/lib/galaxy/datatypes/gis.py
@@ -1,6 +1,7 @@
"""
GIS classes
"""
+
from galaxy.datatypes.binary import Binary
from galaxy.datatypes.protocols import (
DatasetProtocol,
diff --git a/lib/galaxy/datatypes/goldenpath.py b/lib/galaxy/datatypes/goldenpath.py
index 1347f21f740..94ce38b547b 100644
--- a/lib/galaxy/datatypes/goldenpath.py
+++ b/lib/galaxy/datatypes/goldenpath.py
@@ -365,7 +365,6 @@ class AGPLine(metaclass=abc.ABCMeta):
class AGPSeqLine(AGPLine):
-
"""
A subclass of AGPLine specifically for AGP lines that represent sequences.
"""
@@ -462,7 +461,6 @@ class AGPSeqLine(AGPLine):
class AGPGapLine(AGPLine):
-
"""
A subclass of AGPLine specifically for AGP lines that represent sequence gaps.
"""
diff --git a/lib/galaxy/datatypes/graph.py b/lib/galaxy/datatypes/graph.py
index a623daadf26..b7f8488383b 100644
--- a/lib/galaxy/datatypes/graph.py
+++ b/lib/galaxy/datatypes/graph.py
@@ -1,6 +1,7 @@
"""
Graph content classes.
"""
+
import logging
from typing import List
diff --git a/lib/galaxy/datatypes/hdf5.py b/lib/galaxy/datatypes/hdf5.py
index 87e8a70d82d..3f40b2a496a 100644
--- a/lib/galaxy/datatypes/hdf5.py
+++ b/lib/galaxy/datatypes/hdf5.py
@@ -2,6 +2,7 @@
This datatype was created for use with the iSEE interactive tool.
"""
+
from typing import Optional
from galaxy.datatypes.data import Data
diff --git a/lib/galaxy/datatypes/images.py b/lib/galaxy/datatypes/images.py
index 9471efb193f..3420b1be183 100644
--- a/lib/galaxy/datatypes/images.py
+++ b/lib/galaxy/datatypes/images.py
@@ -1,6 +1,7 @@
"""
Image classes
"""
+
import base64
import json
import logging
diff --git a/lib/galaxy/datatypes/interval.py b/lib/galaxy/datatypes/interval.py
index 56672f40832..c36a822ac39 100644
--- a/lib/galaxy/datatypes/interval.py
+++ b/lib/galaxy/datatypes/interval.py
@@ -1,6 +1,7 @@
"""
Interval datatypes
"""
+
import logging
import sys
import tempfile
diff --git a/lib/galaxy/datatypes/media.py b/lib/galaxy/datatypes/media.py
index 2dd2b1a6a11..53b743485de 100644
--- a/lib/galaxy/datatypes/media.py
+++ b/lib/galaxy/datatypes/media.py
@@ -1,4 +1,5 @@
"""Video classes"""
+
import json
import subprocess
import wave
diff --git a/lib/galaxy/datatypes/mothur.py b/lib/galaxy/datatypes/mothur.py
index b47f8a271b4..f025b16805a 100644
--- a/lib/galaxy/datatypes/mothur.py
+++ b/lib/galaxy/datatypes/mothur.py
@@ -1,6 +1,7 @@
"""
Mothur Metagenomics Datatypes
"""
+
import logging
import re
from typing import (
diff --git a/lib/galaxy/datatypes/neo4j.py b/lib/galaxy/datatypes/neo4j.py
index c414ceb8b2b..608b19c0d9c 100644
--- a/lib/galaxy/datatypes/neo4j.py
+++ b/lib/galaxy/datatypes/neo4j.py
@@ -1,6 +1,7 @@
"""
Neo4j Composite Dataset
"""
+
import logging
from galaxy.datatypes.data import Data
diff --git a/lib/galaxy/datatypes/ngsindex.py b/lib/galaxy/datatypes/ngsindex.py
index a423f2371ab..41d59432fbb 100644
--- a/lib/galaxy/datatypes/ngsindex.py
+++ b/lib/galaxy/datatypes/ngsindex.py
@@ -1,6 +1,7 @@
"""
NGS indexes
"""
+
import logging
import os
diff --git a/lib/galaxy/datatypes/phylip.py b/lib/galaxy/datatypes/phylip.py
index 7a903bb5e6b..0ae1066113a 100644
--- a/lib/galaxy/datatypes/phylip.py
+++ b/lib/galaxy/datatypes/phylip.py
@@ -7,6 +7,7 @@ Created on January. 05, 2018
@githuborganization: C3BI
Phylip datatype sniffer
"""
+
from typing import TYPE_CHECKING
from galaxy import util
diff --git a/lib/galaxy/datatypes/proteomics.py b/lib/galaxy/datatypes/proteomics.py
index f65c2eb5f1a..d691e98f0bf 100644
--- a/lib/galaxy/datatypes/proteomics.py
+++ b/lib/galaxy/datatypes/proteomics.py
@@ -1,6 +1,7 @@
"""
Proteomics Datatypes
"""
+
import logging
import re
from typing import (
diff --git a/lib/galaxy/datatypes/protocols.py b/lib/galaxy/datatypes/protocols.py
index 150866a8ada..bbd702538b7 100644
--- a/lib/galaxy/datatypes/protocols.py
+++ b/lib/galaxy/datatypes/protocols.py
@@ -1,37 +1,33 @@
"""
Location of protocols used in datatypes
"""
+
from typing import Any
from typing_extensions import Protocol
class HasClearAssociatedFiles(Protocol):
- def clear_associated_files(self, metadata_safe: bool = False, purge: bool = False) -> None:
- ...
+ def clear_associated_files(self, metadata_safe: bool = False, purge: bool = False) -> None: ...
class HasCreatingJob(Protocol):
@property
- def creating_job(self):
- ...
+ def creating_job(self): ...
class HasExt(Protocol):
@property
- def ext(self):
- ...
+ def ext(self): ...
class HasExtraFilesPath(Protocol):
@property
- def extra_files_path(self):
- ...
+ def extra_files_path(self): ...
class HasFileName(Protocol):
- def get_file_name(self, sync_cache=True) -> str:
- ...
+ def get_file_name(self, sync_cache=True) -> str: ...
class HasHid(Protocol):
@@ -54,8 +50,7 @@ class HasName(Protocol):
name: str
-class HasExtraFilesAndMetadata(HasExtraFilesPath, HasMetadata, Protocol):
- ...
+class HasExtraFilesAndMetadata(HasExtraFilesPath, HasMetadata, Protocol): ...
class DatasetProtocol(
@@ -78,24 +73,17 @@ class DatasetProtocol(
states: Any
@property
- def datatype(self):
- ...
+ def datatype(self): ...
- def get_converted_files_by_type(self, file_type):
- ...
+ def get_converted_files_by_type(self, file_type): ...
- def get_mime(self) -> str:
- ...
+ def get_mime(self) -> str: ...
- def get_size(self) -> int:
- ...
+ def get_size(self) -> int: ...
- def has_data(self) -> bool:
- ...
+ def has_data(self) -> bool: ...
- def set_peek(self) -> None:
- ...
+ def set_peek(self) -> None: ...
-class DatasetHasHidProtocol(DatasetProtocol, HasHid, Protocol):
- ...
+class DatasetHasHidProtocol(DatasetProtocol, HasHid, Protocol): ...
diff --git a/lib/galaxy/datatypes/qualityscore.py b/lib/galaxy/datatypes/qualityscore.py
index 8876b1c62c0..4393317a049 100644
--- a/lib/galaxy/datatypes/qualityscore.py
+++ b/lib/galaxy/datatypes/qualityscore.py
@@ -1,6 +1,7 @@
"""
Qualityscore class
"""
+
import logging
from galaxy.datatypes.protocols import DatasetProtocol
diff --git a/lib/galaxy/datatypes/registry.py b/lib/galaxy/datatypes/registry.py
index 3072cedea93..f91eada60a4 100644
--- a/lib/galaxy/datatypes/registry.py
+++ b/lib/galaxy/datatypes/registry.py
@@ -356,9 +356,9 @@ class Registry:
compressed_datatype_instance = compressed_datatype_class()
self.datatypes_by_extension[compressed_extension] = compressed_datatype_instance
for suffix in infer_from_suffixes:
- self.datatypes_by_suffix_inferences[
- f"{suffix}.{auto_compressed_type}"
- ] = compressed_datatype_instance
+ self.datatypes_by_suffix_inferences[f"{suffix}.{auto_compressed_type}"] = (
+ compressed_datatype_instance
+ )
if display_in_upload and compressed_extension not in self.upload_file_formats:
self.upload_file_formats.append(compressed_extension)
self.datatype_info_dicts.append(
diff --git a/lib/galaxy/datatypes/sniff.py b/lib/galaxy/datatypes/sniff.py
index 6d65f4c3691..8a20f40e916 100644
--- a/lib/galaxy/datatypes/sniff.py
+++ b/lib/galaxy/datatypes/sniff.py
@@ -91,8 +91,7 @@ class ConvertResult(NamedTuple):
class ConvertFunction(Protocol):
def __call__(
self, fname: str, in_place: bool = True, tmp_dir: Optional[str] = None, tmp_prefix: Optional[str] = "gxupload"
- ) -> ConvertResult:
- ...
+ ) -> ConvertResult: ...
def convert_newlines(
diff --git a/lib/galaxy/datatypes/tracks.py b/lib/galaxy/datatypes/tracks.py
index 370b67e2708..0fccbba26d1 100644
--- a/lib/galaxy/datatypes/tracks.py
+++ b/lib/galaxy/datatypes/tracks.py
@@ -1,6 +1,7 @@
"""
Datatype classes for tracks/track views within galaxy.
"""
+
import logging
from galaxy.datatypes.protocols import (
diff --git a/lib/galaxy/datatypes/triples.py b/lib/galaxy/datatypes/triples.py
index 51a20a5065f..5f14858066a 100644
--- a/lib/galaxy/datatypes/triples.py
+++ b/lib/galaxy/datatypes/triples.py
@@ -1,6 +1,7 @@
"""
Triple format classes
"""
+
import logging
import re
diff --git a/lib/galaxy/datatypes/util/gff_util.py b/lib/galaxy/datatypes/util/gff_util.py
index d026d955e9f..cc574831be0 100644
--- a/lib/galaxy/datatypes/util/gff_util.py
+++ b/lib/galaxy/datatypes/util/gff_util.py
@@ -1,6 +1,7 @@
"""
Provides utilities for working with GFF files.
"""
+
import copy
from bx.intervals.io import (
diff --git a/lib/galaxy/datatypes/xml.py b/lib/galaxy/datatypes/xml.py
index 37af68cc237..a5148336bf8 100644
--- a/lib/galaxy/datatypes/xml.py
+++ b/lib/galaxy/datatypes/xml.py
@@ -1,6 +1,7 @@
"""
XML format classes
"""
+
import logging
import re
from typing import List
diff --git a/lib/galaxy/dependencies/dev-requirements.txt b/lib/galaxy/dependencies/dev-requirements.txt
index fc27cc8459e..3c1bb12a5eb 100644
--- a/lib/galaxy/dependencies/dev-requirements.txt
+++ b/lib/galaxy/dependencies/dev-requirements.txt
@@ -11,7 +11,7 @@ babel==2.14.0 ; python_version >= "3.8" and python_version < "3.13"
backports-zoneinfo==0.2.1 ; python_version >= "3.8" and python_version < "3.9"
backports-zoneinfo[tzdata]==0.2.1 ; python_version >= "3.8" and python_version < "3.9"
billiard==4.2.0 ; python_version >= "3.8" and python_version < "3.13"
-black==24.1.0 ; python_version >= "3.8" and python_version < "3.13"
+black==24.1.1 ; python_version >= "3.8" and python_version < "3.13"
build==1.0.3 ; python_version >= "3.8" and python_version < "3.13"
cachecontrol[filecache]==0.13.1 ; python_version >= "3.8" and python_version < "3.13"
celery==5.3.6 ; python_version >= "3.8" and python_version < "3.13"
diff --git a/lib/galaxy/di.py b/lib/galaxy/di.py
index 5f27b4e8717..b7c60b46e09 100644
--- a/lib/galaxy/di.py
+++ b/lib/galaxy/di.py
@@ -1,4 +1,5 @@
"""Dependency injection framework for Galaxy-type apps."""
+
from typing import (
Optional,
Type,
diff --git a/lib/galaxy/exceptions/error_codes.py b/lib/galaxy/exceptions/error_codes.py
index e91739c09bb..31a8de485de 100644
--- a/lib/galaxy/exceptions/error_codes.py
+++ b/lib/galaxy/exceptions/error_codes.py
@@ -2,6 +2,7 @@
See the file error_codes.json for actual error code descriptions.
"""
+
from json import loads
from typing import Dict
diff --git a/lib/galaxy/forms/forms.py b/lib/galaxy/forms/forms.py
index ce8a1c2580f..b01d5c34c73 100644
--- a/lib/galaxy/forms/forms.py
+++ b/lib/galaxy/forms/forms.py
@@ -1,6 +1,7 @@
"""
FormDefinition and field factories
"""
+
# TODO: A FormDefinitionField is closely linked to a form_builder result.
# Can this functionality be further abstracted and merged with form_builder?
from galaxy.model import (
diff --git a/lib/galaxy/job_execution/actions/post.py b/lib/galaxy/job_execution/actions/post.py
index 0ce006d3549..946123d674a 100644
--- a/lib/galaxy/job_execution/actions/post.py
+++ b/lib/galaxy/job_execution/actions/post.py
@@ -2,6 +2,7 @@
Actions to be run at job completion (or output hda creation, as in the case of
immediate_actions listed below.
"""
+
import datetime
from markupsafe import escape
diff --git a/lib/galaxy/job_execution/datasets.py b/lib/galaxy/job_execution/datasets.py
index 3199f63ce24..69ed7a90224 100644
--- a/lib/galaxy/job_execution/datasets.py
+++ b/lib/galaxy/job_execution/datasets.py
@@ -1,6 +1,7 @@
"""
Utility classes allowing Job interface to reason about datasets.
"""
+
import os.path
from abc import (
ABCMeta,
diff --git a/lib/galaxy/job_execution/output_collect.py b/lib/galaxy/job_execution/output_collect.py
index 41cbc394f9b..aa502d4275e 100644
--- a/lib/galaxy/job_execution/output_collect.py
+++ b/lib/galaxy/job_execution/output_collect.py
@@ -1,5 +1,6 @@
""" Code allowing tools to define extra files associated with an output datset.
"""
+
import logging
import operator
import os
diff --git a/lib/galaxy/job_execution/setup.py b/lib/galaxy/job_execution/setup.py
index 1cff9c37c53..934dd528e74 100644
--- a/lib/galaxy/job_execution/setup.py
+++ b/lib/galaxy/job_execution/setup.py
@@ -1,4 +1,5 @@
"""Utilities to help job and tool code setup jobs."""
+
import json
import os
import threading
diff --git a/lib/galaxy/job_metrics/__init__.py b/lib/galaxy/job_metrics/__init__.py
index 2b1c5399bd2..0a315ffdf31 100644
--- a/lib/galaxy/job_metrics/__init__.py
+++ b/lib/galaxy/job_metrics/__init__.py
@@ -10,6 +10,7 @@ Each :class:`JobInstrumenter` plugin object describes how to inject a bits
of shell code into a job scripts (before and after tool commands run) and then
collect the output of these from a job directory.
"""
+
import collections
import logging
import os
diff --git a/lib/galaxy/job_metrics/formatting.py b/lib/galaxy/job_metrics/formatting.py
index 1b89548ffa1..b37de650f96 100644
--- a/lib/galaxy/job_metrics/formatting.py
+++ b/lib/galaxy/job_metrics/formatting.py
@@ -1,4 +1,5 @@
"""Utilities related to formatting job metrics for human consumption."""
+
from typing import (
Any,
NamedTuple,
diff --git a/lib/galaxy/job_metrics/instrumenters/__init__.py b/lib/galaxy/job_metrics/instrumenters/__init__.py
index cac587d60b4..b546e38c16f 100644
--- a/lib/galaxy/job_metrics/instrumenters/__init__.py
+++ b/lib/galaxy/job_metrics/instrumenters/__init__.py
@@ -2,6 +2,7 @@
These are responsible for collecting and formatting a coherent set of metrics.
"""
+
import os.path
from abc import (
ABCMeta,
diff --git a/lib/galaxy/job_metrics/instrumenters/cgroup.py b/lib/galaxy/job_metrics/instrumenters/cgroup.py
index f55f66a8a01..62caef9c81d 100644
--- a/lib/galaxy/job_metrics/instrumenters/cgroup.py
+++ b/lib/galaxy/job_metrics/instrumenters/cgroup.py
@@ -1,4 +1,5 @@
"""The module describes the ``cgroup`` job metrics plugin."""
+
import decimal
import logging
import numbers
diff --git a/lib/galaxy/job_metrics/instrumenters/core.py b/lib/galaxy/job_metrics/instrumenters/core.py
index f449c5b29a9..a08ad8f8de5 100644
--- a/lib/galaxy/job_metrics/instrumenters/core.py
+++ b/lib/galaxy/job_metrics/instrumenters/core.py
@@ -1,4 +1,5 @@
"""The module describes the ``core`` job metrics plugin."""
+
import logging
import time
from typing import (
diff --git a/lib/galaxy/job_metrics/instrumenters/cpuinfo.py b/lib/galaxy/job_metrics/instrumenters/cpuinfo.py
index 5d806a4e989..5d723ccf058 100644
--- a/lib/galaxy/job_metrics/instrumenters/cpuinfo.py
+++ b/lib/galaxy/job_metrics/instrumenters/cpuinfo.py
@@ -1,4 +1,5 @@
"""The module describes the ``cpuinfo`` job metrics plugin."""
+
import logging
import re
from typing import Any
diff --git a/lib/galaxy/job_metrics/instrumenters/env.py b/lib/galaxy/job_metrics/instrumenters/env.py
index d08b5c90a78..04608833e83 100644
--- a/lib/galaxy/job_metrics/instrumenters/env.py
+++ b/lib/galaxy/job_metrics/instrumenters/env.py
@@ -1,4 +1,5 @@
"""The module describes the ``env`` job metrics plugin."""
+
import logging
import re
from typing import (
diff --git a/lib/galaxy/job_metrics/instrumenters/hostname.py b/lib/galaxy/job_metrics/instrumenters/hostname.py
index 813c44297ac..721fa1aca41 100644
--- a/lib/galaxy/job_metrics/instrumenters/hostname.py
+++ b/lib/galaxy/job_metrics/instrumenters/hostname.py
@@ -1,4 +1,5 @@
"""The module describes the ``hostname`` job metrics plugin."""
+
import logging
from . import InstrumentPlugin
diff --git a/lib/galaxy/job_metrics/instrumenters/meminfo.py b/lib/galaxy/job_metrics/instrumenters/meminfo.py
index d6da041b0a8..80e523d9730 100644
--- a/lib/galaxy/job_metrics/instrumenters/meminfo.py
+++ b/lib/galaxy/job_metrics/instrumenters/meminfo.py
@@ -1,4 +1,5 @@
"""The module describes the ``meminfo`` job metrics plugin."""
+
import re
from galaxy import util
diff --git a/lib/galaxy/job_metrics/instrumenters/uname.py b/lib/galaxy/job_metrics/instrumenters/uname.py
index b4f96434d6e..2ca2854837c 100644
--- a/lib/galaxy/job_metrics/instrumenters/uname.py
+++ b/lib/galaxy/job_metrics/instrumenters/uname.py
@@ -1,4 +1,5 @@
"""The module describes the ``uname`` job metrics plugin."""
+
from . import InstrumentPlugin
from .. import formatting
diff --git a/lib/galaxy/jobs/__init__.py b/lib/galaxy/jobs/__init__.py
index 6ae85cb7e34..63f700624ef 100644
--- a/lib/galaxy/jobs/__init__.py
+++ b/lib/galaxy/jobs/__init__.py
@@ -1,6 +1,7 @@
"""
Support for running a tool in Galaxy via an internal job management system
"""
+
import copy
import datetime
import errno
diff --git a/lib/galaxy/jobs/handler.py b/lib/galaxy/jobs/handler.py
index 644f1153809..523b238d88e 100644
--- a/lib/galaxy/jobs/handler.py
+++ b/lib/galaxy/jobs/handler.py
@@ -1,6 +1,7 @@
"""
Galaxy job handler, prepares, runs, tracks, and finishes Galaxy jobs
"""
+
import datetime
import os
import time
diff --git a/lib/galaxy/jobs/manager.py b/lib/galaxy/jobs/manager.py
index 614ea68d054..569828a4dd4 100644
--- a/lib/galaxy/jobs/manager.py
+++ b/lib/galaxy/jobs/manager.py
@@ -1,6 +1,7 @@
"""
Top-level Galaxy job manager, moves jobs to handler(s)
"""
+
import logging
from functools import partial
diff --git a/lib/galaxy/jobs/runners/__init__.py b/lib/galaxy/jobs/runners/__init__.py
index 1cecde7b7a0..27d122eb2b4 100644
--- a/lib/galaxy/jobs/runners/__init__.py
+++ b/lib/galaxy/jobs/runners/__init__.py
@@ -1,6 +1,7 @@
"""
Base classes for job runner plugins.
"""
+
import datetime
import os
import string
diff --git a/lib/galaxy/jobs/runners/aws.py b/lib/galaxy/jobs/runners/aws.py
index fa24add37e4..ab42b38da0e 100644
--- a/lib/galaxy/jobs/runners/aws.py
+++ b/lib/galaxy/jobs/runners/aws.py
@@ -1,5 +1,6 @@
""" Galaxy job runners to use Amazon AWS native compute resources, such as AWS Batch.
"""
+
import bisect
import hashlib
import json
diff --git a/lib/galaxy/jobs/runners/condor.py b/lib/galaxy/jobs/runners/condor.py
index 31561b7b219..629d165f562 100644
--- a/lib/galaxy/jobs/runners/condor.py
+++ b/lib/galaxy/jobs/runners/condor.py
@@ -10,6 +10,7 @@ greater reuse of the DRM specific hooks you'll need to write. Ideally this plugi
have been written to target that framework, but we don't have the bandwidth to rewrite
it at this time.
"""
+
import logging
import os
import subprocess
diff --git a/lib/galaxy/jobs/runners/local.py b/lib/galaxy/jobs/runners/local.py
index d70768f8b85..98438a155ef 100644
--- a/lib/galaxy/jobs/runners/local.py
+++ b/lib/galaxy/jobs/runners/local.py
@@ -1,6 +1,7 @@
"""
Job runner plugin for executing jobs on the local system via the command line.
"""
+
import datetime
import logging
import os
diff --git a/lib/galaxy/jobs/runners/pulsar.py b/lib/galaxy/jobs/runners/pulsar.py
index 76284a5fb00..45128847f55 100644
--- a/lib/galaxy/jobs/runners/pulsar.py
+++ b/lib/galaxy/jobs/runners/pulsar.py
@@ -2,6 +2,7 @@
More information on Pulsar can be found at https://pulsar.readthedocs.io/ .
"""
+
import copy
import errno
import logging
diff --git a/lib/galaxy/jobs/runners/slurm.py b/lib/galaxy/jobs/runners/slurm.py
index 6daa65512d5..2c0ab4af6b5 100644
--- a/lib/galaxy/jobs/runners/slurm.py
+++ b/lib/galaxy/jobs/runners/slurm.py
@@ -1,6 +1,7 @@
"""
SLURM job control via the DRMAA API.
"""
+
import os
import time
diff --git a/lib/galaxy/jobs/runners/univa.py b/lib/galaxy/jobs/runners/univa.py
index 3e3455c75e5..12cf317db4f 100644
--- a/lib/galaxy/jobs/runners/univa.py
+++ b/lib/galaxy/jobs/runners/univa.py
@@ -28,6 +28,7 @@ known bugs/problems:
cases 10.
* The sheduler logs contains quite useful information.
"""
+
import logging
import re
import signal
diff --git a/lib/galaxy/jobs/runners/util/__init__.py b/lib/galaxy/jobs/runners/util/__init__.py
index 4aa4cce543e..b8178a4aa5b 100644
--- a/lib/galaxy/jobs/runners/util/__init__.py
+++ b/lib/galaxy/jobs/runners/util/__init__.py
@@ -3,6 +3,7 @@ This module and its submodules contains utilities for running external
processes and interfacing with job managers. This module should contain
functionality shared between Galaxy and the Pulsar.
"""
+
from galaxy.util.bunch import Bunch
from .kill import kill_pid
diff --git a/lib/galaxy/jobs/runners/util/cli/__init__.py b/lib/galaxy/jobs/runners/util/cli/__init__.py
index 9b677bea0a8..9919eccdd24 100644
--- a/lib/galaxy/jobs/runners/util/cli/__init__.py
+++ b/lib/galaxy/jobs/runners/util/cli/__init__.py
@@ -1,5 +1,6 @@
"""
"""
+
import json
from galaxy.util.plugin_config import plugins_dict
diff --git a/lib/galaxy/jobs/runners/util/cli/job/__init__.py b/lib/galaxy/jobs/runners/util/cli/job/__init__.py
index 2556df5d2ae..8dc7444fa23 100644
--- a/lib/galaxy/jobs/runners/util/cli/job/__init__.py
+++ b/lib/galaxy/jobs/runners/util/cli/job/__init__.py
@@ -1,6 +1,7 @@
"""
Abstract base class for cli job plugins.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/jobs/runners/util/cli/shell/__init__.py b/lib/galaxy/jobs/runners/util/cli/shell/__init__.py
index 4b7d3a3377c..fe260ad01ac 100644
--- a/lib/galaxy/jobs/runners/util/cli/shell/__init__.py
+++ b/lib/galaxy/jobs/runners/util/cli/shell/__init__.py
@@ -1,6 +1,7 @@
"""
Abstract base class for runners which execute commands via a shell.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/jobs/runners/util/condor/__init__.py b/lib/galaxy/jobs/runners/util/condor/__init__.py
index c608d13e9ca..a60e2df92da 100644
--- a/lib/galaxy/jobs/runners/util/condor/__init__.py
+++ b/lib/galaxy/jobs/runners/util/condor/__init__.py
@@ -1,6 +1,7 @@
"""
Condor helper utilities.
"""
+
from subprocess import (
CalledProcessError,
check_call,
diff --git a/lib/galaxy/jobs/runners/util/pykube_util.py b/lib/galaxy/jobs/runners/util/pykube_util.py
index 28020a8c8dd..699df65398a 100644
--- a/lib/galaxy/jobs/runners/util/pykube_util.py
+++ b/lib/galaxy/jobs/runners/util/pykube_util.py
@@ -1,4 +1,5 @@
"""Interface layer for pykube library shared between Galaxy and Pulsar."""
+
import logging
import os
import re
diff --git a/lib/galaxy/main_config.py b/lib/galaxy/main_config.py
index d0b3d949068..1db05332322 100644
--- a/lib/galaxy/main_config.py
+++ b/lib/galaxy/main_config.py
@@ -2,6 +2,7 @@
This is for use by web framework code and scripts (e.g. scripts/galaxy_main.py).
"""
+
import os
from typing import (
List,
diff --git a/lib/galaxy/managers/annotatable.py b/lib/galaxy/managers/annotatable.py
index 38552fe6bb8..4a0ad04ab2e 100644
--- a/lib/galaxy/managers/annotatable.py
+++ b/lib/galaxy/managers/annotatable.py
@@ -39,8 +39,7 @@ class AnnotatableManagerMixin:
annotation_assoc: type
@abc.abstractmethod
- def session(self) -> scoped_session:
- ...
+ def session(self) -> scoped_session: ...
def annotation(self, item) -> Optional[str]:
"""
diff --git a/lib/galaxy/managers/base.py b/lib/galaxy/managers/base.py
index 3ac563cdafa..c151852ee05 100644
--- a/lib/galaxy/managers/base.py
+++ b/lib/galaxy/managers/base.py
@@ -21,6 +21,7 @@ and allow both predefined and user controlled key sets.
ModelDeserializers control how a model validates and process an incoming
attribute change to a model object.
"""
+
# TODO: it may be there's a better way to combine the above three classes
# such as: a single flat class, serializers being singletons in the manager, etc.
# instead of the three separate classes. With no 'apparent' perfect scheme
@@ -594,8 +595,7 @@ class SkipAttribute(Exception):
class Serializer(Protocol):
- def __call__(self, item: Any, key: str, **context) -> Any:
- ...
+ def __call__(self, item: Any, key: str, **context) -> Any: ...
# TODO: eventually all urls should be generated by the url builder and this can be safely removed.
@@ -883,8 +883,7 @@ class ModelValidator:
class Deserializer(Protocol):
- def __call__(self, item: Any, key: Any, val: Any, **kwargs) -> Any:
- ...
+ def __call__(self, item: Any, key: Any, val: Any, **kwargs) -> Any: ...
class ModelDeserializer(HasAModelManager[T]):
diff --git a/lib/galaxy/managers/cloudauthzs.py b/lib/galaxy/managers/cloudauthzs.py
index 43696ea209c..bf4e0aa4caa 100644
--- a/lib/galaxy/managers/cloudauthzs.py
+++ b/lib/galaxy/managers/cloudauthzs.py
@@ -61,9 +61,9 @@ class CloudAuthzsSerializer(base.ModelSerializer):
"user_id": lambda item, key, **context: self.app.security.encode_id(item.user_id),
"provider": lambda item, key, **context: str(item.provider),
"config": lambda item, key, **context: item.config,
- "authn_id": lambda item, key, **context: self.app.security.encode_id(item.authn_id)
- if item.authn_id
- else None,
+ "authn_id": lambda item, key, **context: (
+ self.app.security.encode_id(item.authn_id) if item.authn_id else None
+ ),
"last_update": lambda item, key, **context: str(item.last_update),
"last_activity": lambda item, key, **context: str(item.last_activity),
"create_time": lambda item, key, **context: item.create_time.isoformat(),
diff --git a/lib/galaxy/managers/collections.py b/lib/galaxy/managers/collections.py
index f4af990ffe9..8db9037b55a 100644
--- a/lib/galaxy/managers/collections.py
+++ b/lib/galaxy/managers/collections.py
@@ -671,14 +671,12 @@ class DatasetCollectionManager:
@overload
def get_dataset_collection_instance(
self, trans: ProvidesHistoryContext, instance_type: Literal["history"], id, **kwds: Any
- ) -> model.HistoryDatasetCollectionAssociation:
- ...
+ ) -> model.HistoryDatasetCollectionAssociation: ...
@overload
def get_dataset_collection_instance(
self, trans: ProvidesHistoryContext, instance_type: Literal["library"], id, **kwds: Any
- ) -> model.LibraryDatasetCollectionAssociation:
- ...
+ ) -> model.LibraryDatasetCollectionAssociation: ...
def get_dataset_collection_instance(
self, trans: ProvidesHistoryContext, instance_type: DatasetCollectionInstanceType, id, **kwds: Any
diff --git a/lib/galaxy/managers/configuration.py b/lib/galaxy/managers/configuration.py
index 14fe088c376..d15b2d941d7 100644
--- a/lib/galaxy/managers/configuration.py
+++ b/lib/galaxy/managers/configuration.py
@@ -4,6 +4,7 @@ and a more expanded set of data for admin in AdminConfigSerializer.
Used by both the API and bootstrapped data.
"""
+
import logging
import sys
from typing import (
diff --git a/lib/galaxy/managers/context.py b/lib/galaxy/managers/context.py
index 23caedf81e6..24c29567a80 100644
--- a/lib/galaxy/managers/context.py
+++ b/lib/galaxy/managers/context.py
@@ -28,6 +28,7 @@ should annotate their dependency on the narrowest context they require.
A method that requires a user but not a history should declare its
``trans`` argument as requiring type :class:`galaxy.managers.context.ProvidesUserContext`.
"""
+
# TODO: Refactor this class so that galaxy.managers depends on a package
# containing this.
# TODO: Provide different classes for real users and potentially bootstrapped
diff --git a/lib/galaxy/managers/datasets.py b/lib/galaxy/managers/datasets.py
index f97bbfbbbec..78a43cff099 100644
--- a/lib/galaxy/managers/datasets.py
+++ b/lib/galaxy/managers/datasets.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for Datasets.
"""
+
import glob
import logging
import os
diff --git a/lib/galaxy/managers/dbkeys.py b/lib/galaxy/managers/dbkeys.py
index 92726675fed..8ec01e3d57b 100644
--- a/lib/galaxy/managers/dbkeys.py
+++ b/lib/galaxy/managers/dbkeys.py
@@ -1,6 +1,7 @@
"""
Functionality for dealing with dbkeys.
"""
+
import logging
import os.path
import re
diff --git a/lib/galaxy/managers/deletable.py b/lib/galaxy/managers/deletable.py
index cbfa49eabec..113cfa22dc9 100644
--- a/lib/galaxy/managers/deletable.py
+++ b/lib/galaxy/managers/deletable.py
@@ -8,6 +8,7 @@ models have some backing/supporting resources that can be removed as well
the supporting resources as well. These models also have the boolean
attribute 'purged'.
"""
+
from typing import (
Any,
Dict,
@@ -32,8 +33,7 @@ class DeletableManagerMixin:
removed by an admin/script.
"""
- def _session_setattr(self, item: Base, attr: str, val: Any, flush: bool = True):
- ...
+ def _session_setattr(self, item: Base, attr: str, val: Any, flush: bool = True): ...
def delete(self, item, flush=True, **kwargs):
"""
@@ -91,8 +91,7 @@ class PurgableManagerMixin(DeletableManagerMixin):
file).
"""
- def _session_setattr(self, item: Base, attr: str, val: Any, flush: bool = True):
- ...
+ def _session_setattr(self, item: Base, attr: str, val: Any, flush: bool = True): ...
def purge(self, item, flush=True, **kwargs):
"""
diff --git a/lib/galaxy/managers/executables.py b/lib/galaxy/managers/executables.py
index 392c2a650e1..0993b32856b 100644
--- a/lib/galaxy/managers/executables.py
+++ b/lib/galaxy/managers/executables.py
@@ -1,4 +1,5 @@
"""Utilities for loading tools and workflows from paths for admin user requests."""
+
from typing import (
Any,
Dict,
diff --git a/lib/galaxy/managers/folders.py b/lib/galaxy/managers/folders.py
index 66b92a4b6ef..97f0f3ad4ca 100644
--- a/lib/galaxy/managers/folders.py
+++ b/lib/galaxy/managers/folders.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for Library Folders.
"""
+
import logging
from dataclasses import dataclass
from typing import (
diff --git a/lib/galaxy/managers/hdas.py b/lib/galaxy/managers/hdas.py
index 980cb75ec51..6f574b96ab6 100644
--- a/lib/galaxy/managers/hdas.py
+++ b/lib/galaxy/managers/hdas.py
@@ -4,6 +4,7 @@ Manager and Serializer for HDAs.
HistoryDatasetAssociations (HDAs) are datasets contained or created in a
history.
"""
+
import gettext
import logging
import os
diff --git a/lib/galaxy/managers/hdcas.py b/lib/galaxy/managers/hdcas.py
index 9e38c053c77..eca83e75c93 100644
--- a/lib/galaxy/managers/hdcas.py
+++ b/lib/galaxy/managers/hdcas.py
@@ -4,6 +4,7 @@ Manager and Serializer for HDCAs.
HistoryDatasetCollectionAssociations (HDCAs) are datasets contained or created in a
history.
"""
+
import logging
from typing import Dict
diff --git a/lib/galaxy/managers/histories.py b/lib/galaxy/managers/histories.py
index 11274e4580a..289878d522e 100644
--- a/lib/galaxy/managers/histories.py
+++ b/lib/galaxy/managers/histories.py
@@ -4,6 +4,7 @@ Manager and Serializer for histories.
Histories are containers for datasets or dataset collections
created (or copied) by users over the course of an analysis.
"""
+
import logging
from typing import (
Any,
@@ -853,9 +854,9 @@ class HistorySerializer(sharable.SharableModelSerializer, deletable.PurgableSeri
"contents_active": self.serialize_contents_active,
# TODO: Use base manager's serialize_id for user_id (and others)
# after refactoring hierarchy here?
- "user_id": lambda item, key, encode_id=True, **context: self.app.security.encode_id(item.user_id)
- if item.user_id is not None and encode_id
- else item.user_id,
+ "user_id": lambda item, key, encode_id=True, **context: (
+ self.app.security.encode_id(item.user_id) if item.user_id is not None and encode_id else item.user_id
+ ),
}
self.serializers.update(serializers)
diff --git a/lib/galaxy/managers/history_contents.py b/lib/galaxy/managers/history_contents.py
index 5888dad4194..abd1a650808 100644
--- a/lib/galaxy/managers/history_contents.py
+++ b/lib/galaxy/managers/history_contents.py
@@ -2,6 +2,7 @@
Heterogenous lists/contents are difficult to query properly since unions are
not easily made.
"""
+
import json
import logging
from typing import (
diff --git a/lib/galaxy/managers/libraries.py b/lib/galaxy/managers/libraries.py
index 28d96aa3ca4..45c1c582a07 100644
--- a/lib/galaxy/managers/libraries.py
+++ b/lib/galaxy/managers/libraries.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for libraries.
"""
+
import logging
from typing import (
Dict,
diff --git a/lib/galaxy/managers/library_datasets.py b/lib/galaxy/managers/library_datasets.py
index e91312c2792..3666838b2bb 100644
--- a/lib/galaxy/managers/library_datasets.py
+++ b/lib/galaxy/managers/library_datasets.py
@@ -1,4 +1,5 @@
"""Manager and Serializer for library datasets."""
+
import logging
from sqlalchemy import select
diff --git a/lib/galaxy/managers/markdown_parse.py b/lib/galaxy/managers/markdown_parse.py
index a0931a73485..ab52141fa4e 100644
--- a/lib/galaxy/managers/markdown_parse.py
+++ b/lib/galaxy/managers/markdown_parse.py
@@ -5,6 +5,7 @@ This file is meant to be relatively self contained and just used to "parse" and
Galaxy Markdown. Keeping things isolated to allow re-use of these utilities in other
projects (e.g. gxformat2).
"""
+
import re
from typing import (
cast,
diff --git a/lib/galaxy/managers/markdown_util.py b/lib/galaxy/managers/markdown_util.py
index 8b5aac2fdf7..2827487de1f 100644
--- a/lib/galaxy/managers/markdown_util.py
+++ b/lib/galaxy/managers/markdown_util.py
@@ -10,6 +10,7 @@ potential history flavor would allow objects to be referenced by HID. This
second idea is unimplemented, it is just an example of the general concept of
context specific processing.
"""
+
import abc
import base64
import codecs
diff --git a/lib/galaxy/managers/pages.py b/lib/galaxy/managers/pages.py
index 72eb50fb677..3157b026a4d 100644
--- a/lib/galaxy/managers/pages.py
+++ b/lib/galaxy/managers/pages.py
@@ -5,6 +5,7 @@ Pages are markup created and saved by users that can contain Galaxy objects
(such as datasets) and are often used to describe or present an analysis
from within Galaxy.
"""
+
import logging
import re
from html.entities import name2codepoint
diff --git a/lib/galaxy/managers/quotas.py b/lib/galaxy/managers/quotas.py
index 72045d1cc51..31e7fcc48e6 100644
--- a/lib/galaxy/managers/quotas.py
+++ b/lib/galaxy/managers/quotas.py
@@ -3,6 +3,7 @@ Manager and Serializers for Quotas.
For more information about quotas: https://galaxyproject.org/admin/disk-quotas/
"""
+
import logging
from typing import (
cast,
diff --git a/lib/galaxy/managers/ratable.py b/lib/galaxy/managers/ratable.py
index daf02c9a049..2acc148a6b9 100644
--- a/lib/galaxy/managers/ratable.py
+++ b/lib/galaxy/managers/ratable.py
@@ -1,6 +1,7 @@
"""
Mixins for Ratable model managers and serializers.
"""
+
import logging
from typing import Type
diff --git a/lib/galaxy/managers/roles.py b/lib/galaxy/managers/roles.py
index ecb221cc804..a24f6d456ff 100644
--- a/lib/galaxy/managers/roles.py
+++ b/lib/galaxy/managers/roles.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for Roles.
"""
+
import logging
from typing import List
diff --git a/lib/galaxy/managers/secured.py b/lib/galaxy/managers/secured.py
index 27815feaa85..30958ceb8c9 100644
--- a/lib/galaxy/managers/secured.py
+++ b/lib/galaxy/managers/secured.py
@@ -3,6 +3,7 @@ Accessible models can be read and copied but not modified or deleted.
Owned models can be modified and deleted.
"""
+
from typing import (
Any,
Optional,
@@ -29,8 +30,7 @@ class AccessibleManagerMixin:
# declare what we are using from base ModelManager
model_class: Type[Any]
- def by_id(self, id: int):
- ...
+ def by_id(self, id: int): ...
# don't want to override by_id since consumers will also want to fetch w/o any security checks
def is_accessible(self, item: "Query", user: model.User, **kwargs: Any) -> bool:
@@ -96,8 +96,7 @@ class OwnableManagerMixin:
# declare what we are using from base ModelManager
model_class: Type[Any]
- def by_id(self, id: int):
- ...
+ def by_id(self, id: int): ...
def is_owner(self, item: model.Base, user: Optional[model.User], **kwargs: Any) -> bool:
"""
diff --git a/lib/galaxy/managers/sharable.py b/lib/galaxy/managers/sharable.py
index e1a0f55d997..0d106a9ae1b 100644
--- a/lib/galaxy/managers/sharable.py
+++ b/lib/galaxy/managers/sharable.py
@@ -9,6 +9,7 @@ A sharable Galaxy object:
can be published effectively making it available to all other Users
can be rated
"""
+
import logging
import re
from typing import (
diff --git a/lib/galaxy/managers/users.py b/lib/galaxy/managers/users.py
index 005cdb27fd6..f4786c41bce 100644
--- a/lib/galaxy/managers/users.py
+++ b/lib/galaxy/managers/users.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for Users.
"""
+
import hashlib
import logging
import random
diff --git a/lib/galaxy/managers/visualizations.py b/lib/galaxy/managers/visualizations.py
index ef48eb383d7..9aa2808f147 100644
--- a/lib/galaxy/managers/visualizations.py
+++ b/lib/galaxy/managers/visualizations.py
@@ -4,6 +4,7 @@ Manager and Serializers for Visualizations.
Visualizations are saved configurations/variables used to
reproduce a specific view in a Galaxy visualization.
"""
+
import logging
from typing import (
Dict,
diff --git a/lib/galaxy/managers/workflows.py b/lib/galaxy/managers/workflows.py
index 2bd7c95e6ad..c8dc8c4699f 100644
--- a/lib/galaxy/managers/workflows.py
+++ b/lib/galaxy/managers/workflows.py
@@ -1267,9 +1267,9 @@ class WorkflowContentsManager(UsesAnnotations):
step_dict["workflow_outputs"] = outputs
if len(output_label_duplicate) > 0:
output_label_duplicate_string = ", ".join(output_label_duplicate)
- upgrade_message_dict[
- "output_label_duplicate"
- ] = f"Ignoring duplicate labels: {output_label_duplicate_string}."
+ upgrade_message_dict["output_label_duplicate"] = (
+ f"Ignoring duplicate labels: {output_label_duplicate_string}."
+ )
if upgrade_message_dict:
data["upgrade_messages"][step.order_index] = upgrade_message_dict
diff --git a/lib/galaxy/metadata/__init__.py b/lib/galaxy/metadata/__init__.py
index 5e6896e4040..8e6a9bb83fd 100644
--- a/lib/galaxy/metadata/__init__.py
+++ b/lib/galaxy/metadata/__init__.py
@@ -190,9 +190,11 @@ class PortableDirectoryMetadataGenerator(MetadataCollectionStrategy):
"validate": validate_outputs,
"object_store_store_by": dataset.dataset.store_by,
"id": dataset.id,
- "model_class": "LibraryDatasetDatasetAssociation"
- if isinstance(dataset, galaxy.model.LibraryDatasetDatasetAssociation)
- else "HistoryDatasetAssociation",
+ "model_class": (
+ "LibraryDatasetDatasetAssociation"
+ if isinstance(dataset, galaxy.model.LibraryDatasetDatasetAssociation)
+ else "HistoryDatasetAssociation"
+ ),
}
metadata_params_path = os.path.join(metadata_dir, "params.json")
diff --git a/lib/galaxy/metadata/set_metadata.py b/lib/galaxy/metadata/set_metadata.py
index 90549c6ddf6..8c36bf70a1d 100644
--- a/lib/galaxy/metadata/set_metadata.py
+++ b/lib/galaxy/metadata/set_metadata.py
@@ -10,6 +10,7 @@ set to the path of the dataset on which metadata is being set
(output_filename_override could previously be left empty and the path would be
constructed automatically).
"""
+
import glob
import json
import logging
diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py
index 34af7c1d5e8..5f9465dbddd 100644
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -4,6 +4,7 @@ Galaxy data model classes
Naming: try to use class names that have a distinct plural form so that
the relationship cardinalities are obvious (e.g. prefer Dataset to Data)
"""
+
import abc
import base64
import errno
@@ -4091,12 +4092,10 @@ class Dataset(Base, StorableObject, Serializable):
return self.object_store.size(self)
@overload
- def get_size(self, nice_size: Literal[False], calculate_size: bool = True) -> int:
- ...
+ def get_size(self, nice_size: Literal[False], calculate_size: bool = True) -> int: ...
@overload
- def get_size(self, nice_size: Literal[True], calculate_size: bool = True) -> str:
- ...
+ def get_size(self, nice_size: Literal[True], calculate_size: bool = True) -> str: ...
def get_size(self, nice_size: bool = False, calculate_size: bool = True) -> Union[int, str]:
"""Returns the size of the data on disk"""
@@ -6836,9 +6835,9 @@ class HistoryDatasetCollectionAssociation(
copied_from_history_dataset_collection_association_chain.append(
serialization_options.get_identifier(id_encoder, src_hdca)
)
- rval[
- "copied_from_history_dataset_collection_association_id_chain"
- ] = copied_from_history_dataset_collection_association_chain
+ rval["copied_from_history_dataset_collection_association_id_chain"] = (
+ copied_from_history_dataset_collection_association_chain
+ )
serialization_options.attach_identifier(id_encoder, self, rval)
return rval
@@ -8654,9 +8653,7 @@ class WorkflowInvocation(Base, UsesCreateAndUpdateTime, Dictifiable, Serializabl
for output_assoc in self.output_dataset_collections:
label = output_assoc.workflow_output.label
if not label:
- label = (
- label
- ) = f"{output_assoc.workflow_output.output_name} (Step {output_assoc.workflow_output.workflow_step.order_index + 1})"
+ label = f"{output_assoc.workflow_output.output_name} (Step {output_assoc.workflow_output.workflow_step.order_index + 1})"
output_collections[label] = {
"src": "hdca",
@@ -9033,9 +9030,11 @@ class WorkflowInvocationStep(Base, Dictifiable, Serializable):
outputs[name] = {
"src": "hda",
"id": output_assoc.dataset.id,
- "uuid": str(output_assoc.dataset.dataset.uuid)
- if output_assoc.dataset.dataset.uuid is not None
- else None,
+ "uuid": (
+ str(output_assoc.dataset.dataset.uuid)
+ if output_assoc.dataset.dataset.uuid is not None
+ else None
+ ),
}
output_collections = {}
diff --git a/lib/galaxy/model/base.py b/lib/galaxy/model/base.py
index 249ddb4fde9..707dc486a73 100644
--- a/lib/galaxy/model/base.py
+++ b/lib/galaxy/model/base.py
@@ -2,6 +2,7 @@
Shared model and mapping code between Galaxy and Tool Shed, trying to
generalize to generic database connections.
"""
+
import contextlib
import logging
import os
diff --git a/lib/galaxy/model/database_object_names.py b/lib/galaxy/model/database_object_names.py
index 802f40c65e1..864f821e56a 100644
--- a/lib/galaxy/model/database_object_names.py
+++ b/lib/galaxy/model/database_object_names.py
@@ -2,6 +2,7 @@
Naming convention and helper functions for generating names of database
constraints and indexes.
"""
+
from typing import (
List,
Union,
diff --git a/lib/galaxy/model/dataset_collections/structure.py b/lib/galaxy/model/dataset_collections/structure.py
index 25c6257175f..af6395054b2 100644
--- a/lib/galaxy/model/dataset_collections/structure.py
+++ b/lib/galaxy/model/dataset_collections/structure.py
@@ -1,5 +1,6 @@
""" Module for reasoning about structure of and matching hierarchical collections of data.
"""
+
import logging
log = logging.getLogger(__name__)
diff --git a/lib/galaxy/model/index_filter_util.py b/lib/galaxy/model/index_filter_util.py
index fc7693b9da0..0050d514dbc 100644
--- a/lib/galaxy/model/index_filter_util.py
+++ b/lib/galaxy/model/index_filter_util.py
@@ -1,4 +1,5 @@
"""Utility functions used to adapt galaxy.util.search to Galaxy model index queries."""
+
from typing import (
List,
Union,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/186d4835587b_drop_job_state_history_update_time_.py b/lib/galaxy/model/migrations/alembic/versions_gxy/186d4835587b_drop_job_state_history_update_time_.py
index 256b1baaa13..79250a75c71 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/186d4835587b_drop_job_state_history_update_time_.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/186d4835587b_drop_job_state_history_update_time_.py
@@ -5,6 +5,7 @@ Revises: 6a67bf27e6a6
Create Date: 2022-06-01 17:50:22.629894
"""
+
from sqlalchemy import (
Column,
DateTime,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/2d749563e1fe_add_notification_system_tables.py b/lib/galaxy/model/migrations/alembic/versions_gxy/2d749563e1fe_add_notification_system_tables.py
index 2e74c2de441..d54395921c8 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/2d749563e1fe_add_notification_system_tables.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/2d749563e1fe_add_notification_system_tables.py
@@ -5,6 +5,7 @@ Revises: b855b714e8b8
Create Date: 2023-03-02 15:16:36.737075
"""
+
import sqlalchemy as sa
from galaxy.model.custom_types import JSONType
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/3100452fa030_add_workflow_invocation_message_table.py b/lib/galaxy/model/migrations/alembic/versions_gxy/3100452fa030_add_workflow_invocation_message_table.py
index fe2f6c0a751..80076b91a3d 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/3100452fa030_add_workflow_invocation_message_table.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/3100452fa030_add_workflow_invocation_message_table.py
@@ -5,6 +5,7 @@ Revises: 518c8438a91b
Create Date: 2023-01-13 16:13:09.578391
"""
+
from sqlalchemy import (
Column,
ForeignKey,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/3356bc2ecfc4_drop_view.py b/lib/galaxy/model/migrations/alembic/versions_gxy/3356bc2ecfc4_drop_view.py
index c5d8772baf4..e683512afa4 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/3356bc2ecfc4_drop_view.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/3356bc2ecfc4_drop_view.py
@@ -5,6 +5,7 @@ Revises: 460d0ecd1dd8
Create Date: 2023-04-10 15:06:01.037416
"""
+
from alembic import op
# revision identifiers, used by Alembic.
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/3a2914d703ca_add_index_wf_r_s_s__workflow_invocation_.py b/lib/galaxy/model/migrations/alembic/versions_gxy/3a2914d703ca_add_index_wf_r_s_s__workflow_invocation_.py
index 60805a2b7b5..bd5b9e2e189 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/3a2914d703ca_add_index_wf_r_s_s__workflow_invocation_.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/3a2914d703ca_add_index_wf_r_s_s__workflow_invocation_.py
@@ -5,6 +5,7 @@ Revises: c39f1de47a04
Create Date: 2023-03-07 15:06:55.682273
"""
+
from galaxy.model.database_object_names import build_index_name
from galaxy.model.migrations.util import (
create_index,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/518c8438a91b_add_when_expression_column.py b/lib/galaxy/model/migrations/alembic/versions_gxy/518c8438a91b_add_when_expression_column.py
index 112b8b8dfb7..b2feb579579 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/518c8438a91b_add_when_expression_column.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/518c8438a91b_add_when_expression_column.py
@@ -5,6 +5,7 @@ Revises: 59e024ceaca1
Create Date: 2022-10-24 16:43:39.565871
"""
+
from sqlalchemy import Column
from galaxy.model.custom_types import JSONType
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/59e024ceaca1_add_export_association_table.py b/lib/galaxy/model/migrations/alembic/versions_gxy/59e024ceaca1_add_export_association_table.py
index 34a393a1f05..7ce26330493 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/59e024ceaca1_add_export_association_table.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/59e024ceaca1_add_export_association_table.py
@@ -5,6 +5,7 @@ Revises: e0e3bb173ee6
Create Date: 2022-10-12 18:02:34.659770
"""
+
from sqlalchemy import (
Column,
DateTime,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/6a67bf27e6a6_deferred_data_tables.py b/lib/galaxy/model/migrations/alembic/versions_gxy/6a67bf27e6a6_deferred_data_tables.py
index 4f5a4f0e38f..8087cfb5438 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/6a67bf27e6a6_deferred_data_tables.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/6a67bf27e6a6_deferred_data_tables.py
@@ -5,6 +5,7 @@ Revises: b182f655505f
Create Date: 2022-03-14 12:17:55.313830
"""
+
from sqlalchemy import (
Boolean,
Column,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/8a19186a6ee7_add_columns_to_interactivetool_entry_point.py b/lib/galaxy/model/migrations/alembic/versions_gxy/8a19186a6ee7_add_columns_to_interactivetool_entry_point.py
index e2876e5bdf6..97e1db17857 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/8a19186a6ee7_add_columns_to_interactivetool_entry_point.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/8a19186a6ee7_add_columns_to_interactivetool_entry_point.py
@@ -5,6 +5,7 @@ Revises: ddbdbc40bdc1
Create Date: 2023-11-15 12:53:32.888292
"""
+
from sqlalchemy import (
Boolean,
Column,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/9540a051226e_preferred_object_store_ids.py b/lib/galaxy/model/migrations/alembic/versions_gxy/9540a051226e_preferred_object_store_ids.py
index 1656c6dae92..ae1409527ac 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/9540a051226e_preferred_object_store_ids.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/9540a051226e_preferred_object_store_ids.py
@@ -5,6 +5,7 @@ Revises: d0583094c8cd
Create Date: 2022-06-10 10:38:25.212102
"""
+
from sqlalchemy import (
Column,
String,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/987ce9839ecb_create_celery_user_rate_limit_table.py b/lib/galaxy/model/migrations/alembic/versions_gxy/987ce9839ecb_create_celery_user_rate_limit_table.py
index c43535e6d02..1e960b7845a 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/987ce9839ecb_create_celery_user_rate_limit_table.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/987ce9839ecb_create_celery_user_rate_limit_table.py
@@ -5,6 +5,7 @@ Revises: b855b714e8b8
Create Date: 2023-05-17 15:08:28.467938
"""
+
import sqlalchemy as sa
from galaxy.model.migrations.util import (
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/b182f655505f_add_workflow_source_metadata_column.py b/lib/galaxy/model/migrations/alembic/versions_gxy/b182f655505f_add_workflow_source_metadata_column.py
index 0798f2c4294..75ca85c604a 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/b182f655505f_add_workflow_source_metadata_column.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/b182f655505f_add_workflow_source_metadata_column.py
@@ -5,6 +5,7 @@ Revises: e7b6dcb09efd
Create Date: 2022-03-14 12:56:57.067748
"""
+
from sqlalchemy import Column
from galaxy.model.custom_types import JSONType
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/b855b714e8b8_make_api_keys_deleted_non_nullable.py b/lib/galaxy/model/migrations/alembic/versions_gxy/b855b714e8b8_make_api_keys_deleted_non_nullable.py
index beb7655dc4c..cf58b6381de 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/b855b714e8b8_make_api_keys_deleted_non_nullable.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/b855b714e8b8_make_api_keys_deleted_non_nullable.py
@@ -5,6 +5,7 @@ Revises: 3356bc2ecfc4
Create Date: 2023-04-19 18:41:13.500332
"""
+
import sqlalchemy as sa
from alembic import op
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/c39f1de47a04_add_skipped_state_to_collection_job_.py b/lib/galaxy/model/migrations/alembic/versions_gxy/c39f1de47a04_add_skipped_state_to_collection_job_.py
index 5cb2555104d..35fc0f3640b 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/c39f1de47a04_add_skipped_state_to_collection_job_.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/c39f1de47a04_add_skipped_state_to_collection_job_.py
@@ -5,6 +5,7 @@ Revises: 3100452fa030
Create Date: 2023-01-16 11:53:59.783836
"""
+
from alembic import op
from galaxy.model.migrations.util import transaction
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/caa7742f7bca_add_index_wf_r_i_p__workflow_invocation_.py b/lib/galaxy/model/migrations/alembic/versions_gxy/caa7742f7bca_add_index_wf_r_i_p__workflow_invocation_.py
index 2081ba2c183..d546769b3ec 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/caa7742f7bca_add_index_wf_r_i_p__workflow_invocation_.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/caa7742f7bca_add_index_wf_r_i_p__workflow_invocation_.py
@@ -5,6 +5,7 @@ Revises: 3a2914d703ca
Create Date: 2023-03-07 15:10:44.943542
"""
+
from galaxy.model.database_object_names import build_index_name
from galaxy.model.migrations.util import (
create_index,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/d0583094c8cd_add_quota_source_labels.py b/lib/galaxy/model/migrations/alembic/versions_gxy/d0583094c8cd_add_quota_source_labels.py
index d7099bd36cd..90bdb5c3824 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/d0583094c8cd_add_quota_source_labels.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/d0583094c8cd_add_quota_source_labels.py
@@ -5,6 +5,7 @@ Revises: c39f1de47a04
Create Date: 2022-06-09 12:24:44.329038
"""
+
from sqlalchemy import (
Column,
ForeignKey,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/ddbdbc40bdc1_add_workflow_comment_table.py b/lib/galaxy/model/migrations/alembic/versions_gxy/ddbdbc40bdc1_add_workflow_comment_table.py
index 59e1e58f996..b0cfac349b7 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/ddbdbc40bdc1_add_workflow_comment_table.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/ddbdbc40bdc1_add_workflow_comment_table.py
@@ -3,6 +3,7 @@ Revision ID: ddbdbc40bdc1
Revises: 92fb564c7095
Create Date: 2023-08-14 13:41:59.442243
"""
+
import sqlalchemy as sa
from galaxy.model.custom_types import (
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/e0561d5fc8c7_add_archived_columns_to_history.py b/lib/galaxy/model/migrations/alembic/versions_gxy/e0561d5fc8c7_add_archived_columns_to_history.py
index 9de6fae98ca..68ea7386155 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/e0561d5fc8c7_add_archived_columns_to_history.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/e0561d5fc8c7_add_archived_columns_to_history.py
@@ -5,6 +5,7 @@ Revises: 2d749563e1fe
Create Date: 2023-05-03 11:57:58.710098
"""
+
import sqlalchemy as sa
from galaxy.model.database_object_names import (
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/e0e3bb173ee6_add_column_deleted_to_api_keys.py b/lib/galaxy/model/migrations/alembic/versions_gxy/e0e3bb173ee6_add_column_deleted_to_api_keys.py
index 4cba2792fe4..5183a4ec5f9 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/e0e3bb173ee6_add_column_deleted_to_api_keys.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/e0e3bb173ee6_add_column_deleted_to_api_keys.py
@@ -5,6 +5,7 @@ Revises: 186d4835587b
Create Date: 2022-09-27 14:09:05.890227
"""
+
from sqlalchemy import (
Boolean,
Column,
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/e7b6dcb09efd_create_gxy_branch.py b/lib/galaxy/model/migrations/alembic/versions_gxy/e7b6dcb09efd_create_gxy_branch.py
index e76c4d87e30..79ec67ee912 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/e7b6dcb09efd_create_gxy_branch.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/e7b6dcb09efd_create_gxy_branch.py
@@ -6,7 +6,6 @@ Create Date: 2021-11-05 16:32:43.243049
"""
-
# revision identifiers, used by Alembic.
revision = "e7b6dcb09efd"
down_revision = None
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/e93c5d0b47a9_alter_column_external_user_id.py b/lib/galaxy/model/migrations/alembic/versions_gxy/e93c5d0b47a9_alter_column_external_user_id.py
index ccd1bc33cbd..96d46f63486 100644
--- a/lib/galaxy/model/migrations/alembic/versions_gxy/e93c5d0b47a9_alter_column_external_user_id.py
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/e93c5d0b47a9_alter_column_external_user_id.py
@@ -5,6 +5,7 @@ Revises: e0561d5fc8c7
Create Date: 2023-10-08 12:11:02.024669
"""
+
import sqlalchemy as sa
from galaxy.model.migrations.util import alter_column
diff --git a/lib/galaxy/model/migrations/alembic/versions_tsi/d4a650f47a3c_create_tsi_branch.py b/lib/galaxy/model/migrations/alembic/versions_tsi/d4a650f47a3c_create_tsi_branch.py
index 87510a7e58a..6a39369bf70 100644
--- a/lib/galaxy/model/migrations/alembic/versions_tsi/d4a650f47a3c_create_tsi_branch.py
+++ b/lib/galaxy/model/migrations/alembic/versions_tsi/d4a650f47a3c_create_tsi_branch.py
@@ -6,7 +6,6 @@ Create Date: 2021-11-05 16:32:25.113750
"""
-
# revision identifiers, used by Alembic.
revision = "d4a650f47a3c"
down_revision = None
diff --git a/lib/galaxy/model/migrations/base.py b/lib/galaxy/model/migrations/base.py
index 77f4d58370f..973f1222493 100644
--- a/lib/galaxy/model/migrations/base.py
+++ b/lib/galaxy/model/migrations/base.py
@@ -1,6 +1,7 @@
"""
Shared code for galaxy and tool shed migrations.
"""
+
import abc
import logging
import os
@@ -49,8 +50,7 @@ class BaseParserBuilder(abc.ABC):
"""
@abc.abstractmethod
- def _get_command_object(self):
- ...
+ def _get_command_object(self): ...
def __init__(self, parser, subcommand_required=True):
self._cmd = self._get_command_object()
@@ -181,12 +181,10 @@ class BaseDbScript(abc.ABC):
"""Facade for common database schema migration operations."""
@abc.abstractmethod
- def _set_dburl(self, config_file: Optional[str] = None) -> None:
- ...
+ def _set_dburl(self, config_file: Optional[str] = None) -> None: ...
@abc.abstractmethod
- def _upgrade_to_head(self, is_sql_mode: bool):
- ...
+ def _upgrade_to_head(self, is_sql_mode: bool): ...
def __init__(self, config_file: Optional[str] = None) -> None:
self.alembic_config = self._get_alembic_cfg()
@@ -259,12 +257,10 @@ class BaseDbScript(abc.ABC):
class BaseCommand(abc.ABC):
@abc.abstractmethod
- def init(self, args: Namespace) -> None:
- ...
+ def init(self, args: Namespace) -> None: ...
@abc.abstractmethod
- def _get_dbscript(self, config_file: str) -> BaseDbScript:
- ...
+ def _get_dbscript(self, config_file: str) -> BaseDbScript: ...
def upgrade(self, args: Namespace) -> None:
self._exec_command("upgrade", args)
@@ -307,8 +303,7 @@ class BaseAlembicManager(abc.ABC):
"""
@abc.abstractmethod
- def _get_alembic_root(self):
- ...
+ def _get_alembic_root(self): ...
@staticmethod
def is_at_revision(engine: Engine, revision: Union[str, Iterable[str]]) -> bool:
diff --git a/lib/galaxy/model/migrations/util.py b/lib/galaxy/model/migrations/util.py
index 012c3a2fc2b..ab6e097c552 100644
--- a/lib/galaxy/model/migrations/util.py
+++ b/lib/galaxy/model/migrations/util.py
@@ -35,16 +35,13 @@ class DDLOperation(ABC):
return None
@abstractmethod
- def execute(self) -> Optional[Any]:
- ...
+ def execute(self) -> Optional[Any]: ...
@abstractmethod
- def pre_execute_check(self) -> bool:
- ...
+ def pre_execute_check(self) -> bool: ...
@abstractmethod
- def log_check_not_passed(self) -> None:
- ...
+ def log_check_not_passed(self) -> None: ...
def _is_repair_mode(self) -> bool:
"""`--repair` option has been passed to the command."""
@@ -82,12 +79,10 @@ class DDLAlterOperation(DDLOperation):
return self.non_batch_execute() # use regular op context for non-sqlite db
@abstractmethod
- def batch_execute(self, batch_op) -> Optional[Any]:
- ...
+ def batch_execute(self, batch_op) -> Optional[Any]: ...
@abstractmethod
- def non_batch_execute(self) -> Optional[Any]:
- ...
+ def non_batch_execute(self) -> Optional[Any]: ...
class CreateTable(DDLOperation):
diff --git a/lib/galaxy/model/orm/scripts.py b/lib/galaxy/model/orm/scripts.py
index 42e3d612b89..e48d639e92f 100644
--- a/lib/galaxy/model/orm/scripts.py
+++ b/lib/galaxy/model/orm/scripts.py
@@ -1,6 +1,7 @@
"""
Code to support database helper scripts (create_toolshed_db.py, migrate_toolshed_db.py, etc...).
"""
+
import argparse
import logging
import os
diff --git a/lib/galaxy/model/scoped_session.py b/lib/galaxy/model/scoped_session.py
index 49e0613b4e0..27b47b39f9c 100644
--- a/lib/galaxy/model/scoped_session.py
+++ b/lib/galaxy/model/scoped_session.py
@@ -4,6 +4,7 @@ the DI framework. This type distinction is necessary because we need to store
scoped_session objects that produce sessions that may have different binds
(i.e., if the tool_shed_install model uses a different database).
"""
+
from sqlalchemy.orm import scoped_session
diff --git a/lib/galaxy/model/store/__init__.py b/lib/galaxy/model/store/__init__.py
index e4eea7fdc03..9cee078dfe5 100644
--- a/lib/galaxy/model/store/__init__.py
+++ b/lib/galaxy/model/store/__init__.py
@@ -272,8 +272,7 @@ class ModelImportStore(metaclass=abc.ABCMeta):
self.import_history_encoded_id = None
@abc.abstractmethod
- def workflow_paths(self) -> Iterator[Tuple[str, str]]:
- ...
+ def workflow_paths(self) -> Iterator[Tuple[str, str]]: ...
@abc.abstractmethod
def defines_new_history(self) -> bool:
@@ -292,8 +291,7 @@ class ModelImportStore(metaclass=abc.ABCMeta):
return []
@abc.abstractmethod
- def invocations_properties(self) -> List[Dict[str, Any]]:
- ...
+ def invocations_properties(self) -> List[Dict[str, Any]]: ...
@abc.abstractmethod
def collections_properties(self) -> List[Dict[str, Any]]:
@@ -304,8 +302,7 @@ class ModelImportStore(metaclass=abc.ABCMeta):
"""Return a list of jobs properties."""
@abc.abstractmethod
- def implicit_collection_jobs_properties(self) -> List[Dict[str, Any]]:
- ...
+ def implicit_collection_jobs_properties(self) -> List[Dict[str, Any]]: ...
@property
@abc.abstractmethod
@@ -1459,8 +1456,7 @@ class BaseDirectoryImportModelStore(ModelImportStore):
_find_hda: Callable,
_find_hdca: Callable,
_find_dce: Callable,
- ) -> Dict[str, Any]:
- ...
+ ) -> Dict[str, Any]: ...
@abc.abstractmethod
def _connect_job_io(
@@ -1470,8 +1466,7 @@ class BaseDirectoryImportModelStore(ModelImportStore):
_find_hda: Callable,
_find_hdca: Callable,
_find_dce: Callable,
- ) -> None:
- ...
+ ) -> None: ...
@property
def file_source_root(self) -> str:
@@ -2396,8 +2391,7 @@ class WriteCrates:
@property
@abc.abstractmethod
- def workflows_directory(self) -> str:
- ...
+ def workflows_directory(self) -> str: ...
def _generate_markdown_readme(self) -> str:
markdown_parts: List[str] = []
diff --git a/lib/galaxy/model/store/discover.py b/lib/galaxy/model/store/discover.py
index ae7143a5ff4..236dcc024ba 100644
--- a/lib/galaxy/model/store/discover.py
+++ b/lib/galaxy/model/store/discover.py
@@ -5,6 +5,7 @@ imports, etc... High-level utilities in this file can be used during
job output discovery or for persisting Galaxy model objects
corresponding to files in other contexts.
"""
+
import abc
import logging
import os
diff --git a/lib/galaxy/model/tool_shed_install/__init__.py b/lib/galaxy/model/tool_shed_install/__init__.py
index 1d41d5c3c67..ab5a7d9a41b 100644
--- a/lib/galaxy/model/tool_shed_install/__init__.py
+++ b/lib/galaxy/model/tool_shed_install/__init__.py
@@ -55,12 +55,10 @@ else:
class HasToolBox(common_util.HasToolShedRegistry, Protocol):
@property
- def tool_dependency_dir(self) -> Optional[str]:
- ...
+ def tool_dependency_dir(self) -> Optional[str]: ...
@property
- def toolbox(self) -> AbstractToolBox:
- ...
+ def toolbox(self) -> AbstractToolBox: ...
class Base(metaclass=DeclarativeMeta):
diff --git a/lib/galaxy/model/unittest_utils/__init__.py b/lib/galaxy/model/unittest_utils/__init__.py
index 790e54ae1f4..c297ab3c04f 100644
--- a/lib/galaxy/model/unittest_utils/__init__.py
+++ b/lib/galaxy/model/unittest_utils/__init__.py
@@ -1,4 +1,5 @@
"""Interface provided by galaxy-data modules for unittest utilities for reuse by other modules."""
+
from .data_app import (
GalaxyDataTestApp,
GalaxyDataTestConfig,
diff --git a/lib/galaxy/model/unittest_utils/data_app.py b/lib/galaxy/model/unittest_utils/data_app.py
index 288fa56c693..8942af46a4d 100644
--- a/lib/galaxy/model/unittest_utils/data_app.py
+++ b/lib/galaxy/model/unittest_utils/data_app.py
@@ -5,6 +5,7 @@ and it has dependencies from across the app. This mock application and config is
more appropriate for testing galaxy-data functionality and will be included with
galaxy-data.
"""
+
import os
import shutil
import tempfile
diff --git a/lib/galaxy/model/unittest_utils/store_fixtures.py b/lib/galaxy/model/unittest_utils/store_fixtures.py
index f93fe32392c..d779e79d698 100644
--- a/lib/galaxy/model/unittest_utils/store_fixtures.py
+++ b/lib/galaxy/model/unittest_utils/store_fixtures.py
@@ -1,4 +1,5 @@
"""Fixtures for populating model stores."""
+
from typing import (
Any,
Dict,
diff --git a/lib/galaxy/objectstore/__init__.py b/lib/galaxy/objectstore/__init__.py
index d799ad674bb..df9f6f485c2 100644
--- a/lib/galaxy/objectstore/__init__.py
+++ b/lib/galaxy/objectstore/__init__.py
@@ -68,7 +68,6 @@ log = logging.getLogger(__name__)
class ObjectStore(metaclass=abc.ABCMeta):
-
"""ObjectStore interface.
FIELD DESCRIPTIONS (these apply to all the methods in this class):
@@ -902,7 +901,6 @@ class DiskObjectStore(ConcreteObjectStore):
class NestedObjectStore(BaseObjectStore):
-
"""
Base for ObjectStores that use other ObjectStores.
@@ -1008,7 +1006,6 @@ class NestedObjectStore(BaseObjectStore):
class DistributedObjectStore(NestedObjectStore):
-
"""
ObjectStore that defers to a list of backends.
diff --git a/lib/galaxy/objectstore/caching.py b/lib/galaxy/objectstore/caching.py
index 2df46868149..f923a33d3fb 100644
--- a/lib/galaxy/objectstore/caching.py
+++ b/lib/galaxy/objectstore/caching.py
@@ -1,5 +1,6 @@
"""
"""
+
import logging
import os
import threading
diff --git a/lib/galaxy/objectstore/irods.py b/lib/galaxy/objectstore/irods.py
index d2ac18fdca9..c4fb79777cc 100644
--- a/lib/galaxy/objectstore/irods.py
+++ b/lib/galaxy/objectstore/irods.py
@@ -1,6 +1,7 @@
"""
Object Store plugin for the Integrated Rule-Oriented Data System (iRODS)
"""
+
import logging
import os
import shutil
diff --git a/lib/galaxy/objectstore/s3.py b/lib/galaxy/objectstore/s3.py
index 41b4d58e96a..7e17c34d844 100644
--- a/lib/galaxy/objectstore/s3.py
+++ b/lib/galaxy/objectstore/s3.py
@@ -1,6 +1,7 @@
"""
Object Store plugin for the Amazon Simple Storage Service (S3)
"""
+
import logging
import multiprocessing
import os
diff --git a/lib/galaxy/objectstore/unittest_utils/__init__.py b/lib/galaxy/objectstore/unittest_utils/__init__.py
index e6acadc4516..f96b12d91a0 100644
--- a/lib/galaxy/objectstore/unittest_utils/__init__.py
+++ b/lib/galaxy/objectstore/unittest_utils/__init__.py
@@ -1,4 +1,5 @@
"""Utilities for configuring and using objectstores in unit tests."""
+
import os
from io import StringIO
from shutil import rmtree
diff --git a/lib/galaxy/queues.py b/lib/galaxy/queues.py
index d68012beb5c..ab6edafcf5b 100644
--- a/lib/galaxy/queues.py
+++ b/lib/galaxy/queues.py
@@ -3,6 +3,7 @@
All message queues used by Galaxy
"""
+
import socket
from typing import Optional
diff --git a/lib/galaxy/quota/__init__.py b/lib/galaxy/quota/__init__.py
index 88254be3438..e7ebcc4b3a8 100644
--- a/lib/galaxy/quota/__init__.py
+++ b/lib/galaxy/quota/__init__.py
@@ -1,4 +1,5 @@
"""Galaxy Quotas"""
+
import logging
from typing import Optional
diff --git a/lib/galaxy/schema/bco/util.py b/lib/galaxy/schema/bco/util.py
index b842c821802..46f9389594f 100644
--- a/lib/galaxy/schema/bco/util.py
+++ b/lib/galaxy/schema/bco/util.py
@@ -3,6 +3,7 @@
We don't have a lot of functional code in this schema module so this may belong
somewhere else in another galaxy-data package.
"""
+
import hashlib
from typing import (
Any,
diff --git a/lib/galaxy/security/__init__.py b/lib/galaxy/security/__init__.py
index 0867f7cc6cf..8d3bfcaa4d2 100644
--- a/lib/galaxy/security/__init__.py
+++ b/lib/galaxy/security/__init__.py
@@ -2,6 +2,7 @@
Galaxy Security
"""
+
from typing import (
List,
Optional,
diff --git a/lib/galaxy/security/validate_user_input.py b/lib/galaxy/security/validate_user_input.py
index 29e052db4dc..5e21c86c6c4 100644
--- a/lib/galaxy/security/validate_user_input.py
+++ b/lib/galaxy/security/validate_user_input.py
@@ -4,6 +4,7 @@ Utilities for validating inputs related to user objects.
The validate_* methods in this file return simple messages that do not contain
user inputs - so these methods do not need to be escaped.
"""
+
import logging
import re
from typing import Optional
diff --git a/lib/galaxy/selenium/cli.py b/lib/galaxy/selenium/cli.py
index 5f52d69ce0f..f52f3b3a733 100644
--- a/lib/galaxy/selenium/cli.py
+++ b/lib/galaxy/selenium/cli.py
@@ -55,7 +55,6 @@ def add_selenium_arguments(parser):
class DriverWrapper(NavigatesGalaxy):
-
"""Adapt argparse command-line options to a concrete Selenium driver."""
def __init__(self, args):
diff --git a/lib/galaxy/selenium/has_driver.py b/lib/galaxy/selenium/has_driver.py
index de7f904edcb..ed11cba9118 100644
--- a/lib/galaxy/selenium/has_driver.py
+++ b/lib/galaxy/selenium/has_driver.py
@@ -3,6 +3,7 @@
This should be mixed into classes with a self.driver and self.default_timeout
attribute.
"""
+
import abc
import threading
from typing import (
@@ -250,8 +251,7 @@ class HasDriver:
element.send_keys(key)
@abc.abstractmethod
- def timeout_for(self, **kwds) -> float:
- ...
+ def timeout_for(self, **kwds) -> float: ...
def wait(self, timeout=UNSPECIFIED_TIMEOUT, **kwds):
if timeout is UNSPECIFIED_TIMEOUT:
diff --git a/lib/galaxy/structured_app.py b/lib/galaxy/structured_app.py
index 2c20b9cf3d5..ebab917098f 100644
--- a/lib/galaxy/structured_app.py
+++ b/lib/galaxy/structured_app.py
@@ -1,4 +1,5 @@
"""Typed description of Galaxy's app object."""
+
import abc
from typing import (
Any,
@@ -125,11 +126,9 @@ class MinimalManagerApp(MinimalApp):
@property
@abc.abstractmethod
- def is_job_handler(self) -> bool:
- ...
+ def is_job_handler(self) -> bool: ...
- def wait_for_toolbox_reload(self, old_toolbox: "ToolBox") -> None:
- ...
+ def wait_for_toolbox_reload(self, old_toolbox: "ToolBox") -> None: ...
class StructuredApp(MinimalManagerApp):
diff --git a/lib/galaxy/tool_shed/galaxy_install/client.py b/lib/galaxy/tool_shed/galaxy_install/client.py
index 92125ba6d78..da9ae649c08 100644
--- a/lib/galaxy/tool_shed/galaxy_install/client.py
+++ b/lib/galaxy/tool_shed/galaxy_install/client.py
@@ -30,28 +30,22 @@ class DataManagerInterface(Protocol):
GUID_TYPE: str = "data_manager"
DEFAULT_VERSION: str = "0.0.1"
- def process_result(self, out_data):
- ...
+ def process_result(self, out_data): ...
- def write_bundle(self, out: Dict[str, OutputDataset]) -> Dict[str, OutputDataset]:
- ...
+ def write_bundle(self, out: Dict[str, OutputDataset]) -> Dict[str, OutputDataset]: ...
class DataManagersInterface(Protocol):
@property
- def _reload_count(self) -> int:
- ...
+ def _reload_count(self) -> int: ...
def load_manager_from_elem(
self, data_manager_elem, tool_path=None, add_manager=True
- ) -> Optional[DataManagerInterface]:
- ...
+ ) -> Optional[DataManagerInterface]: ...
- def get_manager(self, data_manager_id: str) -> Optional[DataManagerInterface]:
- ...
+ def get_manager(self, data_manager_id: str) -> Optional[DataManagerInterface]: ...
- def remove_manager(self, manager_ids: Union[str, List[str]]) -> None:
- ...
+ def remove_manager(self, manager_ids: Union[str, List[str]]) -> None: ...
ToolBoxType = TypeVar("ToolBoxType", bound="AbstractToolBox")
@@ -69,5 +63,4 @@ class InstallationTarget(HasToolBox, Generic[ToolBoxType]):
tool_shed_repository_cache: Optional[ToolShedRepositoryCache]
tool_data_tables: ToolDataTableManager
- def wait_for_toolbox_reload(self, old_toolbox: ToolBoxType) -> None:
- ...
+ def wait_for_toolbox_reload(self, old_toolbox: ToolBoxType) -> None: ...
diff --git a/lib/galaxy/tool_shed/galaxy_install/installed_repository_manager.py b/lib/galaxy/tool_shed/galaxy_install/installed_repository_manager.py
index 76bf5b0b24c..aff38254d18 100644
--- a/lib/galaxy/tool_shed/galaxy_install/installed_repository_manager.py
+++ b/lib/galaxy/tool_shed/galaxy_install/installed_repository_manager.py
@@ -1,6 +1,7 @@
"""
Class encapsulating the management of repositories installed into Galaxy from the Tool Shed.
"""
+
import copy
import logging
import os
@@ -170,9 +171,9 @@ class InstalledRepositoryManager:
)
debug_msg += "to installed_repository_dependencies_of_installed_repositories."
log.debug(debug_msg)
- self.installed_repository_dependencies_of_installed_repositories[
- repository_tup
- ] = repository_dependency_tups
+ self.installed_repository_dependencies_of_installed_repositories[repository_tup] = (
+ repository_dependency_tups
+ )
# Use the repository_dependency_tups to add entries to the reverse dictionary
# self.installed_dependent_repositories_of_installed_repositories.
for required_repository_tup in repository_dependency_tups:
diff --git a/lib/galaxy/tool_shed/galaxy_install/repository_dependencies/repository_dependency_manager.py b/lib/galaxy/tool_shed/galaxy_install/repository_dependencies/repository_dependency_manager.py
index 0d6a291e057..b367a3322fb 100644
--- a/lib/galaxy/tool_shed/galaxy_install/repository_dependencies/repository_dependency_manager.py
+++ b/lib/galaxy/tool_shed/galaxy_install/repository_dependencies/repository_dependency_manager.py
@@ -2,6 +2,7 @@
Class encapsulating the management of repository dependencies installed or being installed
into Galaxy from the Tool Shed.
"""
+
import json
import logging
import os
diff --git a/lib/galaxy/tool_shed/galaxy_install/update_repository_manager.py b/lib/galaxy/tool_shed/galaxy_install/update_repository_manager.py
index 6b2e9dead30..42f86250f56 100644
--- a/lib/galaxy/tool_shed/galaxy_install/update_repository_manager.py
+++ b/lib/galaxy/tool_shed/galaxy_install/update_repository_manager.py
@@ -1,6 +1,7 @@
"""
Determine if installed tool shed repositories have updates available in their respective tool sheds.
"""
+
import logging
import threading
from typing import NamedTuple
diff --git a/lib/galaxy/tool_shed/metadata/metadata_generator.py b/lib/galaxy/tool_shed/metadata/metadata_generator.py
index a93139c17af..e040ec0bdf1 100644
--- a/lib/galaxy/tool_shed/metadata/metadata_generator.py
+++ b/lib/galaxy/tool_shed/metadata/metadata_generator.py
@@ -68,8 +68,7 @@ class RepositoryProtocol(Protocol):
name: str
id: str
- def repo_path(self, app) -> Optional[str]:
- ...
+ def repo_path(self, app) -> Optional[str]: ...
class BaseMetadataGenerator:
diff --git a/lib/galaxy/tool_util/client/staging.py b/lib/galaxy/tool_util/client/staging.py
index 46ea37b5858..0a93fb9ddd9 100644
--- a/lib/galaxy/tool_util/client/staging.py
+++ b/lib/galaxy/tool_util/client/staging.py
@@ -3,6 +3,7 @@
Implement as a connector to serve a bridge between galactic_job_json
utility and a Galaxy API library.
"""
+
import abc
import json
import logging
diff --git a/lib/galaxy/tool_util/cwl/cwltool_deps.py b/lib/galaxy/tool_util/cwl/cwltool_deps.py
index 9d0bba1d539..bd40a6c3092 100644
--- a/lib/galaxy/tool_util/cwl/cwltool_deps.py
+++ b/lib/galaxy/tool_util/cwl/cwltool_deps.py
@@ -4,6 +4,7 @@ Use this as the import interface for cwltool and just call
:func:`ensure_cwltool_available` before using any of the imported
functionality at runtime.
"""
+
import re
import warnings
diff --git a/lib/galaxy/tool_util/cwl/parser.py b/lib/galaxy/tool_util/cwl/parser.py
index 2dc573ec930..6236eb9d879 100644
--- a/lib/galaxy/tool_util/cwl/parser.py
+++ b/lib/galaxy/tool_util/cwl/parser.py
@@ -1231,12 +1231,10 @@ class InputInstance:
self.area = area
@overload
- def to_dict(self, itemwise: Literal[False]) -> InputInstanceDict:
- ...
+ def to_dict(self, itemwise: Literal[False]) -> InputInstanceDict: ...
@overload
- def to_dict(self, itemwise: Literal[True]) -> Union[InputInstanceDict, InputInstanceArrayDict]:
- ...
+ def to_dict(self, itemwise: Literal[True]) -> Union[InputInstanceDict, InputInstanceArrayDict]: ...
def to_dict(self, itemwise: bool = True) -> Union[InputInstanceDict, InputInstanceArrayDict]:
if itemwise and self.array:
diff --git a/lib/galaxy/tool_util/cwl/runnable.py b/lib/galaxy/tool_util/cwl/runnable.py
index 4ee7581d5fd..4890d1f0822 100644
--- a/lib/galaxy/tool_util/cwl/runnable.py
+++ b/lib/galaxy/tool_util/cwl/runnable.py
@@ -1,4 +1,5 @@
"""Lighter-weight variant of Planemo runnable outputs."""
+
from galaxy.tool_util.parser import get_tool_source
from .parser import workflow_proxy
from .util import guess_artifact_type
diff --git a/lib/galaxy/tool_util/cwl/schema.py b/lib/galaxy/tool_util/cwl/schema.py
index f29a245850e..03370b03d2b 100644
--- a/lib/galaxy/tool_util/cwl/schema.py
+++ b/lib/galaxy/tool_util/cwl/schema.py
@@ -1,4 +1,5 @@
"""Abstraction around cwltool and related libraries for loading a CWL artifact."""
+
import os
import tempfile
from typing import NamedTuple
diff --git a/lib/galaxy/tool_util/cwl/util.py b/lib/galaxy/tool_util/cwl/util.py
index 18e40beb1e7..fd32c907926 100644
--- a/lib/galaxy/tool_util/cwl/util.py
+++ b/lib/galaxy/tool_util/cwl/util.py
@@ -2,6 +2,7 @@
Used to share code between the Galaxy test framework
and other Galaxy CWL clients (e.g. Planemo)."""
+
import abc
import hashlib
import io
diff --git a/lib/galaxy/tool_util/data/__init__.py b/lib/galaxy/tool_util/data/__init__.py
index 6597124536b..08ca6d82ff4 100644
--- a/lib/galaxy/tool_util/data/__init__.py
+++ b/lib/galaxy/tool_util/data/__init__.py
@@ -81,8 +81,7 @@ EntrySource = Optional[Union[dict, RepoInfo, "DataManager"]]
class StoresConfigFilePaths(Protocol):
- def get(self, key: Any, default: Optional[Any]) -> Optional[Any]:
- ...
+ def get(self, key: Any, default: Optional[Any]) -> Optional[Any]: ...
class ToolDataPathFiles:
@@ -892,8 +891,7 @@ tool_data_table_types_list: List[Type[ToolDataTable]] = [TabularToolDataTable]
class HasExtraFiles(Protocol):
extra_files_path: str
- def extra_files_path_exists(self) -> bool:
- ...
+ def extra_files_path_exists(self) -> bool: ...
class DirectoryAsExtraFiles(HasExtraFiles):
@@ -907,8 +905,7 @@ class DirectoryAsExtraFiles(HasExtraFiles):
class OutputDataset(HasExtraFiles, Protocol):
ext: str
- def get_file_name(self, sync_cache=True) -> str:
- ...
+ def get_file_name(self, sync_cache=True) -> str: ...
class ToolDataTableManager(Dictifiable):
diff --git a/lib/galaxy/tool_util/deps/brew_util.py b/lib/galaxy/tool_util/deps/brew_util.py
index a2e19d7d5cc..6f748a0402f 100644
--- a/lib/galaxy/tool_util/deps/brew_util.py
+++ b/lib/galaxy/tool_util/deps/brew_util.py
@@ -2,6 +2,7 @@
builds on those abstraction and provides Galaxy specific functionality
not useful to the brew external commands.
"""
+
from . import brew_exts
DEFAULT_TAP = "homebrew/science"
diff --git a/lib/galaxy/tool_util/deps/conda_compat.py b/lib/galaxy/tool_util/deps/conda_compat.py
index 8bc745e7cc0..d4ee224960c 100644
--- a/lib/galaxy/tool_util/deps/conda_compat.py
+++ b/lib/galaxy/tool_util/deps/conda_compat.py
@@ -4,6 +4,7 @@ In general there are utilities available for Conda building and parsing that are
and should be utilized when available but that are only available in conda channels and not in
PyPI. This module serves as a PyPI capable interface to these utilities.
"""
+
import os
from collections.abc import Hashable
diff --git a/lib/galaxy/tool_util/deps/container_classes.py b/lib/galaxy/tool_util/deps/container_classes.py
index e89e55ab6b1..e7bd0940a0f 100644
--- a/lib/galaxy/tool_util/deps/container_classes.py
+++ b/lib/galaxy/tool_util/deps/container_classes.py
@@ -96,16 +96,13 @@ class ContainerProtocol(Protocol):
"""
@property
- def app_info(self) -> "AppInfo":
- ...
+ def app_info(self) -> "AppInfo": ...
@property
- def tool_info(self) -> "ToolInfo":
- ...
+ def tool_info(self) -> "ToolInfo": ...
@property
- def job_info(self) -> Optional["JobInfo"]:
- ...
+ def job_info(self) -> Optional["JobInfo"]: ...
class Container(metaclass=ABCMeta):
diff --git a/lib/galaxy/tool_util/deps/container_resolvers/__init__.py b/lib/galaxy/tool_util/deps/container_resolvers/__init__.py
index 763e293819b..6407ba2fa60 100644
--- a/lib/galaxy/tool_util/deps/container_resolvers/__init__.py
+++ b/lib/galaxy/tool_util/deps/container_resolvers/__init__.py
@@ -1,4 +1,5 @@
"""The module defines the abstract interface for resolving container images for tool execution."""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/tool_util/deps/container_resolvers/explicit.py b/lib/galaxy/tool_util/deps/container_resolvers/explicit.py
index c85359827ec..6493db1197a 100644
--- a/lib/galaxy/tool_util/deps/container_resolvers/explicit.py
+++ b/lib/galaxy/tool_util/deps/container_resolvers/explicit.py
@@ -1,4 +1,5 @@
"""This module describes the :class:`ExplicitContainerResolver` ContainerResolver plugin."""
+
import copy
import logging
import os
diff --git a/lib/galaxy/tool_util/deps/docker_util.py b/lib/galaxy/tool_util/deps/docker_util.py
index 54823dd1219..c47a3296bbd 100644
--- a/lib/galaxy/tool_util/deps/docker_util.py
+++ b/lib/galaxy/tool_util/deps/docker_util.py
@@ -2,6 +2,7 @@
...using common defaults and configuration mechanisms.
"""
+
import os
import shlex
import sys
diff --git a/lib/galaxy/tool_util/deps/resolvers/__init__.py b/lib/galaxy/tool_util/deps/resolvers/__init__.py
index d5e644ad52f..492219665e0 100644
--- a/lib/galaxy/tool_util/deps/resolvers/__init__.py
+++ b/lib/galaxy/tool_util/deps/resolvers/__init__.py
@@ -1,4 +1,5 @@
"""The module defines the abstract interface for dealing tool dependency resolution plugins."""
+
import errno
import os.path
from abc import (
diff --git a/lib/galaxy/tool_util/deps/resolvers/brewed_tool_shed_packages.py b/lib/galaxy/tool_util/deps/resolvers/brewed_tool_shed_packages.py
index 7b0c52e7d97..2174ccf0ee5 100644
--- a/lib/galaxy/tool_util/deps/resolvers/brewed_tool_shed_packages.py
+++ b/lib/galaxy/tool_util/deps/resolvers/brewed_tool_shed_packages.py
@@ -3,6 +3,7 @@ This dependency resolver resolves tool shed dependencies (those defined
tool_dependencies.xml) installed using Platform Homebrew and converted
via shed2tap (e.g. https://github.com/jmchilton/homebrew-toolshed).
"""
+
import logging
import os
diff --git a/lib/galaxy/tool_util/deps/resolvers/lmod.py b/lib/galaxy/tool_util/deps/resolvers/lmod.py
index 082de0bbff0..bbe40897a5e 100644
--- a/lib/galaxy/tool_util/deps/resolvers/lmod.py
+++ b/lib/galaxy/tool_util/deps/resolvers/lmod.py
@@ -6,6 +6,7 @@ LMOD official website: https://www.tacc.utexas.edu/research-development/tacc-pro
LMOD @ Github: https://github.com/TACC/Lmod
"""
+
import logging
from io import StringIO
from os import getenv
diff --git a/lib/galaxy/tool_util/deps/resolvers/modules.py b/lib/galaxy/tool_util/deps/resolvers/modules.py
index 3f7ce514bdb..ffd5a30b1d3 100644
--- a/lib/galaxy/tool_util/deps/resolvers/modules.py
+++ b/lib/galaxy/tool_util/deps/resolvers/modules.py
@@ -6,6 +6,7 @@ This is a community contributed feature and the core Galaxy team does utilize
it, hence support for it will be minimal. The Galaxy team eagerly welcomes
community contribution and maintenance however.
"""
+
import logging
from io import StringIO
from os import (
diff --git a/lib/galaxy/tool_util/deps/resolvers/unlinked_tool_shed_packages.py b/lib/galaxy/tool_util/deps/resolvers/unlinked_tool_shed_packages.py
index cb4593639e4..a565771d339 100644
--- a/lib/galaxy/tool_util/deps/resolvers/unlinked_tool_shed_packages.py
+++ b/lib/galaxy/tool_util/deps/resolvers/unlinked_tool_shed_packages.py
@@ -20,6 +20,7 @@ At the time of writing July 3 2015 this resolver has to be plugged in.
See bottom for instructions on how to add this resolver.
"""
+
import logging
from os import listdir
from os.path import (
diff --git a/lib/galaxy/tool_util/linters/general.py b/lib/galaxy/tool_util/linters/general.py
index ee2df7f004d..8ca73c76ff7 100644
--- a/lib/galaxy/tool_util/linters/general.py
+++ b/lib/galaxy/tool_util/linters/general.py
@@ -1,4 +1,5 @@
"""This module contains linting functions for general aspects of the tool."""
+
import re
from galaxy.tool_util.version import (
diff --git a/lib/galaxy/tool_util/linters/inputs.py b/lib/galaxy/tool_util/linters/inputs.py
index 0c619e49095..4fdfb89ea07 100644
--- a/lib/galaxy/tool_util/linters/inputs.py
+++ b/lib/galaxy/tool_util/linters/inputs.py
@@ -1,4 +1,5 @@
"""This module contains a linting functions for tool inputs."""
+
import ast
import re
from typing import TYPE_CHECKING
diff --git a/lib/galaxy/tool_util/linters/outputs.py b/lib/galaxy/tool_util/linters/outputs.py
index e034b0fe606..bfb9e1674fd 100644
--- a/lib/galaxy/tool_util/linters/outputs.py
+++ b/lib/galaxy/tool_util/linters/outputs.py
@@ -1,4 +1,5 @@
"""This module contains a linting functions for tool outputs."""
+
from typing import TYPE_CHECKING
from packaging.version import Version
diff --git a/lib/galaxy/tool_util/linters/stdio.py b/lib/galaxy/tool_util/linters/stdio.py
index 981882bbde3..04eec39e7fb 100644
--- a/lib/galaxy/tool_util/linters/stdio.py
+++ b/lib/galaxy/tool_util/linters/stdio.py
@@ -1,4 +1,5 @@
"""This module contains a linting functions for tool error detection."""
+
import re
from galaxy.util import etree
diff --git a/lib/galaxy/tool_util/linters/tests.py b/lib/galaxy/tool_util/linters/tests.py
index 5f26dc64c60..6f0680b2daf 100644
--- a/lib/galaxy/tool_util/linters/tests.py
+++ b/lib/galaxy/tool_util/linters/tests.py
@@ -1,4 +1,5 @@
"""This module contains a linting functions for tool tests."""
+
import typing
from inspect import (
Parameter,
diff --git a/lib/galaxy/tool_util/loader_directory.py b/lib/galaxy/tool_util/loader_directory.py
index 1491f5ab047..ff386752dec 100644
--- a/lib/galaxy/tool_util/loader_directory.py
+++ b/lib/galaxy/tool_util/loader_directory.py
@@ -1,4 +1,5 @@
"""Utilities for loading and reasoning about unparsed tools in directories."""
+
import fnmatch
import glob
import logging
diff --git a/lib/galaxy/tool_util/parser/__init__.py b/lib/galaxy/tool_util/parser/__init__.py
index 27518c895be..509a6c066b3 100644
--- a/lib/galaxy/tool_util/parser/__init__.py
+++ b/lib/galaxy/tool_util/parser/__init__.py
@@ -1,5 +1,6 @@
""" Package responsible for parsing tools from files/abstract tool sources.
"""
+
from .factory import (
get_input_source,
get_tool_source,
diff --git a/lib/galaxy/tool_util/parser/output_collection_def.py b/lib/galaxy/tool_util/parser/output_collection_def.py
index bd130da118e..4d16cb5d353 100644
--- a/lib/galaxy/tool_util/parser/output_collection_def.py
+++ b/lib/galaxy/tool_util/parser/output_collection_def.py
@@ -1,6 +1,7 @@
""" This module define an abstract class for reasoning about Galaxy's
dataset collection after jobs are finished.
"""
+
from typing import List
from galaxy.util import asbool
diff --git a/lib/galaxy/tool_util/toolbox/base.py b/lib/galaxy/tool_util/toolbox/base.py
index c2a2f1ee47b..5ada4549c5a 100644
--- a/lib/galaxy/tool_util/toolbox/base.py
+++ b/lib/galaxy/tool_util/toolbox/base.py
@@ -1389,8 +1389,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
return lambda element, item_type: _filter_for_panel(element, item_type, filters, context)
@abc.abstractmethod
- def _looks_like_a_tool(self, path: str) -> bool:
- ...
+ def _looks_like_a_tool(self, path: str) -> bool: ...
def _filter_for_panel(item, item_type, filters, context):
diff --git a/lib/galaxy/tool_util/toolbox/parser.py b/lib/galaxy/tool_util/toolbox/parser.py
index 63416e48fc2..07b841f93f7 100644
--- a/lib/galaxy/tool_util/toolbox/parser.py
+++ b/lib/galaxy/tool_util/toolbox/parser.py
@@ -3,6 +3,7 @@
These files define tool lists, sections, labels, etc... the elements of the
Galaxy tool panel.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/tool_util/verify/interactor.py b/lib/galaxy/tool_util/verify/interactor.py
index 94cdb25a8ef..c3b9eeca8a7 100644
--- a/lib/galaxy/tool_util/verify/interactor.py
+++ b/lib/galaxy/tool_util/verify/interactor.py
@@ -1278,8 +1278,7 @@ def _verify_extra_files_content(
class TestConfig(Protocol):
- def get_test_config(self, job_data: Dict[str, Any]) -> Optional[Dict[str, Any]]:
- ...
+ def get_test_config(self, job_data: Dict[str, Any]) -> Optional[Dict[str, Any]]: ...
class NullClientTestConfig(TestConfig):
diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index a3b894d1e9b..3213f10b218 100644
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -1,6 +1,7 @@
"""
Classes encapsulating galaxy tools and tool configuration.
"""
+
import itertools
import json
import logging
diff --git a/lib/galaxy/tools/actions/__init__.py b/lib/galaxy/tools/actions/__init__.py
index cee8b06015d..80604f7976f 100644
--- a/lib/galaxy/tools/actions/__init__.py
+++ b/lib/galaxy/tools/actions/__init__.py
@@ -176,9 +176,9 @@ class DefaultToolAction(ToolAction):
for conversion_name, conversion_extensions, conversion_datatypes in input.conversions:
new_data = process_dataset(input_datasets[prefixed_name + str(i + 1)], conversion_datatypes)
if not new_data or new_data.datatype.matches_any(conversion_datatypes):
- input_datasets[
- prefixed_name[: -len(input.name)] + conversion_name + str(i + 1)
- ] = new_data
+ input_datasets[prefixed_name[: -len(input.name)] + conversion_name + str(i + 1)] = (
+ new_data
+ )
input_datasets.set_legacy_alias(
new_key=prefixed_name[: -len(input.name)] + conversion_name + str(i + 1),
old_key=prefix + conversion_name + str(i + 1),
@@ -221,9 +221,9 @@ class DefaultToolAction(ToolAction):
target_dict[input.name] = input_datasets[prefixed_name]
for conversion_name, conversion_data in conversions:
# allow explicit conversion to be stored in job_parameter table
- target_dict[
- conversion_name
- ] = conversion_data.id # a more robust way to determine JSONable value is desired
+ target_dict[conversion_name] = (
+ conversion_data.id
+ ) # a more robust way to determine JSONable value is desired
elif isinstance(input, DataCollectionToolParameter):
if not value:
return
diff --git a/lib/galaxy/tools/error_reports/__init__.py b/lib/galaxy/tools/error_reports/__init__.py
index 83762ac5c96..3ac83fbb42a 100644
--- a/lib/galaxy/tools/error_reports/__init__.py
+++ b/lib/galaxy/tools/error_reports/__init__.py
@@ -1,5 +1,6 @@
"""This module defines the error reporting framework for Galaxy jobs.
"""
+
import collections
import logging
import os
diff --git a/lib/galaxy/tools/error_reports/plugins/__init__.py b/lib/galaxy/tools/error_reports/plugins/__init__.py
index 04fed72a165..97de6441cb3 100644
--- a/lib/galaxy/tools/error_reports/plugins/__init__.py
+++ b/lib/galaxy/tools/error_reports/plugins/__init__.py
@@ -2,6 +2,7 @@
These are responsible for collecting and formatting a coherent set of metrics.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/tools/error_reports/plugins/base_git.py b/lib/galaxy/tools/error_reports/plugins/base_git.py
index b0e6e1e793a..e1487642c6f 100644
--- a/lib/galaxy/tools/error_reports/plugins/base_git.py
+++ b/lib/galaxy/tools/error_reports/plugins/base_git.py
@@ -1,7 +1,6 @@
"""This module defines the common functions for error reporting for Galaxy jobs towards Git applications (e.g. Github/GitLab).
"""
-
import logging
from abc import (
ABCMeta,
diff --git a/lib/galaxy/tools/error_reports/plugins/sentry.py b/lib/galaxy/tools/error_reports/plugins/sentry.py
index 21b914e0be0..052f4c19dba 100644
--- a/lib/galaxy/tools/error_reports/plugins/sentry.py
+++ b/lib/galaxy/tools/error_reports/plugins/sentry.py
@@ -1,4 +1,5 @@
"""The module describes the ``sentry`` error plugin."""
+
import logging
from typing import Dict
diff --git a/lib/galaxy/tools/error_reports/plugins/slack.py b/lib/galaxy/tools/error_reports/plugins/slack.py
index 10e3c69128b..6af1431ba86 100644
--- a/lib/galaxy/tools/error_reports/plugins/slack.py
+++ b/lib/galaxy/tools/error_reports/plugins/slack.py
@@ -1,4 +1,5 @@
"""The module describes the ``slack`` error plugin plugin."""
+
import logging
import uuid
from typing import (
diff --git a/lib/galaxy/tools/errors.py b/lib/galaxy/tools/errors.py
index 38a74e2914b..e1dc2052bb5 100644
--- a/lib/galaxy/tools/errors.py
+++ b/lib/galaxy/tools/errors.py
@@ -1,6 +1,7 @@
"""
Functionality for dealing with tool errors.
"""
+
import string
import markupsafe
diff --git a/lib/galaxy/tools/evaluation.py b/lib/galaxy/tools/evaluation.py
index 2e0c40c2c3f..39247afde9e 100644
--- a/lib/galaxy/tools/evaluation.py
+++ b/lib/galaxy/tools/evaluation.py
@@ -560,9 +560,9 @@ class ToolEvaluator:
# Remove key so that new wrapped object will occupy key slot
del param_dict[key]
# And replace with new wrapped key
- param_dict[
- wrap_with_safe_string(key, no_wrap_classes=ToolParameterValueWrapper)
- ] = wrap_with_safe_string(value, no_wrap_classes=ToolParameterValueWrapper)
+ param_dict[wrap_with_safe_string(key, no_wrap_classes=ToolParameterValueWrapper)] = (
+ wrap_with_safe_string(value, no_wrap_classes=ToolParameterValueWrapper)
+ )
def build(self):
"""
@@ -686,9 +686,9 @@ class ToolEvaluator:
)
config_file_basename = os.path.basename(config_filename)
# environment setup in job file template happens before `cd $working_directory`
- environment_variable[
- "value"
- ] = f'`cat "{self.compute_environment.env_config_directory()}/{config_file_basename}"`'
+ environment_variable["value"] = (
+ f'`cat "{self.compute_environment.env_config_directory()}/{config_file_basename}"`'
+ )
environment_variable["raw"] = True
environment_variable["job_directory_path"] = config_filename
environment_variables.append(environment_variable)
diff --git a/lib/galaxy/tools/execute.py b/lib/galaxy/tools/execute.py
index e1ac8f9f6e2..6b4180a825c 100644
--- a/lib/galaxy/tools/execute.py
+++ b/lib/galaxy/tools/execute.py
@@ -3,6 +3,7 @@ Once state information has been calculated, handle actually executing tools
from various states, tracking results, and building implicit dataset
collections from matched collections.
"""
+
import collections
import logging
import typing
diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py
index 7f23efe13e3..3cf9e7d377d 100644
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -2029,9 +2029,7 @@ class BaseDataToolParameter(ToolParameter):
raise ValueError("At most %d datasets are required for %s" % (self.max, self.name))
-def src_id_to_item(
- sa_session: "Session", value: Dict[str, Any], security: "IdEncodingHelper"
-) -> Union[
+def src_id_to_item(sa_session: "Session", value: Dict[str, Any], security: "IdEncodingHelper") -> Union[
DatasetCollectionElement,
HistoryDatasetAssociation,
HistoryDatasetCollectionAssociation,
@@ -2248,9 +2246,9 @@ class DataToolParameter(BaseDataToolParameter):
or (not input.dynamic_options and not input.options)
or not input.options.converter_safe
):
- converter_safe[
- 0
- ] = False # This option does not allow for conversion, i.e. uses contents of dataset file to generate options
+ converter_safe[0] = (
+ False # This option does not allow for conversion, i.e. uses contents of dataset file to generate options
+ )
self.tool.visit_inputs(other_values, visitor)
return False not in converter_safe
diff --git a/lib/galaxy/tools/parameters/dynamic_options.py b/lib/galaxy/tools/parameters/dynamic_options.py
index 2e05fa475eb..e01ca980704 100644
--- a/lib/galaxy/tools/parameters/dynamic_options.py
+++ b/lib/galaxy/tools/parameters/dynamic_options.py
@@ -2,6 +2,7 @@
Support for generating the options for a SelectToolParameter dynamically (based
on the values of other parameters or other aspects of the current state)
"""
+
import copy
import logging
import os
diff --git a/lib/galaxy/tools/parameters/grouping.py b/lib/galaxy/tools/parameters/grouping.py
index ad18c4d5595..4ee100cbce7 100644
--- a/lib/galaxy/tools/parameters/grouping.py
+++ b/lib/galaxy/tools/parameters/grouping.py
@@ -1,6 +1,7 @@
"""
Constructs for grouping tool parameters
"""
+
import io
import logging
import os
diff --git a/lib/galaxy/tools/parameters/sanitize.py b/lib/galaxy/tools/parameters/sanitize.py
index 9a576b5c9d8..5ea49dcd734 100644
--- a/lib/galaxy/tools/parameters/sanitize.py
+++ b/lib/galaxy/tools/parameters/sanitize.py
@@ -1,6 +1,7 @@
"""
Tool Parameter specific sanitizing.
"""
+
import logging
import string
diff --git a/lib/galaxy/tools/parameters/validation.py b/lib/galaxy/tools/parameters/validation.py
index 49cae6053b9..ed0bbcf9884 100644
--- a/lib/galaxy/tools/parameters/validation.py
+++ b/lib/galaxy/tools/parameters/validation.py
@@ -1,6 +1,7 @@
"""
Classes related to parameter validation.
"""
+
import abc
import json
import logging
diff --git a/lib/galaxy/tools/repositories.py b/lib/galaxy/tools/repositories.py
index 50e848dda7a..206d6632d0b 100644
--- a/lib/galaxy/tools/repositories.py
+++ b/lib/galaxy/tools/repositories.py
@@ -1,4 +1,5 @@
"""Provides a subset of app for verifying tools."""
+
import os
import shutil
import tempfile
diff --git a/lib/galaxy/tools/search/__init__.py b/lib/galaxy/tools/search/__init__.py
index 075cbc9c51e..cc77ad0125a 100644
--- a/lib/galaxy/tools/search/__init__.py
+++ b/lib/galaxy/tools/search/__init__.py
@@ -24,6 +24,7 @@ Filters - various filters are available for processing content as the index is
stemming -> stem; opened -> open; philosophy -> philosoph.
"""
+
import logging
import os
import re
diff --git a/lib/galaxy/tours/_impl.py b/lib/galaxy/tours/_impl.py
index d0bcf82b7a4..60ab97bfc80 100644
--- a/lib/galaxy/tours/_impl.py
+++ b/lib/galaxy/tours/_impl.py
@@ -1,6 +1,7 @@
"""
This module manages loading/etc of Galaxy interactive tours.
"""
+
import logging
import os
from typing import (
diff --git a/lib/galaxy/util/__init__.py b/lib/galaxy/util/__init__.py
index 6c5403ff6d6..dc764168588 100644
--- a/lib/galaxy/util/__init__.py
+++ b/lib/galaxy/util/__init__.py
@@ -1080,25 +1080,21 @@ ItemType = TypeVar("ItemType")
@overload
-def listify(item: Union[None, Literal[False]], do_strip: bool = False) -> List:
- ...
+def listify(item: Union[None, Literal[False]], do_strip: bool = False) -> List: ...
@overload
-def listify(item: str, do_strip: bool = False) -> List[str]:
- ...
+def listify(item: str, do_strip: bool = False) -> List[str]: ...
@overload
-def listify(item: Union[List[ItemType], Tuple[ItemType, ...]], do_strip: bool = False) -> List[ItemType]:
- ...
+def listify(item: Union[List[ItemType], Tuple[ItemType, ...]], do_strip: bool = False) -> List[ItemType]: ...
# Unfortunately we cannot use ItemType .. -> List[ItemType] in the next overload
# because then that would also match Union types.
@overload
-def listify(item: Any, do_strip: bool = False) -> List:
- ...
+def listify(item: Any, do_strip: bool = False) -> List: ...
def listify(item: Any, do_strip: bool = False) -> List:
@@ -1157,8 +1153,7 @@ def unicodify( # type: ignore[misc]
error: str = "replace",
strip_null: bool = False,
log_exception: bool = True,
-) -> None:
- ...
+) -> None: ...
@overload
@@ -1168,8 +1163,7 @@ def unicodify(
error: str = "replace",
strip_null: bool = False,
log_exception: bool = True,
-) -> str:
- ...
+) -> str: ...
def unicodify(
diff --git a/lib/galaxy/util/checkers.py b/lib/galaxy/util/checkers.py
index f51623199f9..de2e149aa6e 100644
--- a/lib/galaxy/util/checkers.py
+++ b/lib/galaxy/util/checkers.py
@@ -31,8 +31,7 @@ HTML_REGEXPS = (
class CompressionChecker(Protocol):
- def __call__(self, file_path: str, check_content: bool = True) -> Tuple[bool, bool]:
- ...
+ def __call__(self, file_path: str, check_content: bool = True) -> Tuple[bool, bool]: ...
def check_html(name, file_path: bool = True) -> bool:
diff --git a/lib/galaxy/util/commands.py b/lib/galaxy/util/commands.py
index 6238431c0e4..206bbb25b3c 100644
--- a/lib/galaxy/util/commands.py
+++ b/lib/galaxy/util/commands.py
@@ -1,4 +1,5 @@
"""Generic I/O and shell processing code used by Galaxy tool dependencies."""
+
import logging
import os
import shlex
diff --git a/lib/galaxy/util/compression_utils.py b/lib/galaxy/util/compression_utils.py
index 205cfd5558c..addfe96dd6f 100644
--- a/lib/galaxy/util/compression_utils.py
+++ b/lib/galaxy/util/compression_utils.py
@@ -45,23 +45,23 @@ FileObjType = Union[FileObjTypeStr, FileObjTypeBytes]
@overload
-def get_fileobj(filename: str, mode: Literal["r"], compressed_formats: Optional[List[str]] = None) -> FileObjTypeStr:
- ...
+def get_fileobj(
+ filename: str, mode: Literal["r"], compressed_formats: Optional[List[str]] = None
+) -> FileObjTypeStr: ...
@overload
-def get_fileobj(filename: str, mode: Literal["rb"], compressed_formats: Optional[List[str]] = None) -> FileObjTypeBytes:
- ...
+def get_fileobj(
+ filename: str, mode: Literal["rb"], compressed_formats: Optional[List[str]] = None
+) -> FileObjTypeBytes: ...
@overload
-def get_fileobj(filename: str) -> FileObjTypeStr:
- ...
+def get_fileobj(filename: str) -> FileObjTypeStr: ...
@overload
-def get_fileobj(filename: str, mode: str = "r", compressed_formats: Optional[List[str]] = None) -> FileObjType:
- ...
+def get_fileobj(filename: str, mode: str = "r", compressed_formats: Optional[List[str]] = None) -> FileObjType: ...
def get_fileobj(filename: str, mode: str = "r", compressed_formats: Optional[List[str]] = None) -> FileObjType:
@@ -80,27 +80,23 @@ def get_fileobj(filename: str, mode: str = "r", compressed_formats: Optional[Lis
@overload
def get_fileobj_raw(
filename: str, mode: Literal["r"], compressed_formats: Optional[List[str]] = None
-) -> Tuple[Optional[str], FileObjTypeStr]:
- ...
+) -> Tuple[Optional[str], FileObjTypeStr]: ...
@overload
def get_fileobj_raw(
filename: str, mode: Literal["rb"], compressed_formats: Optional[List[str]] = None
-) -> Tuple[Optional[str], FileObjTypeBytes]:
- ...
+) -> Tuple[Optional[str], FileObjTypeBytes]: ...
@overload
-def get_fileobj_raw(filename: str) -> Tuple[Optional[str], FileObjTypeStr]:
- ...
+def get_fileobj_raw(filename: str) -> Tuple[Optional[str], FileObjTypeStr]: ...
@overload
def get_fileobj_raw(
filename: str, mode: str = "r", compressed_formats: Optional[List[str]] = None
-) -> Tuple[Optional[str], FileObjType]:
- ...
+) -> Tuple[Optional[str], FileObjType]: ...
def get_fileobj_raw(
diff --git a/lib/galaxy/util/config_parsers.py b/lib/galaxy/util/config_parsers.py
index 00ef641f28c..7863d66d08f 100644
--- a/lib/galaxy/util/config_parsers.py
+++ b/lib/galaxy/util/config_parsers.py
@@ -13,9 +13,11 @@ IpAllowedListEntryT = Union[IpAddressT, IpNetworkT]
def parse_allowlist_ips(fetch_url_allowlist: List[str]) -> List[IpAllowedListEntryT]:
return [
- ipaddress.ip_network(unicodify(ip.strip())) # If it has a slash, assume 127.0.0.1/24 notation
- if "/" in ip
- else ipaddress.ip_address(unicodify(ip.strip())) # Otherwise interpret it as an ip address.
+ (
+ ipaddress.ip_network(unicodify(ip.strip())) # If it has a slash, assume 127.0.0.1/24 notation
+ if "/" in ip
+ else ipaddress.ip_address(unicodify(ip.strip()))
+ ) # Otherwise interpret it as an ip address.
for ip in fetch_url_allowlist
if len(ip.strip()) > 0
]
diff --git a/lib/galaxy/util/facts.py b/lib/galaxy/util/facts.py
index 00ca0ff09f1..37d4c851b7d 100644
--- a/lib/galaxy/util/facts.py
+++ b/lib/galaxy/util/facts.py
@@ -1,5 +1,6 @@
"""Return various facts for string formatting.
"""
+
import socket
from collections.abc import MutableMapping
diff --git a/lib/galaxy/util/filelock.py b/lib/galaxy/util/filelock.py
index 860a9d8a701..4378ad85b74 100644
--- a/lib/galaxy/util/filelock.py
+++ b/lib/galaxy/util/filelock.py
@@ -5,6 +5,7 @@ See full license at:
https://github.com/dmfrey/FileLock/blob/master/LICENSE.txt
"""
+
import errno
import os
import time
diff --git a/lib/galaxy/util/oset.py b/lib/galaxy/util/oset.py
index eb8d5d0a828..e6d03956935 100644
--- a/lib/galaxy/util/oset.py
+++ b/lib/galaxy/util/oset.py
@@ -1,6 +1,7 @@
"""
Ordered set implementation from https://code.activestate.com/recipes/576694/
"""
+
from collections.abc import MutableSet
diff --git a/lib/galaxy/util/permutations.py b/lib/galaxy/util/permutations.py
index 9bb08e91f3b..5dd1b11ee8f 100644
--- a/lib/galaxy/util/permutations.py
+++ b/lib/galaxy/util/permutations.py
@@ -6,6 +6,7 @@ first.
Maybe this doesn't make sense and maybe much of this stuff could be replaced
with itertools product and permutations. These are open questions.
"""
+
from typing import (
Dict,
TypeVar,
diff --git a/lib/galaxy/util/properties.py b/lib/galaxy/util/properties.py
index b6015b04431..d020b34d169 100644
--- a/lib/galaxy/util/properties.py
+++ b/lib/galaxy/util/properties.py
@@ -2,6 +2,7 @@
to determine application configuration. Some hard coded defaults for Galaxy but
this should be reusable by tool shed and pulsar as well.
"""
+
import os
import os.path
import sys
diff --git a/lib/galaxy/util/renamed_temporary_file.py b/lib/galaxy/util/renamed_temporary_file.py
index b8037f672ea..854160a4ff7 100644
--- a/lib/galaxy/util/renamed_temporary_file.py
+++ b/lib/galaxy/util/renamed_temporary_file.py
@@ -1,4 +1,5 @@
"""Safely write file to temporary file and then move file into place."""
+
# Copied from https://stackoverflow.com/a/12007885.
import os
import tempfile
diff --git a/lib/galaxy/util/resources.py b/lib/galaxy/util/resources.py
index 0e90245539b..f40a9b6071b 100644
--- a/lib/galaxy/util/resources.py
+++ b/lib/galaxy/util/resources.py
@@ -1,5 +1,6 @@
"""Provide a consistent interface into and utilities for importlib file resources.
"""
+
import sys
if sys.version_info >= (3, 9):
diff --git a/lib/galaxy/util/sanitize_html.py b/lib/galaxy/util/sanitize_html.py
index d915a80a7a1..f00d5175eaa 100644
--- a/lib/galaxy/util/sanitize_html.py
+++ b/lib/galaxy/util/sanitize_html.py
@@ -1,6 +1,7 @@
"""
HTML Sanitizer (lists of acceptable_* ripped from feedparser)
"""
+
import bleach
from galaxy.util import unicodify
diff --git a/lib/galaxy/util/script.py b/lib/galaxy/util/script.py
index 9b0e0e5dc0d..d21fba54eb7 100644
--- a/lib/galaxy/util/script.py
+++ b/lib/galaxy/util/script.py
@@ -1,5 +1,6 @@
"""Utilities for Galaxy scripts
"""
+
import argparse
import logging
import os
diff --git a/lib/galaxy/util/simplegraph.py b/lib/galaxy/util/simplegraph.py
index fe7fd3b03ae..20329387eec 100644
--- a/lib/galaxy/util/simplegraph.py
+++ b/lib/galaxy/util/simplegraph.py
@@ -1,6 +1,7 @@
"""
Fencepost-simple graph structure implementation.
"""
+
# Currently (2013.7.12) only used in easing the parsing of graph datatype data.
diff --git a/lib/galaxy/visualization/data_providers/genome.py b/lib/galaxy/visualization/data_providers/genome.py
index 0ef56f6b981..cc9e9f48ad6 100644
--- a/lib/galaxy/visualization/data_providers/genome.py
+++ b/lib/galaxy/visualization/data_providers/genome.py
@@ -1164,8 +1164,7 @@ class BBIDataProvider(GenomeDataProvider):
dataset_type = "bigwig"
@abc.abstractmethod
- def _get_dataset(self) -> Tuple[IO[bytes], Union[BigBedFile, BigWigFile]]:
- ...
+ def _get_dataset(self) -> Tuple[IO[bytes], Union[BigBedFile, BigWigFile]]: ...
def valid_chroms(self):
# No way to return this info as of now
diff --git a/lib/galaxy/visualization/data_providers/phyloviz/__init__.py b/lib/galaxy/visualization/data_providers/phyloviz/__init__.py
index fc8201c8579..53e836fd1c3 100644
--- a/lib/galaxy/visualization/data_providers/phyloviz/__init__.py
+++ b/lib/galaxy/visualization/data_providers/phyloviz/__init__.py
@@ -1,4 +1,5 @@
""" Data providers code for PhyloViz """
+
from typing import (
Any,
Dict,
diff --git a/lib/galaxy/visualization/plugins/plugin.py b/lib/galaxy/visualization/plugins/plugin.py
index 645362a6636..dfe625e53dc 100644
--- a/lib/galaxy/visualization/plugins/plugin.py
+++ b/lib/galaxy/visualization/plugins/plugin.py
@@ -2,6 +2,7 @@
Visualization plugins: instantiate/deserialize data and models
from a query string and render a webpage based on those data.
"""
+
import copy
import logging
import os
diff --git a/lib/galaxy/visualization/plugins/registry.py b/lib/galaxy/visualization/plugins/registry.py
index 41b0cf2eeae..efc32e3f42c 100644
--- a/lib/galaxy/visualization/plugins/registry.py
+++ b/lib/galaxy/visualization/plugins/registry.py
@@ -4,6 +4,7 @@ Lower level of visualization framework which does three main things:
- create urls to visualizations based on some target object(s)
- unpack a query string into the desired objects needed for rendering
"""
+
import logging
import os
import weakref
diff --git a/lib/galaxy/visualization/plugins/resource_parser.py b/lib/galaxy/visualization/plugins/resource_parser.py
index df6dedf8640..01ca8e78b23 100644
--- a/lib/galaxy/visualization/plugins/resource_parser.py
+++ b/lib/galaxy/visualization/plugins/resource_parser.py
@@ -2,6 +2,7 @@
Deserialize Galaxy resources (hdas, ldas, datasets, genomes, etc.) from
a dictionary of string data/ids (often from a query string).
"""
+
import json
import logging
import weakref
diff --git a/lib/galaxy/web/framework/base.py b/lib/galaxy/web/framework/base.py
index 9c2b777257a..364e6d4c72e 100644
--- a/lib/galaxy/web/framework/base.py
+++ b/lib/galaxy/web/framework/base.py
@@ -1,6 +1,7 @@
"""
A simple WSGI application/framework.
"""
+
import io
import json
import logging
@@ -250,9 +251,9 @@ class WebApplication:
raise
trans.controller = controller_name
trans.action = action
- environ[
- "controller_action_key"
- ] = f"{'api' if environ['is_api_request'] else 'web'}.{controller_name}.{action or 'default'}"
+ environ["controller_action_key"] = (
+ f"{'api' if environ['is_api_request'] else 'web'}.{controller_name}.{action or 'default'}"
+ )
# Combine mapper args and query string / form args and call
kwargs = trans.request.params.mixed()
kwargs.update(map_match)
diff --git a/lib/galaxy/web/framework/helpers/__init__.py b/lib/galaxy/web/framework/helpers/__init__.py
index 20e3c802614..a0e7e75b5b0 100644
--- a/lib/galaxy/web/framework/helpers/__init__.py
+++ b/lib/galaxy/web/framework/helpers/__init__.py
@@ -5,6 +5,7 @@ The functions in this module should be considered part of the API used by
visualizations in their mako files through the `$h` object, see
GalaxyWebTransaction in galaxy/webapps/base/webapp.py
"""
+
from datetime import (
datetime,
timedelta,
diff --git a/lib/galaxy/web/framework/middleware/error.py b/lib/galaxy/web/framework/middleware/error.py
index 99b4c8654c2..a7db108f96e 100644
--- a/lib/galaxy/web/framework/middleware/error.py
+++ b/lib/galaxy/web/framework/middleware/error.py
@@ -37,7 +37,6 @@ NoDefault = _NoDefault()
class ErrorMiddleware:
-
"""
Error handling middleware
@@ -223,7 +222,6 @@ class ResponseStartChecker:
class CatchingIter:
-
"""
A wrapper around the application iterator that will catch
exceptions raised by the a generator, or by the close method, and
@@ -286,7 +284,6 @@ class CatchingIter:
class Supplement:
-
"""
This is a supplement used to display standard WSGI information in
the traceback.
diff --git a/lib/galaxy/web/framework/middleware/profile.py b/lib/galaxy/web/framework/middleware/profile.py
index ab041ca2d48..da2d4c9f9a8 100644
--- a/lib/galaxy/web/framework/middleware/profile.py
+++ b/lib/galaxy/web/framework/middleware/profile.py
@@ -2,6 +2,7 @@
Middleware that profiles the request with cProfile and displays profiling
information at the bottom of each page.
"""
+
import cProfile
import pstats
import threading
@@ -37,7 +38,6 @@ show profile output: inline | Optional[T]:
- ...
+ def _get_item_from_id(self, trans, idstr, check_writable=True) -> Optional[T]: ...
@web.expose_api
def index(self, trans, **kwd):
diff --git a/lib/galaxy/webapps/galaxy/api/folder_contents.py b/lib/galaxy/webapps/galaxy/api/folder_contents.py
index c7513f13f22..6b6fbffdd0a 100644
--- a/lib/galaxy/webapps/galaxy/api/folder_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/folder_contents.py
@@ -1,6 +1,7 @@
"""
API operations on the contents of a library folder.
"""
+
import logging
from typing import Optional
diff --git a/lib/galaxy/webapps/galaxy/api/folders.py b/lib/galaxy/webapps/galaxy/api/folders.py
index 777a31ccf25..60f7dde8611 100644
--- a/lib/galaxy/webapps/galaxy/api/folders.py
+++ b/lib/galaxy/webapps/galaxy/api/folders.py
@@ -1,6 +1,7 @@
"""
API operations on library folders.
"""
+
import logging
from typing import (
Optional,
diff --git a/lib/galaxy/webapps/galaxy/api/forms.py b/lib/galaxy/webapps/galaxy/api/forms.py
index 2e89295ebc0..97c8bf2e670 100644
--- a/lib/galaxy/webapps/galaxy/api/forms.py
+++ b/lib/galaxy/webapps/galaxy/api/forms.py
@@ -1,6 +1,7 @@
"""
API operations on FormDefinition objects.
"""
+
import logging
from sqlalchemy import select
diff --git a/lib/galaxy/webapps/galaxy/api/group_users.py b/lib/galaxy/webapps/galaxy/api/group_users.py
index bcac3e02e0f..aadf7c65730 100644
--- a/lib/galaxy/webapps/galaxy/api/group_users.py
+++ b/lib/galaxy/webapps/galaxy/api/group_users.py
@@ -1,6 +1,7 @@
"""
API operations on Group objects.
"""
+
import logging
from galaxy.managers.context import ProvidesAppContext
diff --git a/lib/galaxy/webapps/galaxy/api/groups.py b/lib/galaxy/webapps/galaxy/api/groups.py
index cf7f99d7ec7..7525e55fd1c 100644
--- a/lib/galaxy/webapps/galaxy/api/groups.py
+++ b/lib/galaxy/webapps/galaxy/api/groups.py
@@ -1,6 +1,7 @@
"""
API operations on Group objects.
"""
+
import logging
from fastapi import (
diff --git a/lib/galaxy/webapps/galaxy/api/histories.py b/lib/galaxy/webapps/galaxy/api/histories.py
index 0a5a15396eb..85d8c806188 100644
--- a/lib/galaxy/webapps/galaxy/api/histories.py
+++ b/lib/galaxy/webapps/galaxy/api/histories.py
@@ -3,6 +3,7 @@ API operations on a history.
.. seealso:: :class:`galaxy.model.History`
"""
+
import logging
from typing import (
Any,
diff --git a/lib/galaxy/webapps/galaxy/api/history_contents.py b/lib/galaxy/webapps/galaxy/api/history_contents.py
index 9b56a478720..4f193351401 100644
--- a/lib/galaxy/webapps/galaxy/api/history_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/history_contents.py
@@ -1,6 +1,7 @@
"""
API operations on the contents of a history.
"""
+
import logging
from typing import (
Any,
diff --git a/lib/galaxy/webapps/galaxy/api/item_tags.py b/lib/galaxy/webapps/galaxy/api/item_tags.py
index ede0889f227..cd84954d5b6 100644
--- a/lib/galaxy/webapps/galaxy/api/item_tags.py
+++ b/lib/galaxy/webapps/galaxy/api/item_tags.py
@@ -1,6 +1,7 @@
"""
API operations related to tagging items.
"""
+
import logging
from fastapi import (
diff --git a/lib/galaxy/webapps/galaxy/api/job_files.py b/lib/galaxy/webapps/galaxy/api/job_files.py
index ae5ac6fe5fe..df2edf2415c 100644
--- a/lib/galaxy/webapps/galaxy/api/job_files.py
+++ b/lib/galaxy/webapps/galaxy/api/job_files.py
@@ -1,6 +1,7 @@
""" API for asynchronous job running mechanisms can use to fetch or put files
related to running and queued jobs.
"""
+
import logging
import os
import re
diff --git a/lib/galaxy/webapps/galaxy/api/job_ports.py b/lib/galaxy/webapps/galaxy/api/job_ports.py
index bf63f84f89a..3fe8ed06efe 100644
--- a/lib/galaxy/webapps/galaxy/api/job_ports.py
+++ b/lib/galaxy/webapps/galaxy/api/job_ports.py
@@ -1,6 +1,7 @@
""" API for asynchronous job running mechanisms can use to fetch or put files
related to running and queued jobs.
"""
+
from galaxy.job_execution.ports import JobPortsView
from galaxy.structured_app import StructuredApp
from galaxy.web import expose_api_anonymous_and_sessionless
diff --git a/lib/galaxy/webapps/galaxy/api/job_tokens.py b/lib/galaxy/webapps/galaxy/api/job_tokens.py
index 63907f662cd..8853f33d62b 100644
--- a/lib/galaxy/webapps/galaxy/api/job_tokens.py
+++ b/lib/galaxy/webapps/galaxy/api/job_tokens.py
@@ -1,5 +1,6 @@
""" API asynchronous job running mechanisms can use to get a fresh OIDC token.
"""
+
import logging
from fastapi import Query
diff --git a/lib/galaxy/webapps/galaxy/api/libraries.py b/lib/galaxy/webapps/galaxy/api/libraries.py
index 3f12d0adf48..7a814ee09f2 100644
--- a/lib/galaxy/webapps/galaxy/api/libraries.py
+++ b/lib/galaxy/webapps/galaxy/api/libraries.py
@@ -1,6 +1,7 @@
"""
API operations on a data library.
"""
+
import logging
from typing import (
List,
diff --git a/lib/galaxy/webapps/galaxy/api/library_contents.py b/lib/galaxy/webapps/galaxy/api/library_contents.py
index 7f791ef6be2..dc3c5e120f3 100644
--- a/lib/galaxy/webapps/galaxy/api/library_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/library_contents.py
@@ -1,6 +1,7 @@
"""
API operations on the contents of a data library.
"""
+
import logging
from typing import Optional
diff --git a/lib/galaxy/webapps/galaxy/api/library_datasets.py b/lib/galaxy/webapps/galaxy/api/library_datasets.py
index 7f34ff0ab84..5c98c57eb96 100644
--- a/lib/galaxy/webapps/galaxy/api/library_datasets.py
+++ b/lib/galaxy/webapps/galaxy/api/library_datasets.py
@@ -1,4 +1,5 @@
"""API operations on the library datasets."""
+
import glob
import logging
import os
diff --git a/lib/galaxy/webapps/galaxy/api/metrics.py b/lib/galaxy/webapps/galaxy/api/metrics.py
index e299aa6b8da..7166b77b779 100644
--- a/lib/galaxy/webapps/galaxy/api/metrics.py
+++ b/lib/galaxy/webapps/galaxy/api/metrics.py
@@ -2,6 +2,7 @@
API operations for for querying and recording user metrics from some client
(typically a user's browser).
"""
+
# TODO: facade or adapter to fluentd
import logging
diff --git a/lib/galaxy/webapps/galaxy/api/object_store.py b/lib/galaxy/webapps/galaxy/api/object_store.py
index f8d7319b885..31f067dbfb7 100644
--- a/lib/galaxy/webapps/galaxy/api/object_store.py
+++ b/lib/galaxy/webapps/galaxy/api/object_store.py
@@ -1,6 +1,7 @@
"""
API operations on Galaxy's object store.
"""
+
import logging
from typing import List
diff --git a/lib/galaxy/webapps/galaxy/api/page_revisions.py b/lib/galaxy/webapps/galaxy/api/page_revisions.py
index 815b177d77f..b07797bc521 100644
--- a/lib/galaxy/webapps/galaxy/api/page_revisions.py
+++ b/lib/galaxy/webapps/galaxy/api/page_revisions.py
@@ -1,6 +1,7 @@
"""
API for updating Galaxy Pages
"""
+
import logging
from galaxy.managers.base import get_object
diff --git a/lib/galaxy/webapps/galaxy/api/pages.py b/lib/galaxy/webapps/galaxy/api/pages.py
index f0e2fb4c5f6..7606aaa53b4 100644
--- a/lib/galaxy/webapps/galaxy/api/pages.py
+++ b/lib/galaxy/webapps/galaxy/api/pages.py
@@ -1,6 +1,7 @@
"""
API for updating Galaxy Pages
"""
+
import io
import logging
from typing import Optional
diff --git a/lib/galaxy/webapps/galaxy/api/plugins.py b/lib/galaxy/webapps/galaxy/api/plugins.py
index 1a1c88fd4f2..d8af00154ea 100644
--- a/lib/galaxy/webapps/galaxy/api/plugins.py
+++ b/lib/galaxy/webapps/galaxy/api/plugins.py
@@ -1,6 +1,7 @@
"""
Plugins resource control over the API.
"""
+
import logging
from galaxy import exceptions
diff --git a/lib/galaxy/webapps/galaxy/api/provenance.py b/lib/galaxy/webapps/galaxy/api/provenance.py
index afd21504d3a..b1eeaf0b0f2 100644
--- a/lib/galaxy/webapps/galaxy/api/provenance.py
+++ b/lib/galaxy/webapps/galaxy/api/provenance.py
@@ -1,6 +1,7 @@
"""
API operations provenance
"""
+
import logging
from paste.httpexceptions import (
diff --git a/lib/galaxy/webapps/galaxy/api/quotas.py b/lib/galaxy/webapps/galaxy/api/quotas.py
index 716da7758a5..222ca74ec39 100644
--- a/lib/galaxy/webapps/galaxy/api/quotas.py
+++ b/lib/galaxy/webapps/galaxy/api/quotas.py
@@ -1,6 +1,7 @@
"""
API operations on Quota objects.
"""
+
import logging
from fastapi.param_functions import Body
diff --git a/lib/galaxy/webapps/galaxy/api/remote_files.py b/lib/galaxy/webapps/galaxy/api/remote_files.py
index 481b46d8bdf..4edfe28cc6b 100644
--- a/lib/galaxy/webapps/galaxy/api/remote_files.py
+++ b/lib/galaxy/webapps/galaxy/api/remote_files.py
@@ -1,6 +1,7 @@
"""
API operations on remote files.
"""
+
import logging
from typing import (
List,
diff --git a/lib/galaxy/webapps/galaxy/api/roles.py b/lib/galaxy/webapps/galaxy/api/roles.py
index 1b64cdf70fc..166860c92ff 100644
--- a/lib/galaxy/webapps/galaxy/api/roles.py
+++ b/lib/galaxy/webapps/galaxy/api/roles.py
@@ -1,6 +1,7 @@
"""
API operations on Role objects.
"""
+
import logging
from fastapi import Body
diff --git a/lib/galaxy/webapps/galaxy/api/sanitize_allow.py b/lib/galaxy/webapps/galaxy/api/sanitize_allow.py
index 0ecb709d696..278f562bb5b 100755
--- a/lib/galaxy/webapps/galaxy/api/sanitize_allow.py
+++ b/lib/galaxy/webapps/galaxy/api/sanitize_allow.py
@@ -1,6 +1,7 @@
"""
API operations allowing clients to retrieve and modify the HTML sanitization allow list.
"""
+
import logging
from typing import (
Any,
diff --git a/lib/galaxy/webapps/galaxy/api/short_term_storage.py b/lib/galaxy/webapps/galaxy/api/short_term_storage.py
index 2fa5f55b6a2..2afd9b6801a 100644
--- a/lib/galaxy/webapps/galaxy/api/short_term_storage.py
+++ b/lib/galaxy/webapps/galaxy/api/short_term_storage.py
@@ -1,6 +1,7 @@
"""
API operations around galaxy.short_term_storage infrastructure.
"""
+
from uuid import UUID
from galaxy.short_term_storage import (
diff --git a/lib/galaxy/webapps/galaxy/api/storage_cleaner.py b/lib/galaxy/webapps/galaxy/api/storage_cleaner.py
index 34a382a8629..aec1b069d95 100644
--- a/lib/galaxy/webapps/galaxy/api/storage_cleaner.py
+++ b/lib/galaxy/webapps/galaxy/api/storage_cleaner.py
@@ -1,6 +1,7 @@
"""
API operations on User storage management.
"""
+
import logging
from typing import (
List,
diff --git a/lib/galaxy/webapps/galaxy/api/tags.py b/lib/galaxy/webapps/galaxy/api/tags.py
index 81f8b9f1c0d..4ba413b7eb2 100644
--- a/lib/galaxy/webapps/galaxy/api/tags.py
+++ b/lib/galaxy/webapps/galaxy/api/tags.py
@@ -1,6 +1,7 @@
"""
API Controller providing Galaxy Tags
"""
+
import logging
from fastapi import (
diff --git a/lib/galaxy/webapps/galaxy/api/tasks.py b/lib/galaxy/webapps/galaxy/api/tasks.py
index 4a0692b464c..d15c309842f 100644
--- a/lib/galaxy/webapps/galaxy/api/tasks.py
+++ b/lib/galaxy/webapps/galaxy/api/tasks.py
@@ -1,6 +1,7 @@
"""
API Controller providing experimental access to Celery Task State.
"""
+
import logging
from uuid import UUID
diff --git a/lib/galaxy/webapps/galaxy/api/tool_dependencies.py b/lib/galaxy/webapps/galaxy/api/tool_dependencies.py
index bb9989222b1..79f01fe16ba 100644
--- a/lib/galaxy/webapps/galaxy/api/tool_dependencies.py
+++ b/lib/galaxy/webapps/galaxy/api/tool_dependencies.py
@@ -1,6 +1,7 @@
"""
API operations allowing clients to manage tool dependencies.
"""
+
import logging
from typing import Optional
diff --git a/lib/galaxy/webapps/galaxy/api/tool_entry_points.py b/lib/galaxy/webapps/galaxy/api/tool_entry_points.py
index bf494970d93..fcaffd3049d 100644
--- a/lib/galaxy/webapps/galaxy/api/tool_entry_points.py
+++ b/lib/galaxy/webapps/galaxy/api/tool_entry_points.py
@@ -1,6 +1,7 @@
""" API for asynchronous job running mechanisms can use to fetch or put files
related to running and queued jobs.
"""
+
import logging
from galaxy import (
diff --git a/lib/galaxy/webapps/galaxy/api/tours.py b/lib/galaxy/webapps/galaxy/api/tours.py
index 52a2924fa9e..b177794bb38 100644
--- a/lib/galaxy/webapps/galaxy/api/tours.py
+++ b/lib/galaxy/webapps/galaxy/api/tours.py
@@ -1,6 +1,7 @@
"""
API Controller providing Galaxy Tours
"""
+
import logging
from galaxy.tours import (
diff --git a/lib/galaxy/webapps/galaxy/api/trs_consumer.py b/lib/galaxy/webapps/galaxy/api/trs_consumer.py
index 00097c518e7..d712f680667 100644
--- a/lib/galaxy/webapps/galaxy/api/trs_consumer.py
+++ b/lib/galaxy/webapps/galaxy/api/trs_consumer.py
@@ -2,6 +2,7 @@
Information on TRS can be found at https://github.com/ga4gh/tool-registry-service-schemas.
"""
+
from galaxy.web import expose_api
from galaxy.workflow.trs_proxy import TrsProxy
from . import (
diff --git a/lib/galaxy/webapps/galaxy/api/trs_search.py b/lib/galaxy/webapps/galaxy/api/trs_search.py
index 33d844e96bf..b8ad2dcbf45 100644
--- a/lib/galaxy/webapps/galaxy/api/trs_search.py
+++ b/lib/galaxy/webapps/galaxy/api/trs_search.py
@@ -2,6 +2,7 @@
Information on TRS can be found at https://github.com/ga4gh/tool-registry-service-schemas.
"""
+
import logging
from galaxy.web import expose_api
diff --git a/lib/galaxy/webapps/galaxy/api/uploads.py b/lib/galaxy/webapps/galaxy/api/uploads.py
index a75a7f272b2..e98b1afcb55 100644
--- a/lib/galaxy/webapps/galaxy/api/uploads.py
+++ b/lib/galaxy/webapps/galaxy/api/uploads.py
@@ -1,6 +1,7 @@
"""
API operations for uploaded files in storage.
"""
+
import logging
from galaxy.web.framework.decorators import expose_api_anonymous
diff --git a/lib/galaxy/webapps/galaxy/api/users.py b/lib/galaxy/webapps/galaxy/api/users.py
index daff0514e94..03e1511c732 100644
--- a/lib/galaxy/webapps/galaxy/api/users.py
+++ b/lib/galaxy/webapps/galaxy/api/users.py
@@ -1,6 +1,7 @@
"""
API operations on User objects.
"""
+
import copy
import json
import logging
diff --git a/lib/galaxy/webapps/galaxy/api/visualizations.py b/lib/galaxy/webapps/galaxy/api/visualizations.py
index dc693887fc0..2e8283b03dc 100644
--- a/lib/galaxy/webapps/galaxy/api/visualizations.py
+++ b/lib/galaxy/webapps/galaxy/api/visualizations.py
@@ -4,6 +4,7 @@ Visualizations resource control over the API.
NOTE!: this is a work in progress and functionality and data structures
may change often.
"""
+
import json
import logging
from typing import Optional
@@ -365,7 +366,7 @@ class VisualizationsController(BaseGalaxyAPIController, UsesVisualizationMixin,
# this allows PUT'ing an entire model back to the server without attribute errors on uneditable attrs
valid_but_uneditable_keys = (
"id",
- "model_class"
+ "model_class",
# TODO: fill out when we create to_dict, get_dict, whatevs
)
# TODO: importable
diff --git a/lib/galaxy/webapps/galaxy/api/webhooks.py b/lib/galaxy/webapps/galaxy/api/webhooks.py
index 79ea78a0660..90ddb3c98a5 100644
--- a/lib/galaxy/webapps/galaxy/api/webhooks.py
+++ b/lib/galaxy/webapps/galaxy/api/webhooks.py
@@ -1,6 +1,7 @@
"""
API Controller providing Galaxy Webhooks
"""
+
import importlib.util
import logging
from typing import Any
diff --git a/lib/galaxy/webapps/galaxy/api/workflows.py b/lib/galaxy/webapps/galaxy/api/workflows.py
index 10e130a8781..66bbeecb076 100644
--- a/lib/galaxy/webapps/galaxy/api/workflows.py
+++ b/lib/galaxy/webapps/galaxy/api/workflows.py
@@ -391,9 +391,9 @@ class WorkflowsAPIController(
extension = "ga"
else:
extension = "gxwf.json"
- trans.response.headers[
- "Content-Disposition"
- ] = f'attachment; filename="Galaxy-Workflow-{sname}.{extension}"'
+ trans.response.headers["Content-Disposition"] = (
+ f'attachment; filename="Galaxy-Workflow-{sname}.{extension}"'
+ )
trans.response.set_content_type("application/galaxy-archive")
if style == "format2" and download_format != "json-download":
@@ -1648,11 +1648,15 @@ class FastAPIInvocations:
"""
step_jobs_summary = self.invocations_service.show_invocation_step_jobs_summary(trans, invocation_id)
return [
- InvocationStepJobsResponseStepModel(**summary)
- if summary["model"] == "WorkflowInvocationStep"
- else InvocationStepJobsResponseJobModel(**summary)
- if summary["model"] == "Job"
- else InvocationStepJobsResponseCollectionJobsModel(**summary)
+ (
+ InvocationStepJobsResponseStepModel(**summary)
+ if summary["model"] == "WorkflowInvocationStep"
+ else (
+ InvocationStepJobsResponseJobModel(**summary)
+ if summary["model"] == "Job"
+ else InvocationStepJobsResponseCollectionJobsModel(**summary)
+ )
+ )
for summary in step_jobs_summary
]
diff --git a/lib/galaxy/webapps/galaxy/buildapp.py b/lib/galaxy/webapps/galaxy/buildapp.py
index 48771bf2a73..511ae3f6f6c 100644
--- a/lib/galaxy/webapps/galaxy/buildapp.py
+++ b/lib/galaxy/webapps/galaxy/buildapp.py
@@ -1,6 +1,7 @@
"""
Provides factory methods to assemble the Galaxy web application
"""
+
import atexit
import logging
import sys
diff --git a/lib/galaxy/webapps/galaxy/controllers/authnz.py b/lib/galaxy/webapps/galaxy/controllers/authnz.py
index 3bf290ba990..f4c1becf1d2 100644
--- a/lib/galaxy/webapps/galaxy/controllers/authnz.py
+++ b/lib/galaxy/webapps/galaxy/controllers/authnz.py
@@ -2,7 +2,6 @@
OAuth 2.0 and OpenID Connect Authentication and Authorization Controller.
"""
-
import datetime
import json
import logging
diff --git a/lib/galaxy/webapps/galaxy/controllers/tag.py b/lib/galaxy/webapps/galaxy/controllers/tag.py
index dcd3513daf1..04f315202da 100644
--- a/lib/galaxy/webapps/galaxy/controllers/tag.py
+++ b/lib/galaxy/webapps/galaxy/controllers/tag.py
@@ -2,6 +2,7 @@
Tags Controller: handles tagging/untagging of entities
and provides autocomplete support.
"""
+
import logging
from sqlalchemy.sql import select
diff --git a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
index 4b1cd8cebbd..bf078054ae9 100644
--- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
+++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
@@ -1,6 +1,7 @@
"""
Controller handles external tool related requests
"""
+
import logging
from markupsafe import escape
diff --git a/lib/galaxy/webapps/galaxy/services/datasets.py b/lib/galaxy/webapps/galaxy/services/datasets.py
index f8208b088c9..94a36ecaec2 100644
--- a/lib/galaxy/webapps/galaxy/services/datasets.py
+++ b/lib/galaxy/webapps/galaxy/services/datasets.py
@@ -1,6 +1,7 @@
"""
API operations on the contents of a history dataset.
"""
+
import logging
import os
from enum import Enum
diff --git a/lib/galaxy/webapps/galaxy/services/histories.py b/lib/galaxy/webapps/galaxy/services/histories.py
index 827f3f5f35c..ffe64d54237 100644
--- a/lib/galaxy/webapps/galaxy/services/histories.py
+++ b/lib/galaxy/webapps/galaxy/services/histories.py
@@ -267,9 +267,9 @@ class HistoriesService(ServiceBase, ConsumesModelStores, ServesExportStores):
validate_uri_access(archive_source, trans.user_is_admin, trans.app.config.fetch_url_allowlist_ips)
job = self.manager.queue_history_import(trans, archive_type=archive_type, archive_source=archive_source)
job_dict = job.to_dict()
- job_dict[
- "message"
- ] = f"Importing history from source '{archive_source}'. This history will be visible when the import is complete."
+ job_dict["message"] = (
+ f"Importing history from source '{archive_source}'. This history will be visible when the import is complete."
+ )
return JobImportHistoryResponse(**job_dict)
new_history = None
diff --git a/lib/galaxy/webapps/galaxy/services/history_contents.py b/lib/galaxy/webapps/galaxy/services/history_contents.py
index f6db1daf7af..c0d99167baa 100644
--- a/lib/galaxy/webapps/galaxy/services/history_contents.py
+++ b/lib/galaxy/webapps/galaxy/services/history_contents.py
@@ -1379,8 +1379,7 @@ class HistoriesContentsService(ServiceBase, ServesExportStores, ConsumesModelSto
class ItemOperation(Protocol):
def __call__(
self, item: HistoryItemModel, params: Optional[AnyBulkOperationParams], trans: ProvidesHistoryContext
- ) -> None:
- ...
+ ) -> None: ...
class HistoryItemOperator:
diff --git a/lib/galaxy/webapps/openapi/utils.py b/lib/galaxy/webapps/openapi/utils.py
index 52949628af6..369da1d4039 100644
--- a/lib/galaxy/webapps/openapi/utils.py
+++ b/lib/galaxy/webapps/openapi/utils.py
@@ -1,6 +1,7 @@
"""
Copy of https://github.com/tiangolo/fastapi/blob/master/fastapi/openapi/utils.py with changes from https://github.com/tiangolo/fastapi/pull/10903
"""
+
from typing import (
Any,
Dict,
diff --git a/lib/galaxy/webapps/reports/buildapp.py b/lib/galaxy/webapps/reports/buildapp.py
index da3e74d3a93..32d5d9a5b2d 100644
--- a/lib/galaxy/webapps/reports/buildapp.py
+++ b/lib/galaxy/webapps/reports/buildapp.py
@@ -1,6 +1,7 @@
"""
Provides factory methods to assemble the Galaxy web application
"""
+
import atexit
import logging
import os
diff --git a/lib/galaxy/webapps/reports/config.py b/lib/galaxy/webapps/reports/config.py
index f64e70c3082..e9ff3cfa3b3 100644
--- a/lib/galaxy/webapps/reports/config.py
+++ b/lib/galaxy/webapps/reports/config.py
@@ -1,4 +1,5 @@
"""Universe configuration builder."""
+
import logging
import os
import re
diff --git a/lib/galaxy/webapps/reports/controllers/jobs.py b/lib/galaxy/webapps/reports/controllers/jobs.py
index 3fbad58ba29..7e034c0d5ba 100644
--- a/lib/galaxy/webapps/reports/controllers/jobs.py
+++ b/lib/galaxy/webapps/reports/controllers/jobs.py
@@ -267,7 +267,6 @@ class SpecifiedDateListGrid(grids.Grid):
class Jobs(BaseUIController, ReportQueryBuilder):
-
"""
Class contains functions for querying data requested by user via the webapp. It exposes the functions and
responds to requests with the filled .mako templates.
diff --git a/lib/galaxy/webapps/reports/controllers/query.py b/lib/galaxy/webapps/reports/controllers/query.py
index 5d8b62b44f2..824c1af7e3c 100644
--- a/lib/galaxy/webapps/reports/controllers/query.py
+++ b/lib/galaxy/webapps/reports/controllers/query.py
@@ -1,5 +1,6 @@
""" Mixin to help build advanced queries for reports interface.
"""
+
import sqlalchemy as sa
diff --git a/lib/galaxy/webhooks/__init__.py b/lib/galaxy/webhooks/__init__.py
index d22c96309d3..0c1db575941 100644
--- a/lib/galaxy/webhooks/__init__.py
+++ b/lib/galaxy/webhooks/__init__.py
@@ -1,6 +1,7 @@
"""
This module manages loading of Galaxy webhooks.
"""
+
import logging
import os
diff --git a/lib/galaxy/workflow/extract.py b/lib/galaxy/workflow/extract.py
index bfa74d404d1..54899414413 100644
--- a/lib/galaxy/workflow/extract.py
+++ b/lib/galaxy/workflow/extract.py
@@ -1,6 +1,7 @@
""" This module contains functionality to aid in extracting workflows from
histories.
"""
+
import logging
from typing import Optional
diff --git a/lib/galaxy/workflow/modules.py b/lib/galaxy/workflow/modules.py
index dc82b1d8c70..4682a88fa14 100644
--- a/lib/galaxy/workflow/modules.py
+++ b/lib/galaxy/workflow/modules.py
@@ -1,6 +1,7 @@
"""
Modules used in building workflows
"""
+
import json
import logging
import re
diff --git a/lib/galaxy/workflow/reports/generators/__init__.py b/lib/galaxy/workflow/reports/generators/__init__.py
index 933484c72b6..081155ca811 100644
--- a/lib/galaxy/workflow/reports/generators/__init__.py
+++ b/lib/galaxy/workflow/reports/generators/__init__.py
@@ -1,5 +1,6 @@
"""Module containing Galaxy workflow report generator plugins.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/workflow/reports/generators/markdown.py b/lib/galaxy/workflow/reports/generators/markdown.py
index bcc65eebc8d..9ae77ccef8c 100644
--- a/lib/galaxy/workflow/reports/generators/markdown.py
+++ b/lib/galaxy/workflow/reports/generators/markdown.py
@@ -1,5 +1,6 @@
"""The class defines the default stock Galaxy workflow reporting plugin
"""
+
import logging
import string
diff --git a/lib/galaxy/workflow/resources/__init__.py b/lib/galaxy/workflow/resources/__init__.py
index d81e85d6e6c..13e55653188 100644
--- a/lib/galaxy/workflow/resources/__init__.py
+++ b/lib/galaxy/workflow/resources/__init__.py
@@ -3,6 +3,7 @@
This file defines the baked in resource mapper types, and this package contains an
example of a more open, pluggable approach with greater control.
"""
+
import functools
import logging
import os
diff --git a/lib/galaxy/workflow/schedulers/__init__.py b/lib/galaxy/workflow/schedulers/__init__.py
index 9f619426e80..f4de8f4f9ca 100644
--- a/lib/galaxy/workflow/schedulers/__init__.py
+++ b/lib/galaxy/workflow/schedulers/__init__.py
@@ -2,6 +2,7 @@
for workflow scheduling is highly experimental and the interface required for
scheduling plugins will almost certainly change.
"""
+
from abc import (
ABCMeta,
abstractmethod,
diff --git a/lib/galaxy/workflow/schedulers/core.py b/lib/galaxy/workflow/schedulers/core.py
index 427e23f4818..26ae929729d 100644
--- a/lib/galaxy/workflow/schedulers/core.py
+++ b/lib/galaxy/workflow/schedulers/core.py
@@ -1,6 +1,7 @@
""" The class defines the stock Galaxy workflow scheduling plugin - currently
it simply schedules the whole workflow up front when offered.
"""
+
import logging
from typing import TYPE_CHECKING
diff --git a/lib/galaxy/workflow/steps.py b/lib/galaxy/workflow/steps.py
index f1cb776c9b9..8810e1b7877 100644
--- a/lib/galaxy/workflow/steps.py
+++ b/lib/galaxy/workflow/steps.py
@@ -1,6 +1,7 @@
""" This module contains utility methods for reasoning about and ordering
workflow steps.
"""
+
import math
from galaxy.util.topsort import (
@@ -79,7 +80,7 @@ def order_workflow_steps(steps, comments):
for step in steps:
step.position = {
"left": step.position["left"] - min_left,
- "top": step.position["top"] - min_top
+ "top": step.position["top"] - min_top,
# other position attributes can be discarded if present
}
diff --git a/lib/galaxy_ext/expressions/handle_job.py b/lib/galaxy_ext/expressions/handle_job.py
index 17289028c21..fc9838d381b 100644
--- a/lib/galaxy_ext/expressions/handle_job.py
+++ b/lib/galaxy_ext/expressions/handle_job.py
@@ -3,6 +3,7 @@ Execute an external process to evaluate expressions for Galaxy jobs.
Galaxy should be importable on sys.path .
"""
+
import json
import logging
import os
diff --git a/lib/galaxy_test/api/test_workflows_cwl.py b/lib/galaxy_test/api/test_workflows_cwl.py
index fce0792e532..b9af5cbc1e2 100644
--- a/lib/galaxy_test/api/test_workflows_cwl.py
+++ b/lib/galaxy_test/api/test_workflows_cwl.py
@@ -1,4 +1,5 @@
"""Test CWL workflow functionality."""
+
from galaxy_test.api.test_workflows import BaseWorkflowsApiTestCase
from galaxy_test.base.populators import CwlPopulator
diff --git a/lib/galaxy_test/base/api_asserts.py b/lib/galaxy_test/base/api_asserts.py
index d31c6ca91cf..9b3e8c1f3da 100644
--- a/lib/galaxy_test/base/api_asserts.py
+++ b/lib/galaxy_test/base/api_asserts.py
@@ -1,5 +1,6 @@
"""Utility methods for making assertions about Galaxy API responses, etc...
"""
+
from typing import (
Any,
cast,
diff --git a/lib/galaxy_test/base/decorators.py b/lib/galaxy_test/base/decorators.py
index 710f7eda54e..324d6e9ea88 100644
--- a/lib/galaxy_test/base/decorators.py
+++ b/lib/galaxy_test/base/decorators.py
@@ -8,6 +8,7 @@ Running this class of tests should implicitly come with the expectation that new
jobs, workflows, and datasets will be created. But tests creating new published objects,
histories, libraries, etc... should be annotated ideally.
"""
+
import os
import unittest
from functools import wraps
diff --git a/lib/galaxy_test/base/env.py b/lib/galaxy_test/base/env.py
index ad652ac8c62..0caee6da17f 100644
--- a/lib/galaxy_test/base/env.py
+++ b/lib/galaxy_test/base/env.py
@@ -1,5 +1,6 @@
"""Base utilities for working Galaxy test environments.
"""
+
import fcntl
import os
import socket
diff --git a/lib/galaxy_test/base/populators.py b/lib/galaxy_test/base/populators.py
index 82490889e1f..aa94305c60f 100644
--- a/lib/galaxy_test/base/populators.py
+++ b/lib/galaxy_test/base/populators.py
@@ -37,6 +37,7 @@ API tests and Selenium tests routinely use requests directly and that is totally
requests should just be filtered through the verb abstractions if that functionality
is then added to populators to be shared across tests or across testing frameworks.
"""
+
import base64
import contextlib
import json
@@ -3210,7 +3211,6 @@ class GiHttpMixin:
class GiDatasetPopulator(GiHttpMixin, BaseDatasetPopulator):
-
"""Implementation of BaseDatasetPopulator backed by bioblend."""
def __init__(self, gi):
@@ -3222,7 +3222,6 @@ class GiDatasetPopulator(GiHttpMixin, BaseDatasetPopulator):
class GiDatasetCollectionPopulator(GiHttpMixin, BaseDatasetCollectionPopulator):
-
"""Implementation of BaseDatasetCollectionPopulator backed by bioblend."""
def __init__(self, gi):
@@ -3237,7 +3236,6 @@ class GiDatasetCollectionPopulator(GiHttpMixin, BaseDatasetCollectionPopulator):
class GiWorkflowPopulator(GiHttpMixin, BaseWorkflowPopulator):
-
"""Implementation of BaseWorkflowPopulator backed by bioblend."""
def __init__(self, gi):
diff --git a/lib/galaxy_test/base/uses_shed_api.py b/lib/galaxy_test/base/uses_shed_api.py
index 58a2c74522a..f617c5745f4 100644
--- a/lib/galaxy_test/base/uses_shed_api.py
+++ b/lib/galaxy_test/base/uses_shed_api.py
@@ -22,8 +22,7 @@ OperationT = Callable[[Dict[str, Any]], Response]
class UsesShedApi:
@property
@abc.abstractmethod
- def galaxy_interactor(self) -> GalaxyInteractorApi:
- ...
+ def galaxy_interactor(self) -> GalaxyInteractorApi: ...
def delete_repo_request(self, payload: Dict[str, Any]) -> Response:
return self.galaxy_interactor._delete("tool_shed_repositories", data=payload, admin=True)
diff --git a/lib/galaxy_test/driver/driver_util.py b/lib/galaxy_test/driver/driver_util.py
index ee79b007f00..2016e64ce3c 100644
--- a/lib/galaxy_test/driver/driver_util.py
+++ b/lib/galaxy_test/driver/driver_util.py
@@ -244,9 +244,9 @@ def setup_galaxy_config(
if default_shed_tool_data_table_config:
config["shed_tool_data_table_config"] = default_shed_tool_data_table_config
if not use_shared_connection_for_amqp:
- config[
- "amqp_internal_connection"
- ] = f"sqlalchemy+sqlite:///{os.path.join(tmpdir, 'control.sqlite')}?isolation_level=IMMEDIATE"
+ config["amqp_internal_connection"] = (
+ f"sqlalchemy+sqlite:///{os.path.join(tmpdir, 'control.sqlite')}?isolation_level=IMMEDIATE"
+ )
config.update(database_conf(tmpdir, prefer_template_database=prefer_template_database))
config.update(install_database_conf(tmpdir, default_merged=default_install_db_merged))
diff --git a/lib/galaxy_test/driver/integration_setup.py b/lib/galaxy_test/driver/integration_setup.py
index f86c26788fd..b63b567247e 100644
--- a/lib/galaxy_test/driver/integration_setup.py
+++ b/lib/galaxy_test/driver/integration_setup.py
@@ -1,6 +1,7 @@
"""
Test classes that should be shared between test scenarios.
"""
+
import os
import shutil
from tempfile import mkdtemp
diff --git a/lib/galaxy_test/driver/integration_util.py b/lib/galaxy_test/driver/integration_util.py
index 1a38759c13f..af8b5683338 100644
--- a/lib/galaxy_test/driver/integration_util.py
+++ b/lib/galaxy_test/driver/integration_util.py
@@ -4,6 +4,7 @@ Tests that start an actual Galaxy server with a particular configuration in
order to test something that cannot be tested with the default functional/api
testing configuration.
"""
+
import os
import re
from typing import (
diff --git a/lib/galaxy_test/driver/uses_shed.py b/lib/galaxy_test/driver/uses_shed.py
index 132a5401143..e592de25aef 100644
--- a/lib/galaxy_test/driver/uses_shed.py
+++ b/lib/galaxy_test/driver/uses_shed.py
@@ -38,8 +38,7 @@ SHED_DATA_TABLES = """
class UsesShed(UsesShedApi):
@property
@abc.abstractmethod
- def _app(self) -> UniverseApplication:
- ...
+ def _app(self) -> UniverseApplication: ...
shed_tools_dir: ClassVar[str]
shed_tool_data_dir: ClassVar[str]
diff --git a/lib/galaxy_test/selenium/framework.py b/lib/galaxy_test/selenium/framework.py
index 23d18b3f747..7fc13f44720 100644
--- a/lib/galaxy_test/selenium/framework.py
+++ b/lib/galaxy_test/selenium/framework.py
@@ -779,7 +779,6 @@ class SeleniumSessionGetPostMixin:
class SeleniumSessionDatasetPopulator(SeleniumSessionGetPostMixin, populators.BaseDatasetPopulator):
-
"""Implementation of BaseDatasetPopulator backed by bioblend."""
def __init__(self, selenium_context: GalaxySeleniumContext):
@@ -791,7 +790,6 @@ class SeleniumSessionDatasetPopulator(SeleniumSessionGetPostMixin, populators.Ba
class SeleniumSessionDatasetCollectionPopulator(SeleniumSessionGetPostMixin, populators.BaseDatasetCollectionPopulator):
-
"""Implementation of BaseDatasetCollectionPopulator backed by bioblend."""
def __init__(self, selenium_context: GalaxySeleniumContext):
@@ -807,7 +805,6 @@ class SeleniumSessionDatasetCollectionPopulator(SeleniumSessionGetPostMixin, pop
class SeleniumSessionWorkflowPopulator(
SeleniumSessionGetPostMixin, populators.BaseWorkflowPopulator, ImporterGalaxyInterface
):
-
"""Implementation of BaseWorkflowPopulator backed by bioblend."""
def __init__(self, selenium_context: GalaxySeleniumContext):
diff --git a/lib/galaxy_test/selenium/jupyter_context.py b/lib/galaxy_test/selenium/jupyter_context.py
index affd943407f..759cdb3bcbf 100644
--- a/lib/galaxy_test/selenium/jupyter_context.py
+++ b/lib/galaxy_test/selenium/jupyter_context.py
@@ -4,6 +4,7 @@ This provides an environment separate from test cases that can leaverage
both Selenium for testing Galaxy with a browser and API populators for filling
in fixture data rapidly in the target Galaxy.
"""
+
from typing import Optional
from galaxy.selenium.context import init as base_init
diff --git a/lib/tool_shed/context.py b/lib/tool_shed/context.py
index 107be8c8ed4..613c52b79a3 100644
--- a/lib/tool_shed/context.py
+++ b/lib/tool_shed/context.py
@@ -81,28 +81,22 @@ class ProvidesRepositoriesContext(ProvidesUserContext, Protocol):
class SessionRequestContext(ProvidesRepositoriesContext, Protocol):
@abc.abstractmethod
- def get_galaxy_session(self) -> Optional[GalaxySession]:
- ...
+ def get_galaxy_session(self) -> Optional[GalaxySession]: ...
@abc.abstractmethod
- def set_galaxy_session(self, galaxy_session: GalaxySession):
- ...
+ def set_galaxy_session(self, galaxy_session: GalaxySession): ...
@abc.abstractproperty
- def request(self) -> GalaxyAbstractRequest:
- ...
+ def request(self) -> GalaxyAbstractRequest: ...
@abc.abstractproperty
- def response(self) -> GalaxyAbstractResponse:
- ...
+ def response(self) -> GalaxyAbstractResponse: ...
@abc.abstractmethod
- def url_builder(self):
- ...
+ def url_builder(self): ...
@abc.abstractproperty
- def session_csrf_token(self) -> str:
- ...
+ def session_csrf_token(self) -> str: ...
class SessionRequestContextImpl(SessionRequestContext):
diff --git a/lib/tool_shed/managers/groups.py b/lib/tool_shed/managers/groups.py
index 8ade7cb76c9..280f1e68599 100644
--- a/lib/tool_shed/managers/groups.py
+++ b/lib/tool_shed/managers/groups.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for TS groups.
"""
+
import logging
from sqlalchemy import (
diff --git a/lib/tool_shed/managers/repositories.py b/lib/tool_shed/managers/repositories.py
index 3d3c2ca8df0..79fbb68cc0d 100644
--- a/lib/tool_shed/managers/repositories.py
+++ b/lib/tool_shed/managers/repositories.py
@@ -1,6 +1,7 @@
"""
Manager and Serializer for TS repositories.
"""
+
import json
import logging
from collections import namedtuple
diff --git a/lib/tool_shed/repository_types/registry.py b/lib/tool_shed/repository_types/registry.py
index 3b1d461698e..ec73bd9fd5c 100644
--- a/lib/tool_shed/repository_types/registry.py
+++ b/lib/tool_shed/repository_types/registry.py
@@ -13,12 +13,12 @@ class Registry:
def __init__(self):
self.repository_types_by_label = {}
self.repository_types_by_label["unrestricted"] = unrestricted.Unrestricted()
- self.repository_types_by_label[
- "repository_suite_definition"
- ] = repository_suite_definition.RepositorySuiteDefinition()
- self.repository_types_by_label[
- "tool_dependency_definition"
- ] = tool_dependency_definition.ToolDependencyDefinition()
+ self.repository_types_by_label["repository_suite_definition"] = (
+ repository_suite_definition.RepositorySuiteDefinition()
+ )
+ self.repository_types_by_label["tool_dependency_definition"] = (
+ tool_dependency_definition.ToolDependencyDefinition()
+ )
def get_class_by_label(self, label):
return self.repository_types_by_label.get(label, None)
diff --git a/lib/tool_shed/webapp/api/authenticate.py b/lib/tool_shed/webapp/api/authenticate.py
index 1d1cee2fa78..dc5bee6d5ad 100644
--- a/lib/tool_shed/webapp/api/authenticate.py
+++ b/lib/tool_shed/webapp/api/authenticate.py
@@ -15,6 +15,7 @@ Returns
}
"""
+
import logging
from galaxy.web import expose_api_anonymous_and_sessionless
diff --git a/lib/tool_shed/webapp/api/configuration.py b/lib/tool_shed/webapp/api/configuration.py
index 920baeb670b..3a9dda15f36 100644
--- a/lib/tool_shed/webapp/api/configuration.py
+++ b/lib/tool_shed/webapp/api/configuration.py
@@ -2,6 +2,7 @@
API operations allowing clients to determine Tool Shed instance's
capabilities and configuration settings.
"""
+
import logging
from galaxy.web import expose_api_anonymous_and_sessionless
diff --git a/lib/tool_shed/webapp/api/repositories.py b/lib/tool_shed/webapp/api/repositories.py
index a5b6f1a9854..08a89df6008 100644
--- a/lib/tool_shed/webapp/api/repositories.py
+++ b/lib/tool_shed/webapp/api/repositories.py
@@ -102,9 +102,9 @@ class RepositoriesController(BaseShedAPIController):
# Update the repository registry.
self.app.repository_registry.add_entry(repository)
response_dict["status"] = "ok"
- response_dict[
- "message"
- ] = f"Entries for repository {name} owned by {owner} have been added to the Tool Shed repository registry."
+ response_dict["message"] = (
+ f"Entries for repository {name} owned by {owner} have been added to the Tool Shed repository registry."
+ )
return response_dict
@web.legacy_expose_api_anonymous
@@ -317,9 +317,9 @@ class RepositoriesController(BaseShedAPIController):
response_dict = {}
if not trans.user_is_admin:
response_dict["status"] = "error"
- response_dict[
- "message"
- ] = "You are not authorized to remove entries from this Tool Shed's repository registry."
+ response_dict["message"] = (
+ "You are not authorized to remove entries from this Tool Shed's repository registry."
+ )
return response_dict
tool_shed_url = payload.get("tool_shed_url", "")
if not tool_shed_url:
@@ -341,9 +341,9 @@ class RepositoriesController(BaseShedAPIController):
# Update the repository registry.
self.app.repository_registry.remove_entry(repository)
response_dict["status"] = "ok"
- response_dict[
- "message"
- ] = f"Entries for repository {name} owned by {owner} have been removed from the Tool Shed repository registry."
+ response_dict["message"] = (
+ f"Entries for repository {name} owned by {owner} have been removed from the Tool Shed repository registry."
+ )
return response_dict
@web.legacy_expose_api
diff --git a/lib/tool_shed/webapp/buildapp.py b/lib/tool_shed/webapp/buildapp.py
index e25859c33be..c74928f3cc6 100644
--- a/lib/tool_shed/webapp/buildapp.py
+++ b/lib/tool_shed/webapp/buildapp.py
@@ -1,6 +1,7 @@
"""
Provides factory methods to assemble the Galaxy web application
"""
+
import atexit
import logging
import os
diff --git a/lib/tool_shed/webapp/config.py b/lib/tool_shed/webapp/config.py
index 4511b54e1cd..9c0e3d44964 100644
--- a/lib/tool_shed/webapp/config.py
+++ b/lib/tool_shed/webapp/config.py
@@ -1,6 +1,7 @@
"""
Universe configuration builder.
"""
+
import configparser
import logging
import logging.config
diff --git a/lib/tool_shed/webapp/controllers/repository.py b/lib/tool_shed/webapp/controllers/repository.py
index d471402aa7d..f8d3facee1b 100644
--- a/lib/tool_shed/webapp/controllers/repository.py
+++ b/lib/tool_shed/webapp/controllers/repository.py
@@ -975,13 +975,13 @@ class RepositoryController(BaseUIController, ratings_util.ItemRatings):
self.install_matched_repository_grid.operations = operations
return self.install_matched_repository_grid(trans, **kwd)
else:
- kwd[
- "message"
- ] = "tool id: {}
tool name: {}
tool version: {}
exact matches only: {}".format(
- basic_util.stringify(tool_ids),
- escape(basic_util.stringify(tool_names)),
- escape(basic_util.stringify(tool_versions)),
- exact_matches_checked,
+ kwd["message"] = (
+ "tool id: {}
tool name: {}
tool version: {}
exact matches only: {}".format(
+ basic_util.stringify(tool_ids),
+ escape(basic_util.stringify(tool_names)),
+ escape(basic_util.stringify(tool_versions)),
+ exact_matches_checked,
+ )
)
self.matched_repository_grid.title = "Repositories with matching tools"
return self.matched_repository_grid(trans, **kwd)
@@ -1032,9 +1032,9 @@ class RepositoryController(BaseUIController, ratings_util.ItemRatings):
has_repository_dependencies_only_if_compiling_contained_td,
) = repository_util.get_repository_dependency_types(repository_dependencies)
has_galaxy_utilities_dict["has_repository_dependencies"] = has_repository_dependencies
- has_galaxy_utilities_dict[
- "has_repository_dependencies_only_if_compiling_contained_td"
- ] = has_repository_dependencies_only_if_compiling_contained_td
+ has_galaxy_utilities_dict["has_repository_dependencies_only_if_compiling_contained_td"] = (
+ has_repository_dependencies_only_if_compiling_contained_td
+ )
if "workflows" in metadata:
has_galaxy_utilities_dict["includes_workflows"] = True
return has_galaxy_utilities_dict
@@ -1127,9 +1127,9 @@ class RepositoryController(BaseUIController, ratings_util.ItemRatings):
update_dict["includes_tool_dependencies"] = includes_tool_dependencies
update_dict["includes_workflows"] = includes_workflows
update_dict["has_repository_dependencies"] = has_repository_dependencies
- update_dict[
- "has_repository_dependencies_only_if_compiling_contained_td"
- ] = has_repository_dependencies_only_if_compiling_contained_td
+ update_dict["has_repository_dependencies_only_if_compiling_contained_td"] = (
+ has_repository_dependencies_only_if_compiling_contained_td
+ )
update_dict["changeset_revision"] = str(latest_changeset_revision)
update_dict["ctx_rev"] = str(update_to_ctx.rev())
return encoding_util.tool_shed_encode(update_dict)
diff --git a/lib/tool_shed/webapp/framework/middleware/remoteuser.py b/lib/tool_shed/webapp/framework/middleware/remoteuser.py
index d2c5bc67893..fff7395b228 100644
--- a/lib/tool_shed/webapp/framework/middleware/remoteuser.py
+++ b/lib/tool_shed/webapp/framework/middleware/remoteuser.py
@@ -1,6 +1,7 @@
"""
Middleware for handling $REMOTE_USER if use_remote_user is enabled.
"""
+
import socket
from galaxy.util import safe_str_cmp
diff --git a/lib/tool_shed/webapp/model/mapping.py b/lib/tool_shed/webapp/model/mapping.py
index 692d058977e..0da07ef195c 100644
--- a/lib/tool_shed/webapp/model/mapping.py
+++ b/lib/tool_shed/webapp/model/mapping.py
@@ -2,6 +2,7 @@
Details of how the data model objects are mapped onto the relational database
are encapsulated here.
"""
+
import logging
from typing import (
Any,
diff --git a/lib/tool_shed/webapp/search/repo_search.py b/lib/tool_shed/webapp/search/repo_search.py
index 1d8965f5770..b3fbb2edadb 100644
--- a/lib/tool_shed/webapp/search/repo_search.py
+++ b/lib/tool_shed/webapp/search/repo_search.py
@@ -1,4 +1,5 @@
"""Module for searching the toolshed repositories"""
+
import logging
import whoosh.index
diff --git a/lib/tool_shed/webapp/search/tool_search.py b/lib/tool_shed/webapp/search/tool_search.py
index bf3617c4cd3..f68aacabd48 100644
--- a/lib/tool_shed/webapp/search/tool_search.py
+++ b/lib/tool_shed/webapp/search/tool_search.py
@@ -1,4 +1,5 @@
"""Module for searching the toolshed tools within all repositories"""
+
import logging
import os
diff --git a/lib/tool_shed/webapp/security/__init__.py b/lib/tool_shed/webapp/security/__init__.py
index ce61f1dba1d..10b7b4ed663 100644
--- a/lib/tool_shed/webapp/security/__init__.py
+++ b/lib/tool_shed/webapp/security/__init__.py
@@ -1,4 +1,5 @@
"""Tool Shed Security"""
+
import logging
from typing import List
diff --git a/scripts/celery_shell.py b/scripts/celery_shell.py
index 72bcc98ede5..aab6e90b231 100644
--- a/scripts/celery_shell.py
+++ b/scripts/celery_shell.py
@@ -4,6 +4,7 @@ Run this script from galaxy's root with
ipython -i scripts/celery_shell.py -- -c config/galaxy.yml
```
"""
+
import logging
import os
diff --git a/scripts/check_model.py b/scripts/check_model.py
index 015e3509ac8..96cb66e9f56 100644
--- a/scripts/check_model.py
+++ b/scripts/check_model.py
@@ -3,6 +3,7 @@ Check for db indexes defined in mapping.py but missing in the database.
Note: pass '-c /path/to/galaxy.yml' to use the database_connection set in galaxy.yml.
Otherwise the default sqlite database will be used.
"""
+
import json
import os
import sys
diff --git a/scripts/dump_library_paths.py b/scripts/dump_library_paths.py
index f3080c5118f..504b348eb2f 100644
--- a/scripts/dump_library_paths.py
+++ b/scripts/dump_library_paths.py
@@ -11,6 +11,7 @@ Or all in one:
$ python dump_library_paths.py [options] --relative /srv/galaxy/datasets | rsync -arvPR \
--files-from=- /srv/galaxy/datasets backuphost:/backup/galaxy/datasets
"""
+
import logging
import os
import sys
diff --git a/scripts/extract_dataset_part.py b/scripts/extract_dataset_part.py
index 82d05b544d5..62609e8b580 100644
--- a/scripts/extract_dataset_part.py
+++ b/scripts/extract_dataset_part.py
@@ -6,6 +6,7 @@ Used by jobs that split large files into pieces to be processed concurrently
on a gid in a scatter-gather mode. This does part of the scatter.
"""
+
import json
import logging
import os
diff --git a/scripts/manage_db.py b/scripts/manage_db.py
index 49286a64cc1..ef180096f9d 100644
--- a/scripts/manage_db.py
+++ b/scripts/manage_db.py
@@ -3,6 +3,7 @@ This script should not be used directly. It is intended to be used by the
ansible galaxy and toolshed roles. For managing the database, please consult
manage_db.sh.
"""
+
import logging
import os.path
import sys
diff --git a/test/integration/objectstore/test_objectstore_datatype_upload.py b/test/integration/objectstore/test_objectstore_datatype_upload.py
index bdc78d219e7..a31d878c3bc 100644
--- a/test/integration/objectstore/test_objectstore_datatype_upload.py
+++ b/test/integration/objectstore/test_objectstore_datatype_upload.py
@@ -1,4 +1,5 @@
"""Tests objectstores by exercising the datatype upload integration tests."""
+
import os
import string
import subprocess
diff --git a/test/integration/oidc/test_auth_oidc.py b/test/integration/oidc/test_auth_oidc.py
index 09f809218b6..10268225ef2 100644
--- a/test/integration/oidc/test_auth_oidc.py
+++ b/test/integration/oidc/test_auth_oidc.py
@@ -1,4 +1,5 @@
"""Integration tests for the CLI shell plugins and runners."""
+
import html
import os
import re
diff --git a/test/integration/test_cli_runners.py b/test/integration/test_cli_runners.py
index b240ebaf7cc..aa41e9bdf36 100644
--- a/test/integration/test_cli_runners.py
+++ b/test/integration/test_cli_runners.py
@@ -1,4 +1,5 @@
"""Integration tests for the CLI shell plugins and runners."""
+
import os
import string
import subprocess
diff --git a/test/integration/test_coexecution.py b/test/integration/test_coexecution.py
index 4e542699a3b..3bfb97561d4 100644
--- a/test/integration/test_coexecution.py
+++ b/test/integration/test_coexecution.py
@@ -11,6 +11,7 @@ rabbitmq installed via Homebrew, and if a fixed port is set for the test.
GALAXY_TEST_PORT=9234 pytest test/integration/test_coexecution.py
"""
+
import os
import platform
import random
diff --git a/test/integration/test_container_resolvers.py b/test/integration/test_container_resolvers.py
index f00efcfc309..2188cf3f9bb 100644
--- a/test/integration/test_container_resolvers.py
+++ b/test/integration/test_container_resolvers.py
@@ -303,8 +303,7 @@ class ContainerResolverTestProtocol(Protocol):
# The remaining methods are implemented in IntegrationTestCase
@property
- def dataset_populator(self) -> DatasetPopulator:
- ...
+ def dataset_populator(self) -> DatasetPopulator: ...
def _assert_status_code_is(self, response: "Response", expected_status_code: int) -> None:
"""
diff --git a/test/integration/test_data_manager.py b/test/integration/test_data_manager.py
index d6a42b00bae..355f793b917 100644
--- a/test/integration/test_data_manager.py
+++ b/test/integration/test_data_manager.py
@@ -42,7 +42,6 @@ DATA_MANAGER_MANUAL_INPUT = {
class TestDataManagerIntegration(integration_util.IntegrationTestCase, UsesShed):
-
"""Test data manager installation and table reload through the API"""
framework_tool_and_types = True
diff --git a/test/integration/test_data_manager_refgenie.py b/test/integration/test_data_manager_refgenie.py
index 3af08162ab4..ac8d96ee852 100644
--- a/test/integration/test_data_manager_refgenie.py
+++ b/test/integration/test_data_manager_refgenie.py
@@ -49,7 +49,6 @@ REFGENIE_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "refgenie.yml")
class TestDataManagerIntegration(integration_util.IntegrationTestCase, UsesShed):
-
"""Test data manager installation and table reload through the API"""
framework_tool_and_types = True
diff --git a/test/integration/test_display_applications.py b/test/integration/test_display_applications.py
index da79751480d..8b35021b417 100644
--- a/test/integration/test_display_applications.py
+++ b/test/integration/test_display_applications.py
@@ -19,9 +19,9 @@ class TestDisplayApplicationTestCase(ContainerizedIntegrationTestCase):
for display_app_url in self._setup_igv_datasets(history_id=history_id, instance_url=instance_url):
# wait for eventual conversion to finish
wait_on(
- lambda display_app_url=display_app_url: True
- if self._get(display_app_url, allow_redirects=False).status_code == 302
- else None,
+ lambda display_app_url=display_app_url: (
+ True if self._get(display_app_url, allow_redirects=False).status_code == 302 else None
+ ),
"display application to become ready",
timeout=60,
)
diff --git a/test/integration/test_extended_metadata.py b/test/integration/test_extended_metadata.py
index 11d259bf456..ea433f5c2fa 100644
--- a/test/integration/test_extended_metadata.py
+++ b/test/integration/test_extended_metadata.py
@@ -1,4 +1,5 @@
"""Integration tests for the Pulsar embedded runner."""
+
from galaxy_test.base.populators import (
DatasetPopulator,
LibraryPopulator,
diff --git a/test/integration/test_flush_per_n_datasets.py b/test/integration/test_flush_per_n_datasets.py
index 03dad07e948..80daf9e0c73 100644
--- a/test/integration/test_flush_per_n_datasets.py
+++ b/test/integration/test_flush_per_n_datasets.py
@@ -1,4 +1,5 @@
"""Integration tests for the flush_per_n_datasets setting."""
+
from galaxy_test.driver import integration_util
diff --git a/test/integration/test_interactivetools_api.py b/test/integration/test_interactivetools_api.py
index 5d59c9f0755..7058070be0b 100644
--- a/test/integration/test_interactivetools_api.py
+++ b/test/integration/test_interactivetools_api.py
@@ -1,4 +1,5 @@
"""Integration tests for realtime tools."""
+
import os
import tempfile
from typing import (
diff --git a/test/integration/test_job_files.py b/test/integration/test_job_files.py
index 1c14ce81f28..cf43c241681 100644
--- a/test/integration/test_job_files.py
+++ b/test/integration/test_job_files.py
@@ -14,6 +14,7 @@ As a result this test is highly coupled with internals in a way most
integration tests avoid - but @jmchilton's fear of not touching this
API has gone too far.
"""
+
import io
import os
import tempfile
diff --git a/test/integration/test_kubernetes_runner.py b/test/integration/test_kubernetes_runner.py
index 728d2a4fbfd..c751734353e 100644
--- a/test/integration/test_kubernetes_runner.py
+++ b/test/integration/test_kubernetes_runner.py
@@ -1,4 +1,5 @@
"""Integration tests for the Kubernetes runner."""
+
# Tested on docker for mac 18.06.1-ce-mac73 using the default kubernetes setup,
# also works on minikube
import collections
@@ -345,12 +346,10 @@ class TestKubernetesIntegration(BaseJobEnvironmentIntegrationTestCase, MulledJob
external_id = job.job_runner_external_id
@overload
- def get_kubectl_logs(allow_wait: Literal[False]) -> str:
- ...
+ def get_kubectl_logs(allow_wait: Literal[False]) -> str: ...
@overload
- def get_kubectl_logs(allow_wait: bool = True) -> Optional[str]:
- ...
+ def get_kubectl_logs(allow_wait: bool = True) -> Optional[str]: ...
def get_kubectl_logs(allow_wait: bool = True) -> Optional[str]:
log_cmd = ["kubectl", "logs", "-l", f"job-name={external_id}"]
diff --git a/test/integration/test_max_discovered_files.py b/test/integration/test_max_discovered_files.py
index f78e22bba66..7bcbca1659b 100644
--- a/test/integration/test_max_discovered_files.py
+++ b/test/integration/test_max_discovered_files.py
@@ -1,4 +1,5 @@
"""Integration tests for max_discoverd_files setting."""
+
from galaxy_test.base.populators import DatasetPopulator
from galaxy_test.driver import integration_util
diff --git a/test/integration/test_remote_files_histories.py b/test/integration/test_remote_files_histories.py
index 4996a6b76e5..e6d98f913d0 100644
--- a/test/integration/test_remote_files_histories.py
+++ b/test/integration/test_remote_files_histories.py
@@ -1,4 +1,5 @@
"""Test history import/export from galaxy.files plugins."""
+
import os
from .test_remote_files import ConfiguresRemoteFilesIntegrationTestCase
diff --git a/test/integration/test_repository_operations.py b/test/integration/test_repository_operations.py
index 95e0c97d912..551d3a24125 100644
--- a/test/integration/test_repository_operations.py
+++ b/test/integration/test_repository_operations.py
@@ -20,7 +20,6 @@ REVISION_4 = "071084070619"
class TestRepositoryInstallIntegrationTestCase(integration_util.IntegrationTestCase, UsesShed):
-
"""Test data manager installation and table reload through the API"""
@classmethod
diff --git a/test/integration/test_resolvers.py b/test/integration/test_resolvers.py
index 70cce560adc..242974ac2be 100644
--- a/test/integration/test_resolvers.py
+++ b/test/integration/test_resolvers.py
@@ -1,4 +1,5 @@
"""Integration tests for dependency resolution."""
+
import os
from tempfile import mkdtemp
from typing import ClassVar
@@ -10,7 +11,6 @@ GNUPLOT = {"version": "4.6", "type": "package", "name": "gnuplot"}
class TestCondaResolutionIntegration(integration_util.IntegrationTestCase):
-
"""Test conda dependency resolution through API."""
framework_tool_and_types = True
diff --git a/test/integration/test_shed_tool_tests.py b/test/integration/test_shed_tool_tests.py
index 93f1c750a49..b1b35b33223 100644
--- a/test/integration/test_shed_tool_tests.py
+++ b/test/integration/test_shed_tool_tests.py
@@ -4,7 +4,6 @@ from galaxy_test.driver.uses_shed import UsesShed
class TestToolShedToolTestIntegration(integration_util.IntegrationTestCase, UsesShed):
-
"""Test data manager installation and table reload through the API"""
framework_tool_and_types = True
diff --git a/test/integration/test_web_framework_config.py b/test/integration/test_web_framework_config.py
index ffc72c8055f..d617eed03ae 100644
--- a/test/integration/test_web_framework_config.py
+++ b/test/integration/test_web_framework_config.py
@@ -1,4 +1,5 @@
"""Integration tests for framework configuration code."""
+
from requests import options
from galaxy_test.driver import integration_util
diff --git a/test/integration/test_workflow_tasks.py b/test/integration/test_workflow_tasks.py
index d65f8eea615..c250b624439 100644
--- a/test/integration/test_workflow_tasks.py
+++ b/test/integration/test_workflow_tasks.py
@@ -3,6 +3,7 @@
Someday when the API tests can safely assume the target Galaxy has tasks enabled, this should be moved
into the API test suite.
"""
+
import json
import os
from typing import (
diff --git a/test/unit/app/managers/test_CollectionManager.py b/test/unit/app/managers/test_CollectionManager.py
index 3e7e17a8bbc..c6146dd3f78 100644
--- a/test/unit/app/managers/test_CollectionManager.py
+++ b/test/unit/app/managers/test_CollectionManager.py
@@ -100,7 +100,7 @@ class TestDatasetCollectionManager(BaseTestCase, CreatesCollectionsMixin):
"deleted": True,
"visible": False,
"name": "New Name",
- "tags": ["name:one", "group:two", "three"]
+ "tags": ["name:one", "group:two", "three"],
# TODO: doesn't work
# 'annotations' : [?]
},
diff --git a/test/unit/app/managers/test_DatasetManager.py b/test/unit/app/managers/test_DatasetManager.py
index 8847b019f2a..91f891829fb 100644
--- a/test/unit/app/managers/test_DatasetManager.py
+++ b/test/unit/app/managers/test_DatasetManager.py
@@ -1,5 +1,6 @@
"""
"""
+
from unittest import mock
import sqlalchemy
diff --git a/test/unit/app/managers/test_HistoryContentsManager.py b/test/unit/app/managers/test_HistoryContentsManager.py
index 0b2a07c4582..df260460a45 100644
--- a/test/unit/app/managers/test_HistoryContentsManager.py
+++ b/test/unit/app/managers/test_HistoryContentsManager.py
@@ -1,5 +1,6 @@
"""
"""
+
import datetime
import random
diff --git a/test/unit/app/managers/test_UserManager.py b/test/unit/app/managers/test_UserManager.py
index ea606f7743c..871daac25c8 100644
--- a/test/unit/app/managers/test_UserManager.py
+++ b/test/unit/app/managers/test_UserManager.py
@@ -3,6 +3,7 @@ User Manager testing.
Executable directly using: python -m test.unit.managers.test_UserManager
"""
+
from datetime import datetime
from unittest.mock import patch
diff --git a/test/unit/app/managers/test_markdown_to_html.py b/test/unit/app/managers/test_markdown_to_html.py
index 36cd2313168..59cbc58f93e 100644
--- a/test/unit/app/managers/test_markdown_to_html.py
+++ b/test/unit/app/managers/test_markdown_to_html.py
@@ -4,6 +4,7 @@ It is an external library for the most part, but given sensitivity of escaping
HTML content - best to test in insolation and verify the security of our
dependencies.
"""
+
from galaxy.managers.markdown_util import to_html
diff --git a/test/unit/app/test_dbscript.py b/test/unit/app/test_dbscript.py
index 4fd3da64ff8..a5abf8951c0 100644
--- a/test/unit/app/test_dbscript.py
+++ b/test/unit/app/test_dbscript.py
@@ -4,6 +4,7 @@ Testing approach:
- Use alembic api for setup and accessing the database.
- Run command as subprocess, verify captured output + database state.
"""
+
import os
from typing import NewType
diff --git a/test/unit/app/test_galaxy_install.py b/test/unit/app/test_galaxy_install.py
index 021bfdfd12e..1695e8faebc 100644
--- a/test/unit/app/test_galaxy_install.py
+++ b/test/unit/app/test_galaxy_install.py
@@ -3,6 +3,7 @@
It should be able to quickly test installing things from the real tool shed
and from bootstrapped tool sheds.
"""
+
from pathlib import Path
from typing import (
Any,
diff --git a/test/unit/app/tools/test_collect_primary_datasets.py b/test/unit/app/tools/test_collect_primary_datasets.py
index 40618ca9207..16f3c6aae13 100644
--- a/test/unit/app/tools/test_collect_primary_datasets.py
+++ b/test/unit/app/tools/test_collect_primary_datasets.py
@@ -377,15 +377,13 @@ class TestCollectPrimaryDatasets(TestCase, tools_support.UsesTools):
# Rewrite tool as if it had been created with output containing
# supplied dataset_collector elem.
elem = util.parse_xml_string(xml_str)
- self.tool.outputs[
- DEFAULT_TOOL_OUTPUT
- ].dataset_collector_descriptions = output_collection_def.dataset_collector_descriptions_from_elem(elem)
+ self.tool.outputs[DEFAULT_TOOL_OUTPUT].dataset_collector_descriptions = (
+ output_collection_def.dataset_collector_descriptions_from_elem(elem)
+ )
def _replace_output_collectors_from_dict(self, output_dict):
- self.tool.outputs[
- DEFAULT_TOOL_OUTPUT
- ].dataset_collector_descriptions = output_collection_def.dataset_collector_descriptions_from_output_dict(
- output_dict
+ self.tool.outputs[DEFAULT_TOOL_OUTPUT].dataset_collector_descriptions = (
+ output_collection_def.dataset_collector_descriptions_from_output_dict(output_dict)
)
def _append_job_json(self, object, output_path=None, line_type="new_primary_dataset"):
diff --git a/test/unit/app/tools/test_column_parameters.py b/test/unit/app/tools/test_column_parameters.py
index 690292ed6d1..f61a914e918 100644
--- a/test/unit/app/tools/test_column_parameters.py
+++ b/test/unit/app/tools/test_column_parameters.py
@@ -1,6 +1,7 @@
""" Tests for tool parameters, more tests exist in test_data_parameters.py and
test_select_parameters.py.
"""
+
from galaxy import model
from galaxy.app_unittest_utils.tools_support import datatypes_registry
from galaxy.model.base import transaction
diff --git a/test/unit/app/tools/test_execution.py b/test/unit/app/tools/test_execution.py
index 0079a75dcb7..7e34757ec55 100644
--- a/test/unit/app/tools/test_execution.py
+++ b/test/unit/app/tools/test_execution.py
@@ -1,5 +1,6 @@
""" Test Tool execution and state handling logic.
"""
+
from collections import OrderedDict
from typing import cast
diff --git a/test/unit/app/tools/test_tool_external_files.py b/test/unit/app/tools/test_tool_external_files.py
index b013f4eb9a4..e70e0c29d5a 100644
--- a/test/unit/app/tools/test_tool_external_files.py
+++ b/test/unit/app/tools/test_tool_external_files.py
@@ -1,6 +1,7 @@
""" Unit test logic related to finding externally referenced files in tool
descriptions.
"""
+
import os
import shutil
import tempfile
diff --git a/test/unit/app/visualizations/plugins/test_VisualizationPlugin.py b/test/unit/app/visualizations/plugins/test_VisualizationPlugin.py
index 3f94386df36..bada3b4b4e6 100644
--- a/test/unit/app/visualizations/plugins/test_VisualizationPlugin.py
+++ b/test/unit/app/visualizations/plugins/test_VisualizationPlugin.py
@@ -1,6 +1,7 @@
"""
Test lib/galaxy/visualization/plugins/plugin.
"""
+
from galaxy.app_unittest_utils import galaxy_mock
from galaxy.util import clean_multiline_string
from galaxy.visualization.plugins import (
diff --git a/test/unit/app/visualizations/plugins/test_VisualizationsRegistry.py b/test/unit/app/visualizations/plugins/test_VisualizationsRegistry.py
index c32a0303f9d..1c7f9707f04 100644
--- a/test/unit/app/visualizations/plugins/test_VisualizationsRegistry.py
+++ b/test/unit/app/visualizations/plugins/test_VisualizationsRegistry.py
@@ -1,6 +1,7 @@
"""
Test lib/galaxy/visualization/plugins/registry.
"""
+
import os
from galaxy.app_unittest_utils import galaxy_mock
diff --git a/test/unit/data/datatypes/dataproviders/test_base_dataproviders.py b/test/unit/data/datatypes/dataproviders/test_base_dataproviders.py
index a96e6f2c97f..95c1d68e679 100644
--- a/test/unit/data/datatypes/dataproviders/test_base_dataproviders.py
+++ b/test/unit/data/datatypes/dataproviders/test_base_dataproviders.py
@@ -2,6 +2,7 @@
Unit tests for base DataProviders.
.. seealso:: galaxy.datatypes.dataproviders.base
"""
+
import os
import tempfile
from io import StringIO
diff --git a/test/unit/data/datatypes/dataproviders/test_line_dataproviders.py b/test/unit/data/datatypes/dataproviders/test_line_dataproviders.py
index 091cc7f6e55..67d1eeb2aaf 100644
--- a/test/unit/data/datatypes/dataproviders/test_line_dataproviders.py
+++ b/test/unit/data/datatypes/dataproviders/test_line_dataproviders.py
@@ -2,6 +2,7 @@
Unit tests for base DataProviders.
.. seealso:: galaxy.datatypes.dataproviders.base
"""
+
import logging
from typing import Type
diff --git a/test/unit/data/datatypes/test_data.py b/test/unit/data/datatypes/test_data.py
index 26c5bc3d2cf..d36c81b7639 100644
--- a/test/unit/data/datatypes/test_data.py
+++ b/test/unit/data/datatypes/test_data.py
@@ -2,6 +2,7 @@
Unit tests for base DataTypes.
.. seealso:: galaxy.datatypes.data
"""
+
import os
from galaxy.datatypes.anvio import AnvioStructureDB
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db1/2e8a580bc79a_drop_sqlachemymigrate_table.py b/test/unit/data/model/migrations/testing_utils/versions/db1/2e8a580bc79a_drop_sqlachemymigrate_table.py
index d80b518976b..dd9bc42c927 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db1/2e8a580bc79a_drop_sqlachemymigrate_table.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db1/2e8a580bc79a_drop_sqlachemymigrate_table.py
@@ -5,6 +5,7 @@ Revises: 62695fac6cc0
Create Date: 2021-11-05 16:29:19.123118
"""
+
import sqlalchemy as sa
from alembic import op
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db1/62695fac6cc0_create_gxy_test_branch.py b/test/unit/data/model/migrations/testing_utils/versions/db1/62695fac6cc0_create_gxy_test_branch.py
index afc3204a309..585557c497d 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db1/62695fac6cc0_create_gxy_test_branch.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db1/62695fac6cc0_create_gxy_test_branch.py
@@ -6,7 +6,6 @@ Create Date: 2021-11-05 16:28:30.497050
"""
-
# revision identifiers, used by Alembic.
revision = "62695fac6cc0"
down_revision = None
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db1/e02cef55763c_add_gxy_table3.py b/test/unit/data/model/migrations/testing_utils/versions/db1/e02cef55763c_add_gxy_table3.py
index 37f9a596f95..2d0989c7a69 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db1/e02cef55763c_add_gxy_table3.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db1/e02cef55763c_add_gxy_table3.py
@@ -5,6 +5,7 @@ Revises: 2e8a580bc79a
Create Date: 2021-11-05 16:30:30.521436
"""
+
import sqlalchemy as sa
from alembic import op
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db2/0e28bf2fb7b5_add_tsi_table3.py b/test/unit/data/model/migrations/testing_utils/versions/db2/0e28bf2fb7b5_add_tsi_table3.py
index d692c9f4937..a760a9dcef5 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db2/0e28bf2fb7b5_add_tsi_table3.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db2/0e28bf2fb7b5_add_tsi_table3.py
@@ -5,6 +5,7 @@ Revises: 8364ef1cab05
Create Date: 2021-11-05 16:31:00.530235
"""
+
import sqlalchemy as sa
from alembic import op
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db2/1bceec30363a_create_tsi_test_branch.py b/test/unit/data/model/migrations/testing_utils/versions/db2/1bceec30363a_create_tsi_test_branch.py
index 7209e389f8e..fc813443a76 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db2/1bceec30363a_create_tsi_test_branch.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db2/1bceec30363a_create_tsi_test_branch.py
@@ -6,7 +6,6 @@ Create Date: 2021-11-05 16:28:45.450830
"""
-
# revision identifiers, used by Alembic.
revision = "1bceec30363a"
down_revision = None
diff --git a/test/unit/data/model/migrations/testing_utils/versions/db2/8364ef1cab05_drop_sqlachemymigrate_table.py b/test/unit/data/model/migrations/testing_utils/versions/db2/8364ef1cab05_drop_sqlachemymigrate_table.py
index ac4c9a98879..1cdd4bcca92 100644
--- a/test/unit/data/model/migrations/testing_utils/versions/db2/8364ef1cab05_drop_sqlachemymigrate_table.py
+++ b/test/unit/data/model/migrations/testing_utils/versions/db2/8364ef1cab05_drop_sqlachemymigrate_table.py
@@ -5,6 +5,7 @@ Revises: 1bceec30363a
Create Date: 2021-11-05 16:30:51.369967
"""
+
import sqlalchemy as sa
from alembic import op
diff --git a/test/unit/data/model/test_mapping_testing_utils.py b/test/unit/data/model/test_mapping_testing_utils.py
index 2b7e897afd3..6424632422a 100644
--- a/test/unit/data/model/test_mapping_testing_utils.py
+++ b/test/unit/data/model/test_mapping_testing_utils.py
@@ -1,6 +1,7 @@
"""
This module contains tests for the utility functions in the test_mapping module.
"""
+
import pytest
from sqlalchemy import (
Column,
diff --git a/test/unit/data/model/test_model_store.py b/test/unit/data/model/test_model_store.py
index e9d222a9c15..0edb5377b01 100644
--- a/test/unit/data/model/test_model_store.py
+++ b/test/unit/data/model/test_model_store.py
@@ -1,4 +1,5 @@
"""Unit tests for importing and exporting data from model stores."""
+
import json
import os
import pathlib
diff --git a/test/unit/files/_util.py b/test/unit/files/_util.py
index 9d3277395da..90e5696fd67 100644
--- a/test/unit/files/_util.py
+++ b/test/unit/files/_util.py
@@ -1,4 +1,5 @@
"""Utilities for unit test suite for galaxy.files."""
+
import os
import tempfile
diff --git a/test/unit/util/test_lazy_process.py b/test/unit/util/test_lazy_process.py
index b3e41979c64..bc113a33df6 100644
--- a/test/unit/util/test_lazy_process.py
+++ b/test/unit/util/test_lazy_process.py
@@ -1,4 +1,5 @@
"""Unit module for LazyProcess object in galaxy.util.lazy_process."""
+
import os
import tempfile
import time
diff --git a/test/unit/webapps/api/test_cbv.py b/test/unit/webapps/api/test_cbv.py
index f683e2f4760..df3e9db3a5d 100644
--- a/test/unit/webapps/api/test_cbv.py
+++ b/test/unit/webapps/api/test_cbv.py
@@ -2,6 +2,7 @@
Original implementation by David Montague (@dmontagu)
https://github.com/dmontagu/fastapi-utils
"""
+
from __future__ import annotations
from typing import (
diff --git a/test/unit/webapps/test_webapp_base.py b/test/unit/webapps/test_webapp_base.py
index 1fd4ef9c3f3..f304b3a42ad 100644
--- a/test/unit/webapps/test_webapp_base.py
+++ b/test/unit/webapps/test_webapp_base.py
@@ -1,6 +1,7 @@
"""
Unit tests for ``galaxy.web.framework.webapp``
"""
+
import logging
import re
from typing import (
diff --git a/tools/filters/sorter.py b/tools/filters/sorter.py
index 50e81ddb419..367aa4721ae 100644
--- a/tools/filters/sorter.py
+++ b/tools/filters/sorter.py
@@ -2,6 +2,7 @@
Sorts tabular data on one or more columns. All comments of the file are collected
and placed at the beginning of the sorted output file.
"""
+
# 03/05/2013 guerler
import argparse