Python 3.8 as new minimum version

Fixes: https://github.com/galaxyproject/galaxy/issues/16394

Also upgrade code to Python 3.8 syntax with:

```
ack --type=python -f | grep -v '^lib/galaxy/schema/bco/\|^lib/galaxy/schema/drs/\|lib/tool_shed_client/schema/trs.*.py\|^tools/\|^.venv/\|^.tox/' | grep -v '^lib/galaxy/files/sources/\|^lib/galaxy/job_metrics/\|^lib/galaxy/objectstore/\|^lib/galaxy/tool_util/\|^lib/galaxy/util/' | xargs pyupgrade --py38-plus
```
This commit is contained in:
Michael R. Crusoe
2023-10-31 18:51:06 +01:00
committed by Nicola Soranzo
parent d31a812a43
commit c00967cca4
72 changed files with 101 additions and 143 deletions
+2 -2
View File
@@ -15,7 +15,7 @@ variables:
jobs:
get_code:
docker:
- image: cimg/python:3.7
- image: cimg/python:3.8
<<: *set_workdir
steps:
# Replace standard code checkout with shallow clone to speed things up.
@@ -73,7 +73,7 @@ jobs:
- ~/repo
validate_test_tools:
docker:
- image: cimg/python:3.7
- image: cimg/python:3.8
<<: *set_workdir
steps:
- *restore_repo_cache
+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
chunk: [0, 1]
services:
postgres:
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- if: github.event_name == 'schedule'
run: |
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
marker: ['green', 'red and required', 'red and not required']
conformance-version: ['cwl_conformance_v1_0'] #, 'cwl_conformance_v1_1', 'cwl_conformance_v1_2']
services:
+2 -2
View File
@@ -24,11 +24,11 @@ jobs:
matrix:
db: ['postgresql', 'sqlite']
postgresql-version: ['13']
python-version: ['3.7']
python-version: ['3.8']
include:
- db: postgresql
postgresql-version: '9.6'
python-version: '3.7'
python-version: '3.8'
services:
postgres:
image: postgres:${{ matrix.postgresql-version }}
+2 -7
View File
@@ -9,17 +9,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
# poetry requires Python >=3.8, but lint requirements currently need
# to be generated with `pip freeze`` on the oldest Python version
# supported by Galaxy.
python-version: |
${{ matrix.python-version }}
3.8
python-version: ${{ matrix.python-version }}
- name: Update dependencies
run: |
python -m venv .venv
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- uses: actions/checkout@v3
with:
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- name: Get target branch name (push)
if: github.event_name == 'push'
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
defaults:
run:
shell: bash -l {0}
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
services:
postgres:
image: postgres:13
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
chunk: ['0', '1', '2', '3']
services:
postgres:
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
services:
postgres:
image: postgres:13
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
env:
LINT_PATH: 'lib/galaxy/dependencies/pinned-lint-requirements.txt'
TYPE_PATH: 'lib/galaxy/dependencies/pinned-typecheck-requirements.txt'
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
steps:
- uses: actions/checkout@v3
with:
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- uses: actions/checkout@v3
with:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
defaults:
run:
shell: bash -l {0}
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
services:
postgres:
image: postgres:13
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7']
python-version: ['3.8']
steps:
- uses: actions/setup-python@v4
with:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
defaults:
run:
shell: bash -l {0}
+1 -1
View File
@@ -30,7 +30,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
chunk: [0, 1, 2]
services:
postgres:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
steps:
- uses: actions/checkout@v3
with:
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.7'] # don't upgrade, see https://github.com/galaxyproject/galaxy/pull/16649
steps:
- uses: actions/checkout@v3
with:
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
shed-api: ['v1', 'v2']
test-install-client: ['galaxy_api', 'standalone']
services:
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
services:
postgres:
image: postgres:13
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
python-version: ['3.8', '3.11']
steps:
- uses: actions/checkout@v3
with:
+2 -2
View File
@@ -24,12 +24,12 @@ Community support is available at `Galaxy Help <https://help.galaxyproject.org/>
Galaxy Quickstart
=================
Galaxy requires Python 3.7 . To check your Python version, run:
Galaxy requires Python 3.8 . To check your Python version, run:
.. code:: console
$ python -V
Python 3.7.6
Python 3.8.18
Start Galaxy:
+1 -1
View File
@@ -1,6 +1,6 @@
# Supported Python versions
Galaxy's core functionality is currently supported on Python **>=3.7** .
Galaxy's core functionality is currently supported on Python **>=3.8** .
If Galaxy complains about the version of Python you are using:
+1 -1
View File
@@ -52,7 +52,7 @@ index 6647588dfb..c8d82957a1 100644
@@ -14,7 +14,7 @@ jobs:
fail-fast: false
matrix:
python-version: ['3.7']
python-version: ['3.8']
- subset: ['upload_datatype', 'extended_metadata', 'kubernetes', 'not (upload_datatype or extended_metadata or kubernetes)']
+ subset: ['not (upload_datatype or extended_metadata or kubernetes)']
services:
@@ -123,7 +123,7 @@ class MockContext:
def __init__(self, model_objects=None):
self.expunged_all = False
self.flushed = False
self.model_objects = model_objects or defaultdict(lambda: {})
self.model_objects = model_objects or defaultdict(dict)
self.created_objects = []
self.current = self
+2 -2
View File
@@ -68,12 +68,12 @@ from galaxy.web.short_term_storage import ShortTermStorageMonitor
log = get_logger(__name__)
@lru_cache()
@lru_cache
def setup_data_table_manager(app):
app._configure_tool_data_tables(from_shed_config=False)
@lru_cache()
@lru_cache
def cached_create_tool_from_representation(app, raw_tool_source):
return create_tool_from_representation(
app=app, raw_tool_source=raw_tool_source, tool_dir="", tool_source_class="XmlToolSource"
+2 -2
View File
@@ -6,6 +6,7 @@ import json
import logging
import os
import re
import shlex
import subprocess
import tempfile
from typing import (
@@ -38,7 +39,6 @@ from galaxy.datatypes.sniff import (
)
from galaxy.util import (
nice_size,
shlex_join,
string_as_bool,
unicodify,
)
@@ -242,7 +242,7 @@ class Ipynb(Json):
ofilename = dataset.get_file_name()
log.exception(
'Command "%s" failed. Could not convert the Jupyter Notebook to HTML, defaulting to plain text.',
shlex_join(cmd),
shlex.join(cmd),
)
return open(ofilename, mode="rb"), headers
@@ -658,9 +658,6 @@ def get_starts_ends_fields_from_gene_bed(line):
if len(fields) < 12:
raise Exception(f"Not a proper 12 column BED line ({line}).")
tx_start = int(fields[1])
strand = fields[5]
if strand != "-":
strand = "+" # Default strand is +
cds_start = int(fields[6])
cds_end = int(fields[7])
+1 -1
View File
@@ -6,7 +6,7 @@
set -e
SUPPORTED_PYTHON_VERSIONS="3.7 3.8 3.9 3.10 3.11"
SUPPORTED_PYTHON_VERSIONS="3.8 3.9 3.10 3.11"
NOT_SUPPORTED_NEXT_PYTHON_VERSION="3.12"
this_directory="$(cd "$(dirname "$0")" > /dev/null && pwd)"
@@ -11,7 +11,7 @@ THIS_DIRECTORY="$(cd "$(dirname "$0")" > /dev/null && pwd)"
update_pinned_reqs() {
VENV=$(mktemp -d "${TMPDIR:-/tmp}/$1_venv.XXXXXXXXXX")
python3.7 -m venv "${VENV}"
python3.8 -m venv "${VENV}"
. "${VENV}/bin/activate"
pip install --upgrade pip setuptools
pip install -r "${THIS_DIRECTORY}/$1-requirements.txt"
+3 -3
View File
@@ -409,7 +409,7 @@ class DefaultStrategy(NotificationRecipientResolverStrategy):
user_ids_from_roles_stmt = self._get_all_user_ids_from_roles_query(all_role_ids)
union_stmt = union(user_ids_from_groups_stmt, user_ids_from_roles_stmt)
user_ids_from_groups_and_roles = set([id for id, in self.sa_session.execute(union_stmt)])
user_ids_from_groups_and_roles = {id for id, in self.sa_session.execute(union_stmt)}
unique_user_ids.update(user_ids_from_groups_and_roles)
stmt = select(User).where(User.id.in_(unique_user_ids))
@@ -448,7 +448,7 @@ class DefaultStrategy(NotificationRecipientResolverStrategy):
.where(GroupRoleAssociation.role_id.in_(role_ids))
.distinct()
)
group_ids_from_roles = set([id for id, in self.sa_session.execute(stmt) if id is not None])
group_ids_from_roles = {id for id, in self.sa_session.execute(stmt) if id is not None}
new_group_ids = group_ids_from_roles - processed_group_ids
# Get role IDs associated with any of the given group IDs
@@ -458,7 +458,7 @@ class DefaultStrategy(NotificationRecipientResolverStrategy):
.where(GroupRoleAssociation.group_id.in_(group_ids))
.distinct()
)
role_ids_from_groups = set([id for id, in self.sa_session.execute(stmt) if id is not None])
role_ids_from_groups = {id for id, in self.sa_session.execute(stmt) if id is not None}
new_role_ids = role_ids_from_groups - processed_role_ids
# Stop if there are no new group or role IDs to process
+2 -2
View File
@@ -5,6 +5,7 @@ import logging
import os
import platform
import re
import shlex
import shutil
import sys
import tempfile
@@ -28,7 +29,6 @@ from galaxy.util import (
commands,
download_to_file,
listify,
shlex_join,
smart_str,
which,
)
@@ -253,7 +253,7 @@ class CondaContext(installable.InstallableContext):
env = {}
if self.condarc_override:
env["CONDARC"] = self.condarc_override
cmd_string = shlex_join(cmd)
cmd_string = shlex.join(cmd)
kwds = dict()
try:
if stdout_path:
@@ -12,6 +12,7 @@ Build a mulled image with:
import json
import logging
import os
import shlex
import shutil
import stat
import string
@@ -38,7 +39,6 @@ from galaxy.util import (
commands,
download_to_file,
safe_makedirs,
shlex_join,
unicodify,
)
from ._cli import arg_parser
@@ -335,7 +335,7 @@ def mull_targets(
involucro_args.insert(6, "-set")
involucro_args.insert(7, f"TEST_BINDS={','.join(test_bind)}")
cmd = involucro_context.build_command(involucro_args)
print(f"Executing: {shlex_join(cmd)}")
print(f"Executing: {shlex.join(cmd)}")
if dry_run:
return 0
ensure_installed(involucro_context, True)
@@ -40,9 +40,6 @@ def main(argv=None):
)
parser.add_option("--file-sources", type=str, help="file sources json")
(options, args) = parser.parse_args(argv)
galaxy_version = options.galaxy_version
if galaxy_version is None:
galaxy_version = "19.05"
gzip = bool(options.gzip)
assert len(args) >= 2
-9
View File
@@ -13,7 +13,6 @@ import json
import os
import random
import re
import shlex
import shutil
import smtplib
import stat
@@ -96,14 +95,6 @@ from .path import ( # noqa: F401
)
from .rst_to_html import rst_to_html # noqa: F401
try:
shlex_join = shlex.join # type: ignore[attr-defined]
except AttributeError:
# Python < 3.8
def shlex_join(split_command):
return " ".join(map(shlex.quote, split_command))
inflector = Inflector()
log = get_logger(__name__)
+1 -1
View File
@@ -388,7 +388,7 @@ def external_chown(path, pwent, external_chown_script, description="file"):
cmd = shlex.split(external_chown_script)
cmd.extend([path, pwent[0], str(pwent[3])])
log.debug(f"Changing ownership of {path} with: '{galaxy.util.shlex_join(cmd)}'")
log.debug(f"Changing ownership of {path} with: '{shlex.join(cmd)}'")
galaxy.util.commands.execute(cmd)
return True
except galaxy.util.commands.CommandLineException as e:
@@ -134,7 +134,7 @@ class NotificationService(ServiceBase):
):
"""Updates a single notification received by the user with the requested values."""
self.notification_manager.ensure_notifications_enabled()
updated_response = self.update_user_notifications(user_context, set([notification_id]), request)
updated_response = self.update_user_notifications(user_context, {notification_id}, request)
if not updated_response.updated_count:
self._raise_notification_not_found(notification_id)
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -77,7 +76,7 @@ install_requires =
WebOb
Whoosh
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -35,8 +34,8 @@ install_requires =
galaxy-data
galaxy-util
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -38,7 +37,7 @@ install_requires =
pykwalify
PyYAML
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
@@ -46,4 +45,4 @@ console_scripts =
[options.packages.find]
exclude =
tests*
tests*
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -61,7 +60,7 @@ install_requires =
typing-extensions
WebOb
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -36,7 +35,7 @@ install_requires =
fs
typing-extensions
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -40,7 +39,7 @@ install_requires =
MarkupSafe
SQLAlchemy>=1.4.25,<2
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
@@ -49,4 +48,4 @@ console_scripts =
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -34,8 +33,8 @@ include_package_data = True
install_requires =
galaxy-util
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+1 -2
View File
@@ -10,7 +10,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -34,7 +33,7 @@ version = 22.5.0.dev0
[options]
include_package_data = True
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.extras_require]
postgresql =
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -35,8 +34,8 @@ install_requires =
galaxy-util
PyYAML
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -36,8 +35,8 @@ install_requires =
pydantic<2
PyYAML
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -34,7 +33,7 @@ install_requires =
galaxy-util
pydantic[email]
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -39,7 +38,7 @@ install_requires =
requests
selenium!=4.11.0,!=4.11.1,!=4.11.2
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
@@ -47,4 +46,4 @@ console_scripts =
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -38,7 +37,7 @@ install_requires =
requests
tuspy
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.extras_require]
driver =
@@ -46,4 +45,4 @@ driver =
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -41,8 +40,8 @@ install_requires =
PyYAML
requests
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -43,8 +42,8 @@ install_requires =
graphene-sqlalchemy==3.0.0b3 # these are only needed by tool shed - which we've split out but the test driver loads
starlette-graphene3
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -43,7 +42,7 @@ install_requires =
requests
selenium!=4.11.0,!=4.11.1,!=4.11.2
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.extras_require]
driver =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -34,7 +33,7 @@ install_requires =
galaxy-web-stack
galaxy-web-apps
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -43,7 +42,7 @@ install_requires =
sortedcontainers
typing-extensions
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -36,7 +35,7 @@ install_requires =
pydantic<2
PyYAML
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.entry_points]
console_scripts =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -44,7 +43,7 @@ install_requires =
typing-extensions
zipstream-new
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.extras_require]
jstree =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -70,7 +69,7 @@ install_requires =
WebOb
Whoosh
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
+1 -2
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -44,7 +43,7 @@ install_requires =
WebOb
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
+2 -3
View File
@@ -9,7 +9,6 @@ classifiers =
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
@@ -36,8 +35,8 @@ install_requires =
galaxy-util
SQLAlchemy>=1.4.25,<2
packages = find:
python_requires = >=3.7
python_requires = >=3.8
[options.packages.find]
exclude =
tests*
tests*
+6 -5
View File
@@ -1,6 +1,6 @@
[tool.black]
line-length = 120
target-version = ['py37']
target-version = ['py38']
include = '\.pyi?$'
extend-exclude = '''
^/(
@@ -50,7 +50,7 @@ Cheetah3 = "!=3.2.6.post2" # yanked release, https://github.com/python-poetry/p
cloudauthz = "==0.6.0"
cloudbridge = "*"
circus = "*"
cwltool = "==3.1.20221109155812"
cwltool = ">=3.1.20221109155812" # TODO: pin to a newer working version
conda-package-streaming = "*"
dictobj = "*"
dnspython = "*"
@@ -93,9 +93,9 @@ pydantic = {version = "<2", extras = ["email"]}
PyJWT = "*"
pykwalify = "*"
pylibmagic = "*"
pyparsing = "<3.1" # Needed by matplotlib on Python >=3.8 https://github.com/matplotlib/matplotlib/issues/26152
pyparsing = "*"
pysam = ">=0.21" # for Python 3.11 support on macOS
python = ">=3.7,<3.12" # Keep maximum version strict to appease numpy and scipy
python = ">=3.8,<3.12" # Keep maximum version strict to appease numpy and scipy
python-dateutil = "*"
python-magic = "*"
python-multipart = "*" # required to support form parsing in FastAPI/Starlette
@@ -155,6 +155,7 @@ pytest-postgresql = "!=3.0.0" # https://github.com/ClearcodeHQ/pytest-postgresq
pytest-shard = "*"
responses = "*"
selenium = "*"
urllib3 = "<2" # Necessary for poetry for resolve deps for Python 3.8+
seletools = "*"
Sphinx = ">=4.0" # support docutils 0.17
sphinx-rtd-theme = ">=1.0.0,<2" # https://github.com/python-poetry/poetry/issues/8194
@@ -184,7 +185,7 @@ types-six = "*"
# Enable: pycodestyle errors (E), Pyflakes (F), flake8-bugbear (B),
# flake8-logging-format (G) and pyupgrade (UP)
select = ["E", "F", "B", "G", "UP"]
target-version = "py37"
target-version = "py38"
# Exceptions:
# B008 Do not perform function calls in argument defaults (for FastAPI Depends and Body)
# B9 flake8-bugbear opinionated warnings
+2 -2
View File
@@ -7,7 +7,7 @@ import sys
def check_python():
if sys.version_info[:2] >= (3, 7): # noqa: UP036
if sys.version_info[:2] >= (3, 8): # noqa: UP036
# supported
return
else:
@@ -15,7 +15,7 @@ def check_python():
msg = (
"""\
ERROR: Your Python version is: %s
Galaxy is currently supported on Python >=3.7 .
Galaxy is currently supported on Python >=3.8 .
To run Galaxy, please install a supported Python version.
If a supported version is already installed but is not your default,
https://docs.galaxyproject.org/en/latest/admin/python.html contains instructions
+2 -2
View File
@@ -14,7 +14,7 @@ SKIP_NODE=${GALAXY_SKIP_NODE:-0}
INSTALL_PREBUILT_CLIENT=${GALAXY_INSTALL_PREBUILT_CLIENT:-0}
NODE_VERSION=${GALAXY_NODE_VERSION:-"$(cat client/.node_version)"}
: "${YARN_INSTALL_OPTS:=--network-timeout 300000 --check-files}"
: "${GALAXY_CONDA_PYTHON_VERSION:=3.7}"
: "${GALAXY_CONDA_PYTHON_VERSION:=3.8}"
for arg in "$@"; do
if [ "$arg" = "--skip-venv" ]; then
@@ -41,7 +41,7 @@ RMFILES="
lib/pkg_resources.pyc
"
MIN_PYTHON_VERSION=3.7
MIN_PYTHON_VERSION=3.8
MIN_PIP_VERSION=20.3
# return true if $1 is in $2 else false
@@ -24,7 +24,7 @@ def mock_user_id_task(task_user_id: int):
return task_user_id
@lru_cache()
@lru_cache
def sqlite_url():
path = tempfile.NamedTemporaryFile().name
dburl = f"sqlite:///{path}"
@@ -32,7 +32,7 @@ def sqlite_url():
return dburl
@lru_cache()
@lru_cache
def setup_users(dburl: str, num_users: int = 2):
"""
Setup test users in galaxy_user table with user id's starting from 2.
+3 -5
View File
@@ -4,6 +4,7 @@
import collections
import json
import os
import shlex
import string
import subprocess
import tempfile
@@ -18,10 +19,7 @@ import pytest
from typing_extensions import Literal
from galaxy.tool_util.verify.wait import timeout_type
from galaxy.util import (
shlex_join,
unicodify,
)
from galaxy.util import unicodify
from galaxy_test.base.populators import (
DatasetPopulator,
DEFAULT_TIMEOUT,
@@ -361,7 +359,7 @@ class TestKubernetesIntegration(BaseJobEnvironmentIntegrationTestCase, MulledJob
if allow_wait and "is waiting to start" in p.stderr:
return None
raise Exception(
f"Command '{shlex_join(log_cmd)}' failed with exit code: {p.returncode}.\nstdout: {p.stdout}\nstderr: {p.stderr}"
f"Command '{shlex.join(log_cmd)}' failed with exit code: {p.returncode}.\nstdout: {p.stdout}\nstderr: {p.stderr}"
)
return p.stdout
@@ -276,7 +276,7 @@ class TestUserNotifications(NotificationManagerBaseTestCase):
assert user_notification.seen_time is None
assert user_notification.deleted is False
request = UserNotificationUpdateRequest(seen=True)
self.notification_manager.update_user_notifications(user, set([notification.id]), request)
self.notification_manager.update_user_notifications(user, {notification.id}, request)
user_notification = self.notification_manager.get_user_notification(user, notification.id)
assert user_notification.seen_time is not None
assert user_notification.deleted is False
+2
View File
@@ -39,6 +39,8 @@ passenv =
GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECTION
APP_WEBSERVER
TERM
TEST_PYTHON
TZ
setenv =
coverage: GALAXY_TEST_COVERAGE=1
first_startup: GALAXY_CONFIG_DATABASE_AUTO_MIGRATE=true