mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-28 02:58:18 +08:00
Drop support for Python 3.8
This commit is contained in:
@@ -15,7 +15,7 @@ variables:
|
||||
jobs:
|
||||
get_code:
|
||||
docker:
|
||||
- image: cimg/python:3.8
|
||||
- image: cimg/python:3.9
|
||||
<<: *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.8
|
||||
- image: cimg/python:3.9
|
||||
<<: *set_workdir
|
||||
steps:
|
||||
- *restore_repo_cache
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
chunk: [0, 1]
|
||||
services:
|
||||
postgres:
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
tox_env: [py313]
|
||||
galaxy_python_version: ["3.8"]
|
||||
galaxy_python_version: ['3.9']
|
||||
steps:
|
||||
- name: Checkout Galaxy
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- if: github.event_name == 'schedule'
|
||||
run: |
|
||||
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
marker: ['green', 'red and required', 'red and not required']
|
||||
conformance-version: ['cwl_conformance_v1_0'] #, 'cwl_conformance_v1_1', 'cwl_conformance_v1_2']
|
||||
services:
|
||||
|
||||
@@ -24,11 +24,11 @@ jobs:
|
||||
matrix:
|
||||
db: ['postgresql', 'sqlite']
|
||||
postgresql-version: ['13']
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
include:
|
||||
- db: postgresql
|
||||
postgresql-version: '9.6'
|
||||
python-version: '3.8'
|
||||
python-version: '3.9'
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:${{ matrix.postgresql-version }}
|
||||
|
||||
@@ -10,13 +10,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# Install Python 3.8 for update_lint_requirements.sh
|
||||
# Install Python 3.9 (as default) to allow `uv lock` to generate metadata for rucio-clients
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: |
|
||||
3.8
|
||||
3.9
|
||||
python-version: '3.9'
|
||||
- name: Update dependencies
|
||||
run: make update-dependencies
|
||||
- name: Create pull request
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- name: Get target branch name (push)
|
||||
if: github.event_name == 'push'
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
defaults:
|
||||
run:
|
||||
shell: bash -l {0}
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
chunk: ['0', '1', '2', '3']
|
||||
services:
|
||||
postgres:
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
env:
|
||||
LINT_PATH: 'lib/galaxy/dependencies/pinned-lint-requirements.txt'
|
||||
TYPE_PATH: 'lib/galaxy/dependencies/pinned-typecheck-requirements.txt'
|
||||
@@ -56,5 +56,5 @@ jobs:
|
||||
run: tox -e mypy
|
||||
- uses: psf/black@stable
|
||||
with:
|
||||
version: "24.8.0" # last version supporting Python 3.8
|
||||
version: ">=25.1.0"
|
||||
- uses: isort/isort-action@v1
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
defaults:
|
||||
run:
|
||||
shell: bash -l {0}
|
||||
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
steps:
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
defaults:
|
||||
run:
|
||||
shell: bash -l {0}
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
chunk: [0, 1, 2]
|
||||
services:
|
||||
postgres:
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
shed-api: ['v1', 'v2']
|
||||
test-install-client: ['galaxy_api', 'standalone']
|
||||
services:
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8']
|
||||
python-version: ['3.9']
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ['3.8', '3.13']
|
||||
python-version: ['3.9', '3.13']
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
||||
@@ -26,6 +26,14 @@ CWL_TARGETS := test/functional/tools/cwl_tools/v1.0/conformance_tests.yaml \
|
||||
lib/galaxy_test/api/cwl/test_cwl_conformance_v1_1.py \
|
||||
lib/galaxy_test/api/cwl/test_cwl_conformance_v1_2.py
|
||||
NO_YARN_MSG="Could not find yarn, which is required to build the Galaxy client.\nIt should be shipped with Galaxy's virtualenv, but to install yarn manually please visit \033[0;34mhttps://yarnpkg.com/en/docs/install\033[0m for instructions, and package information for all platforms.\n"
|
||||
SPACE := $() $()
|
||||
NEVER_PYUPGRADE_PATHS := .venv/ .tox/ lib/galaxy/schema/bco/ \
|
||||
lib/galaxy/schema/drs/ lib/tool_shed_client/schema/trs \
|
||||
scripts/check_python.py tools/ test/functional/tools/cwl_tools/
|
||||
PY37_PYUPGRADE_PATHS := lib/galaxy/exceptions/ lib/galaxy/job_metrics/ \
|
||||
lib/galaxy/objectstore/ lib/galaxy/tool_util/ lib/galaxy/util/ \
|
||||
test/unit/job_metrics/ test/unit/objectstore/ test/unit/tool_util/ \
|
||||
test/unit/util/
|
||||
|
||||
all: help
|
||||
@echo "This makefile is used for building Galaxy's JS client, documentation, and drive the release process. A sensible all target is not implemented."
|
||||
@@ -54,10 +62,10 @@ format: ## Format Python code base
|
||||
remove-unused-imports: ## Remove unused imports in Python code base
|
||||
$(IN_VENV) autoflake --in-place --remove-all-unused-imports --recursive --verbose lib/ test/
|
||||
|
||||
pyupgrade: ## Convert older code patterns to Python3.7/3.8 idiomatic ones
|
||||
ack --type=python -f | grep -v '^lib/galaxy/schema/bco/\|^lib/galaxy/schema/drs/\|^lib/tool_shed_client/schema/trs\|^tools/\|^.venv/\|^.tox/\|^lib/galaxy/exceptions/\|^lib/galaxy/job_metrics/\|^lib/galaxy/objectstore/\|^lib/galaxy/tool_util/\|^lib/galaxy/util/\|^test/functional/tools/cwl_tools/' | xargs pyupgrade --py38-plus
|
||||
ack --type=python -f | grep -v '^lib/galaxy/schema/bco/\|^lib/galaxy/schema/drs/\|^lib/tool_shed_client/schema/trs\|^tools/\|^.venv/\|^.tox/\|^lib/galaxy/exceptions/\|^lib/galaxy/job_metrics/\|^lib/galaxy/objectstore/\|^lib/galaxy/tool_util/\|^lib/galaxy/util/\|^test/functional/tools/cwl_tools/' | xargs auto-walrus
|
||||
ack --type=python -f lib/galaxy/exceptions/ lib/galaxy/job_metrics/ lib/galaxy/objectstore/ lib/galaxy/tool_util/ lib/galaxy/util/ | xargs pyupgrade --py37-plus
|
||||
pyupgrade: ## Convert older code patterns to Python 3.7/3.9 idiomatic ones
|
||||
ack --type=python -f | grep -v '^$(subst $(SPACE),\|^,$(NEVER_PYUPGRADE_PATHS) $(PY37_PYUPGRADE_PATHS))' | xargs pyupgrade --py39-plus
|
||||
ack --type=python -f | grep -v '^$(subst $(SPACE),\|^,$(NEVER_PYUPGRADE_PATHS) $(PY37_PYUPGRADE_PATHS))' | xargs auto-walrus
|
||||
ack --type=python -f $(PY37_PYUPGRADE_PATHS) | xargs pyupgrade --py37-plus
|
||||
|
||||
docs-slides-ready:
|
||||
test -f plantuml.jar || wget http://jaist.dl.sourceforge.net/project/plantuml/plantuml.jar
|
||||
|
||||
+2
-2
@@ -24,12 +24,12 @@ Community support is available at `Galaxy Help <https://help.galaxyproject.org/>
|
||||
Galaxy Quickstart
|
||||
=================
|
||||
|
||||
Galaxy requires Python 3.8 or higher. To check your Python version, run:
|
||||
Galaxy requires Python 3.9 or higher. To check your Python version, run:
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ python -V
|
||||
Python 3.8.18
|
||||
Python 3.9.21
|
||||
|
||||
Start Galaxy:
|
||||
|
||||
|
||||
@@ -119,9 +119,10 @@ def convert_newlines(
|
||||
converted_regex = False
|
||||
NEWLINE_BYTE = 10
|
||||
CR_BYTE = 13
|
||||
with tempfile.NamedTemporaryFile(mode="wb", prefix=tmp_prefix, dir=tmp_dir, delete=False) as fp, open(
|
||||
fname, mode="rb"
|
||||
) as fi:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(mode="wb", prefix=tmp_prefix, dir=tmp_dir, delete=False) as fp,
|
||||
open(fname, mode="rb") as fi,
|
||||
):
|
||||
last_char = None
|
||||
block = fi.read(block_size)
|
||||
last_block = b""
|
||||
@@ -171,9 +172,10 @@ def convert_sep2tabs(
|
||||
i = 0
|
||||
converted_newlines = False
|
||||
converted_regex = False
|
||||
with tempfile.NamedTemporaryFile(mode="wb", prefix=tmp_prefix, dir=tmp_dir, delete=False) as fp, open(
|
||||
fname, mode="rb"
|
||||
) as fi:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(mode="wb", prefix=tmp_prefix, dir=tmp_dir, delete=False) as fp,
|
||||
open(fname, mode="rb") as fi,
|
||||
):
|
||||
block = fi.read(block_size)
|
||||
while block:
|
||||
if block:
|
||||
|
||||
@@ -315,7 +315,7 @@ class ConditionalDependencies:
|
||||
return self.pkce_support
|
||||
|
||||
def check_rucio_clients(self):
|
||||
return "rucio" in self.object_stores and sys.version_info >= (3, 9)
|
||||
return "rucio" in self.object_stores
|
||||
|
||||
|
||||
def optional(config_file=None):
|
||||
|
||||
@@ -1,26 +1,18 @@
|
||||
# This file was autogenerated by uv via the following command:
|
||||
# uv export --frozen --no-hashes --only-group=dev
|
||||
aiohappyeyeballs==2.4.4 ; python_full_version < '3.9'
|
||||
aiohappyeyeballs==2.4.6 ; python_full_version >= '3.9'
|
||||
aiohttp==3.10.11 ; python_full_version < '3.9'
|
||||
aiohttp==3.11.12 ; python_full_version >= '3.9'
|
||||
aiosignal==1.3.1 ; python_full_version < '3.9'
|
||||
aiosignal==1.3.2 ; python_full_version >= '3.9'
|
||||
alabaster==0.7.13 ; python_full_version < '3.9'
|
||||
alabaster==0.7.16 ; python_full_version == '3.9.*'
|
||||
aiohappyeyeballs==2.4.6
|
||||
aiohttp==3.11.12
|
||||
aiosignal==1.3.2
|
||||
alabaster==0.7.16 ; python_full_version < '3.10'
|
||||
alabaster==1.0.0 ; python_full_version >= '3.10'
|
||||
anyio==4.5.2 ; python_full_version < '3.9'
|
||||
anyio==4.8.0 ; python_full_version >= '3.9'
|
||||
ase==3.23.0 ; python_full_version < '3.9'
|
||||
ase==3.24.0 ; python_full_version >= '3.9'
|
||||
anyio==4.8.0
|
||||
ase==3.24.0
|
||||
async-timeout==5.0.1 ; python_full_version < '3.11'
|
||||
attrs==25.1.0
|
||||
axe-selenium-python==2.1.6
|
||||
babel==2.17.0
|
||||
backports-tarfile==1.2.0 ; python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
backports-zoneinfo==0.2.1 ; python_full_version < '3.9'
|
||||
black==24.8.0 ; python_full_version < '3.9'
|
||||
black==25.1.0 ; python_full_version >= '3.9'
|
||||
black==25.1.0
|
||||
boto3==1.36.23
|
||||
botocore==1.36.23
|
||||
build==1.2.2.post1
|
||||
@@ -31,25 +23,21 @@ charset-normalizer==3.4.1
|
||||
click==8.1.8
|
||||
codespell==2.4.1
|
||||
colorama==0.4.6 ; os_name == 'nt' or sys_platform == 'win32'
|
||||
contourpy==1.1.1 ; python_full_version < '3.9'
|
||||
contourpy==1.3.0 ; python_full_version == '3.9.*'
|
||||
contourpy==1.3.0 ; python_full_version < '3.10'
|
||||
contourpy==1.3.1 ; python_full_version >= '3.10'
|
||||
coverage==7.6.1 ; python_full_version < '3.9'
|
||||
coverage==7.6.12 ; python_full_version >= '3.9'
|
||||
coverage==7.6.12
|
||||
cryptography==44.0.1
|
||||
cwltest==2.5.20241122133319
|
||||
cycler==0.12.1
|
||||
darker==2.1.1
|
||||
darkgraylib==1.2.1
|
||||
decorator==5.1.1 ; python_full_version >= '3.9'
|
||||
decorator==5.2.0
|
||||
defusedxml==0.7.1
|
||||
deprecated==1.2.18
|
||||
docutils==0.20.1 ; python_full_version < '3.9'
|
||||
docutils==0.21.2 ; python_full_version >= '3.9'
|
||||
dogpile-cache==1.3.4 ; python_full_version >= '3.9'
|
||||
docutils==0.21.2
|
||||
dogpile-cache==1.3.4
|
||||
exceptiongroup==1.2.2 ; python_full_version < '3.11'
|
||||
filelock==3.16.1 ; python_full_version < '3.9'
|
||||
filelock==3.17.0 ; python_full_version >= '3.9'
|
||||
filelock==3.17.0
|
||||
fluent-logger==0.11.1
|
||||
fonttools==4.56.0
|
||||
frozenlist==1.5.0
|
||||
@@ -62,168 +50,128 @@ httpx==0.28.1
|
||||
id==1.5.0
|
||||
idna==3.10
|
||||
imagesize==1.4.1
|
||||
importlib-metadata==8.5.0 ; python_full_version < '3.9'
|
||||
importlib-metadata==8.6.1 ; (python_full_version >= '3.9' and python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version >= '3.9' and python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version >= '3.9' and python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
|
||||
importlib-resources==6.4.5 ; python_full_version < '3.9'
|
||||
importlib-resources==6.5.2 ; python_full_version == '3.9.*'
|
||||
importlib-metadata==8.6.1 ; (python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
|
||||
importlib-resources==6.5.2 ; python_full_version < '3.10'
|
||||
iniconfig==2.0.0
|
||||
isodate==0.6.1 ; python_full_version < '3.9'
|
||||
isodate==0.7.2 ; python_full_version >= '3.9' and python_full_version < '3.11'
|
||||
isort==5.13.2 ; python_full_version < '3.9'
|
||||
isort==6.0.0 ; python_full_version >= '3.9'
|
||||
isodate==0.7.2 ; python_full_version < '3.11'
|
||||
isort==6.0.0
|
||||
jaraco-classes==3.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
jaraco-context==6.0.1 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
jaraco-functools==4.1.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
jeepney==0.8.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
|
||||
jinja2==3.1.5
|
||||
jmespath==1.0.1
|
||||
jsonschema==4.23.0 ; python_full_version >= '3.9'
|
||||
jsonschema-specifications==2023.12.1 ; python_version < '0'
|
||||
jsonschema-specifications==2024.10.1 ; python_full_version >= '3.9'
|
||||
jsonschema==4.23.0
|
||||
jsonschema-specifications==2024.10.1
|
||||
junit-xml==1.9
|
||||
keyring==25.5.0 ; python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
keyring==25.6.0 ; python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
keyring==25.6.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
kiwisolver==1.4.7 ; python_full_version < '3.10'
|
||||
kiwisolver==1.4.8 ; python_full_version >= '3.10'
|
||||
lxml==5.3.1
|
||||
markdown-it-py==3.0.0
|
||||
markdown-it-reporter==0.0.2
|
||||
markupsafe==2.1.5 ; python_full_version < '3.9'
|
||||
markupsafe==3.0.2 ; python_full_version >= '3.9'
|
||||
matplotlib==3.7.5 ; python_full_version < '3.9'
|
||||
matplotlib==3.9.4 ; python_full_version == '3.9.*'
|
||||
markupsafe==3.0.2
|
||||
matplotlib==3.9.4 ; python_full_version < '3.10'
|
||||
matplotlib==3.10.0 ; python_full_version >= '3.10'
|
||||
mdit-py-plugins==0.4.2
|
||||
mdurl==0.1.2
|
||||
mirakuru==2.5.2 ; python_full_version < '3.9'
|
||||
mirakuru==2.6.0 ; python_full_version >= '3.9'
|
||||
mirakuru==2.6.0
|
||||
mistune==3.0.2
|
||||
more-itertools==10.5.0 ; python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
more-itertools==10.6.0 ; python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
more-itertools==10.6.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
|
||||
msgpack==1.1.0
|
||||
multidict==6.1.0
|
||||
mypy-extensions==1.0.0
|
||||
myst-parser==3.0.1 ; python_full_version < '3.10'
|
||||
myst-parser==4.0.1 ; python_full_version >= '3.10'
|
||||
nh3==0.2.20
|
||||
numpy==1.24.4 ; python_full_version < '3.9'
|
||||
numpy==2.0.2 ; python_full_version == '3.9.*'
|
||||
numpy==2.0.2 ; python_full_version < '3.10'
|
||||
numpy==2.2.3 ; python_full_version >= '3.10'
|
||||
onedatafilerestclient==21.2.5.2
|
||||
outcome==1.3.0.post0
|
||||
packaging==24.2
|
||||
pathspec==0.12.1
|
||||
pbr==6.1.1 ; python_full_version >= '3.9'
|
||||
pillow==10.4.0 ; python_full_version < '3.9'
|
||||
pillow==11.1.0 ; python_full_version >= '3.9'
|
||||
pbr==6.1.1
|
||||
pillow==11.1.0
|
||||
pkce==1.0.3
|
||||
pkgutil-resolve-name==1.3.10 ; python_version < '0'
|
||||
platformdirs==4.3.6
|
||||
playwright==1.48.0 ; python_full_version < '3.9'
|
||||
playwright==1.50.0 ; python_full_version >= '3.9'
|
||||
playwright==1.50.0
|
||||
pluggy==1.5.0
|
||||
port-for==0.7.3 ; python_full_version < '3.9'
|
||||
port-for==0.7.4 ; python_full_version >= '3.9'
|
||||
prettytable==3.11.0 ; python_full_version < '3.9'
|
||||
prettytable==3.14.0 ; python_full_version >= '3.9'
|
||||
propcache==0.2.0 ; python_full_version < '3.9'
|
||||
propcache==0.3.0 ; python_full_version >= '3.9'
|
||||
port-for==0.7.4
|
||||
prettytable==3.14.0
|
||||
propcache==0.3.0
|
||||
psutil==7.0.0 ; sys_platform != 'cygwin'
|
||||
psycopg==3.2.4
|
||||
psycopg==3.2.5
|
||||
pycparser==2.22
|
||||
pyee==12.0.0 ; python_full_version < '3.9'
|
||||
pyee==12.1.1 ; python_full_version >= '3.9'
|
||||
pyee==12.1.1
|
||||
pygithub==2.6.1
|
||||
pygments==2.19.1
|
||||
pyjwt==2.9.0 ; python_full_version < '3.9'
|
||||
pyjwt==2.10.1 ; python_full_version >= '3.9'
|
||||
pyjwt==2.10.1
|
||||
pynacl==1.5.0
|
||||
pyparsing==3.1.4 ; python_full_version < '3.9'
|
||||
pyparsing==3.2.1 ; python_full_version >= '3.9'
|
||||
pyparsing==3.2.1
|
||||
pyproject-hooks==1.2.0
|
||||
pysocks==1.7.1
|
||||
pytest==7.4.4
|
||||
pytest-asyncio==0.23.8
|
||||
pytest-base-url==2.1.0
|
||||
pytest-cov==5.0.0 ; python_full_version < '3.9'
|
||||
pytest-cov==6.0.0 ; python_full_version >= '3.9'
|
||||
pytest-cov==6.0.0
|
||||
pytest-html==4.1.1
|
||||
pytest-httpserver==1.1.1
|
||||
pytest-json-report==1.5.0
|
||||
pytest-metadata==3.1.1
|
||||
pytest-mock==3.14.0
|
||||
pytest-playwright==0.5.2 ; python_full_version < '3.9'
|
||||
pytest-playwright==0.7.0 ; python_full_version >= '3.9'
|
||||
pytest-postgresql==6.1.1
|
||||
pytest-playwright==0.7.0
|
||||
pytest-postgresql==7.0.0
|
||||
pytest-shard==0.1.2
|
||||
python-dateutil==2.9.0.post0
|
||||
python-irodsclient==3.0.0
|
||||
python-slugify==8.0.4
|
||||
pytz==2025.1 ; python_full_version < '3.9'
|
||||
pywin32-ctypes==0.2.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'
|
||||
pyyaml==6.0.2
|
||||
rdflib==6.3.2 ; python_full_version < '3.8.1'
|
||||
rdflib==7.0.0 ; python_full_version >= '3.8.1' and python_full_version < '3.9'
|
||||
rdflib==7.1.3 ; python_full_version >= '3.9'
|
||||
readme-renderer==43.0 ; python_full_version < '3.9'
|
||||
readme-renderer==44.0 ; python_full_version >= '3.9'
|
||||
referencing==0.35.1 ; python_version < '0'
|
||||
referencing==0.36.2 ; python_full_version >= '3.9'
|
||||
rdflib==7.1.3
|
||||
readme-renderer==44.0
|
||||
referencing==0.36.2
|
||||
requests==2.32.3
|
||||
requests-toolbelt==1.0.0
|
||||
responses==0.25.6
|
||||
rfc3986==2.0.0
|
||||
rich==13.9.4
|
||||
roman-numerals-py==3.0.0 ; python_full_version >= '3.11'
|
||||
rpds-py==0.20.1 ; python_version < '0'
|
||||
rpds-py==0.23.1 ; python_full_version >= '3.9'
|
||||
roman-numerals-py==3.1.0 ; python_full_version >= '3.11'
|
||||
rpds-py==0.23.1
|
||||
ruamel-yaml==0.18.10
|
||||
ruamel-yaml-clib==0.2.8 ; python_full_version < '3.9' and platform_python_implementation == 'CPython'
|
||||
ruamel-yaml-clib==0.2.12 ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython'
|
||||
rucio-clients==36.3.0 ; python_full_version >= '3.9'
|
||||
ruamel-yaml-clib==0.2.12 ; python_full_version < '3.13' and platform_python_implementation == 'CPython'
|
||||
rucio-clients==36.3.0
|
||||
s3transfer==0.11.2
|
||||
schema-salad==8.7.20241010092723 ; python_full_version < '3.9'
|
||||
schema-salad==8.8.20250205075315 ; python_full_version >= '3.9'
|
||||
scipy==1.10.1 ; python_full_version < '3.9'
|
||||
scipy==1.13.1 ; python_full_version == '3.9.*'
|
||||
schema-salad==8.8.20250205075315
|
||||
scipy==1.13.1 ; python_full_version < '3.10'
|
||||
scipy==1.15.2 ; python_full_version >= '3.10'
|
||||
secretstorage==3.3.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
|
||||
selenium==4.27.1 ; python_full_version < '3.9'
|
||||
selenium==4.29.0 ; python_full_version >= '3.9'
|
||||
selenium==4.29.0
|
||||
seletools==1.5.0
|
||||
setuptools==75.3.0 ; python_full_version < '3.9'
|
||||
setuptools==75.8.0 ; python_full_version >= '3.9'
|
||||
setuptools==75.8.0
|
||||
six==1.17.0
|
||||
sniffio==1.3.1
|
||||
snowballstemmer==2.2.0
|
||||
sortedcontainers==2.4.0
|
||||
sphinx==7.1.2 ; python_full_version < '3.9'
|
||||
sphinx==7.4.7 ; python_full_version == '3.9.*'
|
||||
sphinx==7.4.7 ; python_full_version < '3.10'
|
||||
sphinx==8.1.3 ; python_full_version == '3.10.*'
|
||||
sphinx==8.2.1 ; python_full_version >= '3.11'
|
||||
sphinx-rtd-theme==3.0.2
|
||||
sphinxcontrib-applehelp==1.0.4 ; python_full_version < '3.9'
|
||||
sphinxcontrib-applehelp==2.0.0 ; python_full_version >= '3.9'
|
||||
sphinxcontrib-devhelp==1.0.2 ; python_full_version < '3.9'
|
||||
sphinxcontrib-devhelp==2.0.0 ; python_full_version >= '3.9'
|
||||
sphinxcontrib-htmlhelp==2.0.1 ; python_full_version < '3.9'
|
||||
sphinxcontrib-htmlhelp==2.1.0 ; python_full_version >= '3.9'
|
||||
sphinxcontrib-applehelp==2.0.0
|
||||
sphinxcontrib-devhelp==2.0.0
|
||||
sphinxcontrib-htmlhelp==2.1.0
|
||||
sphinxcontrib-jquery==4.1
|
||||
sphinxcontrib-jsmath==1.0.1
|
||||
sphinxcontrib-qthelp==1.0.3 ; python_full_version < '3.9'
|
||||
sphinxcontrib-qthelp==2.0.0 ; python_full_version >= '3.9'
|
||||
sphinxcontrib-serializinghtml==1.1.5 ; python_full_version < '3.9'
|
||||
sphinxcontrib-serializinghtml==2.0.0 ; python_full_version >= '3.9'
|
||||
sphinxcontrib-qthelp==2.0.0
|
||||
sphinxcontrib-serializinghtml==2.0.0
|
||||
statsd==4.0.1
|
||||
stevedore==5.4.1 ; python_full_version >= '3.9'
|
||||
tabulate==0.9.0 ; python_full_version >= '3.9'
|
||||
stevedore==5.4.1
|
||||
tabulate==0.9.0
|
||||
testfixtures==8.3.0
|
||||
text-unidecode==1.3
|
||||
tinydb==4.8.2
|
||||
toml==0.10.2
|
||||
tomli==2.2.1 ; python_full_version <= '3.11'
|
||||
trio==0.27.0 ; python_full_version < '3.9'
|
||||
trio==0.29.0 ; python_full_version >= '3.9'
|
||||
trio==0.29.0
|
||||
trio-websocket==0.12.1
|
||||
tuspy==1.1.0
|
||||
twill==3.3
|
||||
@@ -232,15 +180,11 @@ typing-extensions==4.12.2
|
||||
tzdata==2025.1 ; sys_platform == 'win32'
|
||||
urllib3==1.26.20 ; python_full_version < '3.10'
|
||||
urllib3==2.3.0 ; python_full_version >= '3.10'
|
||||
watchdog==4.0.2 ; python_full_version < '3.9'
|
||||
watchdog==6.0.0 ; python_full_version >= '3.9'
|
||||
watchdog==6.0.0
|
||||
wcwidth==0.2.13
|
||||
websocket-client==1.8.0
|
||||
werkzeug==3.0.6 ; python_full_version < '3.9'
|
||||
werkzeug==3.1.3 ; python_full_version >= '3.9'
|
||||
werkzeug==3.1.3
|
||||
wrapt==1.17.2
|
||||
wsproto==1.2.0
|
||||
yarl==1.15.2 ; python_full_version < '3.9'
|
||||
yarl==1.18.3 ; python_full_version >= '3.9'
|
||||
zipp==3.20.2 ; python_full_version < '3.9'
|
||||
zipp==3.21.0 ; (python_full_version >= '3.9' and python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version >= '3.9' and python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version >= '3.9' and python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
|
||||
yarl==1.18.3
|
||||
zipp==3.21.0 ; (python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
|
||||
|
||||
@@ -5,20 +5,15 @@ adal==1.2.7
|
||||
aiobotocore==2.20.0
|
||||
aiodataloader==0.4.2
|
||||
aiofiles==24.1.0
|
||||
aiohappyeyeballs==2.4.4 ; python_full_version < '3.9'
|
||||
aiohappyeyeballs==2.4.6 ; python_full_version >= '3.9'
|
||||
aiohttp==3.10.11 ; python_full_version < '3.9'
|
||||
aiohttp==3.11.12 ; python_full_version >= '3.9'
|
||||
aiohappyeyeballs==2.4.6
|
||||
aiohttp==3.11.12
|
||||
aioitertools==0.12.0
|
||||
aiosignal==1.3.1 ; python_full_version < '3.9'
|
||||
aiosignal==1.3.2 ; python_full_version >= '3.9'
|
||||
aiosignal==1.3.2
|
||||
alembic==1.14.1
|
||||
amqp==5.3.1
|
||||
annotated-types==0.7.0
|
||||
anyio==4.5.2 ; python_full_version < '3.9'
|
||||
anyio==4.8.0 ; python_full_version >= '3.9'
|
||||
apispec==6.6.1 ; python_full_version < '3.9'
|
||||
apispec==6.8.1 ; python_full_version >= '3.9'
|
||||
anyio==4.8.0
|
||||
apispec==6.8.1
|
||||
appdirs==1.4.4
|
||||
arcp==0.2.1
|
||||
argcomplete==3.5.3
|
||||
@@ -26,7 +21,6 @@ async-timeout==5.0.1 ; python_full_version < '3.11'
|
||||
attmap==0.13.2
|
||||
attrs==25.1.0
|
||||
babel==2.17.0
|
||||
backports-zoneinfo==0.2.1 ; python_full_version < '3.9'
|
||||
bagit==1.8.1
|
||||
bagit-profile==1.3.1
|
||||
bcrypt==4.2.1
|
||||
@@ -34,8 +28,7 @@ bdbag==1.7.3
|
||||
beaker==1.13.0
|
||||
billiard==4.2.1
|
||||
bioblend==1.4.0
|
||||
bleach==6.1.0 ; python_full_version < '3.9'
|
||||
bleach==6.2.0 ; python_full_version >= '3.9'
|
||||
bleach==6.2.0
|
||||
boltons==25.0.0
|
||||
boto==2.49.0
|
||||
botocore==1.36.23
|
||||
@@ -57,34 +50,26 @@ coloredlogs==15.0.1
|
||||
conda-package-streaming==0.11.0
|
||||
cryptography==44.0.1
|
||||
ct3==3.4.0
|
||||
cwl-upgrader==1.2.11 ; python_full_version < '3.9'
|
||||
cwl-upgrader==1.2.12 ; python_full_version >= '3.9'
|
||||
cwl-utils==0.35 ; python_full_version < '3.9'
|
||||
cwl-utils==0.37 ; python_full_version >= '3.9'
|
||||
cwltool==3.1.20241007082533 ; python_full_version < '3.9'
|
||||
cwltool==3.1.20250110105449 ; python_full_version >= '3.9'
|
||||
cwl-upgrader==1.2.12
|
||||
cwl-utils==0.37
|
||||
cwltool==3.1.20250110105449
|
||||
defusedxml==0.7.1
|
||||
deprecation==2.1.0
|
||||
dictobj==0.4
|
||||
dnspython==2.6.1 ; python_full_version < '3.9'
|
||||
dnspython==2.7.0 ; python_full_version >= '3.9'
|
||||
dnspython==2.7.0
|
||||
docopt==0.6.2
|
||||
docutils==0.20.1 ; python_full_version < '3.9'
|
||||
docutils==0.21.2 ; python_full_version >= '3.9'
|
||||
docutils==0.21.2
|
||||
dparse==0.6.4
|
||||
edam-ontology==1.25.2
|
||||
email-validator==2.2.0
|
||||
exceptiongroup==1.2.2 ; python_full_version < '3.11'
|
||||
fastapi-slim==0.115.8
|
||||
filelock==3.16.1 ; python_full_version < '3.9'
|
||||
filelock==3.17.0 ; python_full_version >= '3.9'
|
||||
filelock==3.17.0
|
||||
fissix==24.4.24 ; python_full_version >= '3.13'
|
||||
frozenlist==1.5.0
|
||||
fs==2.4.16
|
||||
fsspec==2024.10.0 ; python_full_version < '3.9'
|
||||
fsspec==2025.2.0 ; python_full_version >= '3.9'
|
||||
fsspec==2025.2.0
|
||||
future==1.0.0
|
||||
galaxy2cwl==0.1.4 ; python_full_version < '3.9'
|
||||
graphene==3.4.3
|
||||
graphene-sqlalchemy==3.0.0rc2
|
||||
graphql-core==3.2.6
|
||||
@@ -95,24 +80,19 @@ gunicorn==23.0.0
|
||||
gxformat2==0.20.0
|
||||
h11==0.14.0
|
||||
h5grove==2.3.0
|
||||
h5py==3.11.0 ; python_full_version < '3.9'
|
||||
h5py==3.13.0 ; python_full_version >= '3.9'
|
||||
h5py==3.13.0
|
||||
humanfriendly==10.0
|
||||
idna==3.10
|
||||
importlib-metadata==8.5.0 ; python_full_version < '3.9'
|
||||
importlib-metadata==8.6.1 ; python_full_version >= '3.9'
|
||||
importlib-resources==6.4.5 ; python_full_version < '3.9'
|
||||
importlib-resources==6.5.2 ; python_full_version >= '3.9' and python_full_version < '3.12'
|
||||
importlib-metadata==8.6.1
|
||||
importlib-resources==6.5.2 ; python_full_version < '3.12'
|
||||
isa-rwval @ git+https://github.com/nsoranzo/isa-rwval.git@3d989181058d2765a93cb0e7ca85d6955e0eb6ef
|
||||
isal==1.7.1
|
||||
isodate==0.6.1 ; python_full_version < '3.9'
|
||||
isodate==0.7.2 ; python_full_version >= '3.9' and python_full_version < '3.11'
|
||||
isodate==0.7.2 ; python_full_version < '3.11'
|
||||
jinja2==3.1.5
|
||||
jmespath==1.0.1
|
||||
jsonref==1.1.0
|
||||
jsonschema==4.23.0
|
||||
jsonschema-specifications==2023.12.1 ; python_full_version < '3.9'
|
||||
jsonschema-specifications==2024.10.1 ; python_full_version >= '3.9'
|
||||
jsonschema-specifications==2024.10.1
|
||||
kombu==5.4.2
|
||||
lagom==2.7.5
|
||||
legacy-cgi==2.6.2 ; python_full_version >= '3.13'
|
||||
@@ -120,8 +100,7 @@ lxml==5.3.1
|
||||
mako==1.3.9
|
||||
markdown==3.7
|
||||
markdown-it-py==3.0.0
|
||||
markupsafe==2.1.5 ; python_full_version < '3.9'
|
||||
markupsafe==3.0.2 ; python_full_version >= '3.9'
|
||||
markupsafe==3.0.2
|
||||
mdurl==0.1.2
|
||||
mercurial==6.9.2
|
||||
mistune==3.0.2
|
||||
@@ -130,12 +109,10 @@ msal==1.31.1
|
||||
msgpack==1.1.0
|
||||
multidict==6.1.0
|
||||
mypy-extensions==1.0.0
|
||||
networkx==3.1 ; python_full_version < '3.9'
|
||||
networkx==3.2.1 ; python_full_version == '3.9.*'
|
||||
networkx==3.2.1 ; python_full_version < '3.10'
|
||||
networkx==3.4.2 ; python_full_version >= '3.10'
|
||||
nodeenv==1.9.1
|
||||
numpy==1.24.4 ; python_full_version < '3.9'
|
||||
numpy==2.0.2 ; python_full_version == '3.9.*'
|
||||
numpy==2.0.2 ; python_full_version < '3.10'
|
||||
numpy==2.2.3 ; python_full_version >= '3.10'
|
||||
oauthlib==3.2.2
|
||||
orjson==3.10.15
|
||||
@@ -146,13 +123,10 @@ parsley==1.3
|
||||
paste==3.10.1
|
||||
pastedeploy==3.1.0
|
||||
pebble==5.1.0
|
||||
pillow==10.4.0 ; python_full_version < '3.9'
|
||||
pillow==11.1.0 ; python_full_version >= '3.9'
|
||||
pkgutil-resolve-name==1.3.10 ; python_full_version < '3.9'
|
||||
pillow==11.1.0
|
||||
promise==2.3
|
||||
prompt-toolkit==3.0.50
|
||||
propcache==0.2.0 ; python_full_version < '3.9'
|
||||
propcache==0.3.0 ; python_full_version >= '3.9'
|
||||
propcache==0.3.0
|
||||
prov==1.5.1
|
||||
psutil==7.0.0
|
||||
pulsar-galaxy-lib==0.15.6
|
||||
@@ -165,13 +139,11 @@ pydot==2.0.0
|
||||
pyeventsystem==0.1.0
|
||||
pyfaidx==0.8.1.3
|
||||
pygments==2.19.1
|
||||
pyjwt==2.9.0 ; python_full_version < '3.9'
|
||||
pyjwt==2.10.1 ; python_full_version >= '3.9'
|
||||
pyjwt==2.10.1
|
||||
pykwalify==1.8.0
|
||||
pylibmagic==0.5.0
|
||||
pynacl==1.5.0
|
||||
pyparsing==3.1.4 ; python_full_version < '3.9'
|
||||
pyparsing==3.2.1 ; python_full_version >= '3.9'
|
||||
pyparsing==3.2.1
|
||||
pyreadline3==3.5.4 ; sys_platform == 'win32'
|
||||
pysam==0.23.0
|
||||
python-dateutil==2.9.0.post0
|
||||
@@ -182,11 +154,8 @@ python3-openid==3.2.0
|
||||
pytz==2025.1
|
||||
pyyaml==6.0.2
|
||||
pyzmq==26.2.1
|
||||
rdflib==6.3.2 ; python_full_version < '3.8.1'
|
||||
rdflib==7.0.0 ; python_full_version >= '3.8.1' and python_full_version < '3.9'
|
||||
rdflib==7.1.3 ; python_full_version >= '3.9'
|
||||
referencing==0.35.1 ; python_full_version < '3.9'
|
||||
referencing==0.36.2 ; python_full_version >= '3.9'
|
||||
rdflib==7.1.3
|
||||
referencing==0.36.2
|
||||
refgenconf==0.12.2
|
||||
regex==2024.11.6
|
||||
repoze-lru==0.7
|
||||
@@ -195,41 +164,32 @@ requests-oauthlib==2.0.0
|
||||
requests-toolbelt==1.0.0
|
||||
requests-unixsocket==0.3.0
|
||||
rich==13.9.4
|
||||
rich-argparse==1.7.0 ; python_full_version >= '3.9'
|
||||
rocrate==0.11.0 ; python_full_version < '3.9'
|
||||
rocrate==0.13.0 ; python_full_version >= '3.9'
|
||||
rich-argparse==1.7.0
|
||||
rocrate==0.13.0
|
||||
routes==2.5.1
|
||||
rpds-py==0.20.1 ; python_full_version < '3.9'
|
||||
rpds-py==0.23.1 ; python_full_version >= '3.9'
|
||||
rpds-py==0.23.1
|
||||
ruamel-yaml==0.18.10
|
||||
ruamel-yaml-clib==0.2.8 ; python_full_version < '3.9' and platform_python_implementation == 'CPython'
|
||||
ruamel-yaml-clib==0.2.12 ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython'
|
||||
s3fs==2024.10.0 ; python_full_version < '3.9'
|
||||
s3fs==2025.2.0 ; python_full_version >= '3.9'
|
||||
schema-salad==8.7.20241010092723 ; python_full_version < '3.9'
|
||||
schema-salad==8.8.20250205075315 ; python_full_version >= '3.9'
|
||||
setuptools==75.3.0 ; python_full_version < '3.9'
|
||||
setuptools==75.8.0 ; python_full_version >= '3.9'
|
||||
ruamel-yaml-clib==0.2.12 ; python_full_version < '3.13' and platform_python_implementation == 'CPython'
|
||||
s3fs==2025.2.0
|
||||
schema-salad==8.8.20250205075315
|
||||
setuptools==75.8.0
|
||||
setuptools-scm==5.0.2
|
||||
six==1.17.0
|
||||
sniffio==1.3.1
|
||||
social-auth-core==4.5.4 ; python_full_version < '3.9'
|
||||
social-auth-core==4.5.6 ; python_full_version >= '3.9'
|
||||
social-auth-core==4.5.6
|
||||
sortedcontainers==2.4.0
|
||||
spython==0.3.14
|
||||
sqlalchemy==2.0.38
|
||||
sqlitedict==2.1.0
|
||||
sqlparse==0.5.3
|
||||
starlette==0.44.0 ; python_full_version < '3.9'
|
||||
starlette==0.45.3 ; python_full_version >= '3.9'
|
||||
starlette==0.45.3
|
||||
starlette-context==0.3.6
|
||||
starlette-graphene3==0.6.0
|
||||
supervisor==4.2.5
|
||||
svgwrite==1.4.3
|
||||
tenacity==9.0.0
|
||||
text-unidecode==1.3
|
||||
tifffile==2023.7.10 ; python_full_version < '3.9'
|
||||
tifffile==2024.8.30 ; python_full_version == '3.9.*'
|
||||
tifffile==2024.8.30 ; python_full_version < '3.10'
|
||||
tifffile==2025.2.18 ; python_full_version >= '3.10'
|
||||
tinydb==4.8.2
|
||||
tomli==2.2.1 ; python_full_version < '3.11'
|
||||
@@ -239,13 +199,11 @@ tuspy==1.1.0
|
||||
tuswsgi==0.5.5
|
||||
typing-extensions==4.12.2
|
||||
tzdata==2025.1
|
||||
tzlocal==5.2 ; python_full_version < '3.9'
|
||||
tzlocal==5.3 ; python_full_version >= '3.9'
|
||||
tzlocal==5.3
|
||||
ubiquerg==0.8.0
|
||||
urllib3==1.26.20 ; python_full_version < '3.10'
|
||||
urllib3==2.3.0 ; python_full_version >= '3.10'
|
||||
uvicorn==0.33.0 ; python_full_version < '3.9'
|
||||
uvicorn==0.34.0 ; python_full_version >= '3.9'
|
||||
uvicorn==0.34.0
|
||||
uvloop==0.21.0
|
||||
vine==5.1.0
|
||||
wcwidth==0.2.13
|
||||
@@ -254,9 +212,7 @@ webob==1.8.9
|
||||
whoosh==2.7.4
|
||||
wrapt==1.17.2
|
||||
yacman==0.9.3
|
||||
yarl==1.15.2 ; python_full_version < '3.9'
|
||||
yarl==1.18.3 ; python_full_version >= '3.9'
|
||||
zipp==3.20.2 ; python_full_version < '3.9'
|
||||
zipp==3.21.0 ; python_full_version >= '3.9'
|
||||
yarl==1.18.3
|
||||
zipp==3.21.0
|
||||
zipstream-new==1.1.8
|
||||
zstandard==0.23.0
|
||||
|
||||
@@ -6,8 +6,7 @@ botocore-stubs==1.36.26
|
||||
cffi==1.17.1 ; platform_python_implementation != 'PyPy'
|
||||
cryptography==44.0.1
|
||||
lxml-stubs==0.5.1
|
||||
mypy==1.14.1 ; python_full_version < '3.9'
|
||||
mypy==1.15.0 ; python_full_version >= '3.9'
|
||||
mypy==1.15.0
|
||||
mypy-boto3-s3==1.36.21
|
||||
mypy-extensions==1.0.0
|
||||
pycparser==2.22 ; platform_python_implementation != 'PyPy'
|
||||
@@ -29,8 +28,7 @@ types-pyyaml==6.0.12.20241230
|
||||
types-requests==2.31.0.6 ; python_full_version < '3.10'
|
||||
types-requests==2.32.0.20241016 ; python_full_version >= '3.10'
|
||||
types-s3transfer==0.11.2
|
||||
types-setuptools==75.8.0.20250110 ; python_full_version < '3.9'
|
||||
types-setuptools==75.8.0.20250210 ; python_full_version >= '3.9'
|
||||
types-setuptools==75.8.0.20250210
|
||||
types-six==1.17.0.20241205
|
||||
types-urllib3==1.26.25.14 ; python_full_version < '3.10'
|
||||
typing-extensions==4.12.2
|
||||
|
||||
@@ -10,7 +10,7 @@ THIS_DIRECTORY="$(cd "$(dirname "$0")" > /dev/null && pwd)"
|
||||
|
||||
update_pinned_reqs() {
|
||||
VENV=$(mktemp -d "${TMPDIR:-/tmp}/$1_venv.XXXXXXXXXX")
|
||||
python3.8 -m venv "${VENV}"
|
||||
python3.9 -m venv "${VENV}"
|
||||
. "${VENV}/bin/activate"
|
||||
pip install --upgrade pip setuptools
|
||||
pip install -r "${THIS_DIRECTORY}/$1-requirements.txt"
|
||||
|
||||
@@ -888,11 +888,14 @@ class eLabFTWFilesSource(BaseFilesSource): # noqa
|
||||
f"?format=binary",
|
||||
)
|
||||
try:
|
||||
with session.get(
|
||||
url,
|
||||
timeout=(CONNECT_TIMEOUT, READ_TIMEOUT),
|
||||
stream=True,
|
||||
) as response, open(native_path, "wb") as file:
|
||||
with (
|
||||
session.get(
|
||||
url,
|
||||
timeout=(CONNECT_TIMEOUT, READ_TIMEOUT),
|
||||
stream=True,
|
||||
) as response,
|
||||
open(native_path, "wb") as file,
|
||||
):
|
||||
response.raise_for_status()
|
||||
for chunk in response.iter_content(512):
|
||||
file.write(chunk)
|
||||
|
||||
@@ -10103,12 +10103,12 @@ class PSAAssociation(Base, AssociationMixin, RepresentById):
|
||||
__tablename__ = "psa_association"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
server_url: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type: ignore[assignment, unused-ignore] # needed for social-auth-core Mixin class attributes. unused-ignore needed for older social-auth-core on Python 3.8
|
||||
handle: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment, unused-ignore]
|
||||
secret: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment, unused-ignore]
|
||||
issued: Mapped[Optional[int]] # type:ignore[assignment, unused-ignore]
|
||||
lifetime: Mapped[Optional[int]] # type:ignore[assignment, unused-ignore]
|
||||
assoc_type: Mapped[Optional[str]] = mapped_column(VARCHAR(64)) # type:ignore[assignment, unused-ignore]
|
||||
server_url: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type: ignore[assignment] # needed for social-auth-core Mixin class attributes
|
||||
handle: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment]
|
||||
secret: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment]
|
||||
issued: Mapped[Optional[int]] # type:ignore[assignment]
|
||||
lifetime: Mapped[Optional[int]] # type:ignore[assignment]
|
||||
assoc_type: Mapped[Optional[str]] = mapped_column(VARCHAR(64)) # type:ignore[assignment]
|
||||
|
||||
# This static property is set at: galaxy.authnz.psa_authnz.PSAAuthnz
|
||||
sa_session = None
|
||||
@@ -10165,8 +10165,8 @@ class PSACode(Base, CodeMixin, RepresentById):
|
||||
__table_args__ = (UniqueConstraint("code", "email"),)
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
email: Mapped[Optional[str]] = mapped_column(VARCHAR(200)) # type:ignore[assignment, unused-ignore]
|
||||
code: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment, unused-ignore]
|
||||
email: Mapped[Optional[str]] = mapped_column(VARCHAR(200)) # type:ignore[assignment]
|
||||
code: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment]
|
||||
|
||||
# This static property is set at: galaxy.authnz.psa_authnz.PSAAuthnz
|
||||
sa_session = None
|
||||
@@ -10192,9 +10192,9 @@ class PSANonce(Base, NonceMixin, RepresentById):
|
||||
__tablename__ = "psa_nonce"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
server_url: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment, unused-ignore]
|
||||
timestamp: Mapped[Optional[int]] # type:ignore[assignment, unused-ignore]
|
||||
salt: Mapped[Optional[str]] = mapped_column(VARCHAR(40)) # type:ignore[assignment, unused-ignore]
|
||||
server_url: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment]
|
||||
timestamp: Mapped[Optional[int]] # type:ignore[assignment]
|
||||
salt: Mapped[Optional[str]] = mapped_column(VARCHAR(40)) # type:ignore[assignment]
|
||||
|
||||
# This static property is set at: galaxy.authnz.psa_authnz.PSAAuthnz
|
||||
sa_session = None
|
||||
@@ -10228,10 +10228,10 @@ class PSAPartial(Base, PartialMixin, RepresentById):
|
||||
__tablename__ = "psa_partial"
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
token: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment, unused-ignore]
|
||||
data: Mapped[Optional[str]] = mapped_column(TEXT) # type:ignore[assignment, unused-ignore]
|
||||
next_step: Mapped[Optional[int]] # type:ignore[assignment, unused-ignore]
|
||||
backend: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment, unused-ignore]
|
||||
token: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment]
|
||||
data: Mapped[Optional[str]] = mapped_column(TEXT) # type:ignore[assignment]
|
||||
next_step: Mapped[Optional[int]] # type:ignore[assignment]
|
||||
backend: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment]
|
||||
|
||||
# This static property is set at: galaxy.authnz.psa_authnz.PSAAuthnz
|
||||
sa_session = None
|
||||
@@ -10271,8 +10271,8 @@ class UserAuthnzToken(Base, UserMixin, RepresentById):
|
||||
|
||||
id: Mapped[int] = mapped_column(primary_key=True)
|
||||
user_id: Mapped[Optional[int]] = mapped_column(ForeignKey("galaxy_user.id"), index=True)
|
||||
uid: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment, unused-ignore]
|
||||
provider: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment, unused-ignore]
|
||||
uid: Mapped[Optional[str]] = mapped_column(VARCHAR(255)) # type:ignore[assignment]
|
||||
provider: Mapped[Optional[str]] = mapped_column(VARCHAR(32)) # type:ignore[assignment]
|
||||
extra_data: Mapped[Optional[bytes]] = mapped_column(MutableJSONType)
|
||||
lifetime: Mapped[Optional[int]]
|
||||
assoc_type: Mapped[Optional[str]] = mapped_column(VARCHAR(64))
|
||||
|
||||
@@ -5466,7 +5466,10 @@ steps:
|
||||
def test_workflow_rerun_with_use_cached_job(self):
|
||||
workflow = self.workflow_populator.load_workflow(name="test_for_run")
|
||||
# We launch a workflow
|
||||
with self.dataset_populator.test_history() as history_id_one, self.dataset_populator.test_history() as history_id_two:
|
||||
with (
|
||||
self.dataset_populator.test_history() as history_id_one,
|
||||
self.dataset_populator.test_history() as history_id_two,
|
||||
):
|
||||
workflow_request, _, workflow_id = self._setup_workflow_run(workflow, history_id=history_id_one)
|
||||
invocation_id = self.workflow_populator.invoke_workflow_and_wait(
|
||||
workflow_id, request=workflow_request
|
||||
@@ -5549,7 +5552,10 @@ steps:
|
||||
|
||||
@skip_without_tool("cat1")
|
||||
def test_nested_workflow_rerun_with_use_cached_job(self):
|
||||
with self.dataset_populator.test_history() as history_id_one, self.dataset_populator.test_history() as history_id_two:
|
||||
with (
|
||||
self.dataset_populator.test_history() as history_id_one,
|
||||
self.dataset_populator.test_history() as history_id_two,
|
||||
):
|
||||
test_data = """
|
||||
outer_input:
|
||||
value: 1.bed
|
||||
|
||||
@@ -137,12 +137,15 @@ def get_change_lines_in_file_for_tag(tag, change_dict):
|
||||
|
||||
|
||||
def handle_bz2(repository: "Repository", uploaded_file_name):
|
||||
with tempfile.NamedTemporaryFile(
|
||||
mode="wb",
|
||||
prefix=f"repo_{repository.id}_upload_bunzip2_",
|
||||
dir=os.path.dirname(uploaded_file_name),
|
||||
delete=False,
|
||||
) as uncompressed, bz2.BZ2File(uploaded_file_name, "rb") as bzipped_file:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(
|
||||
mode="wb",
|
||||
prefix=f"repo_{repository.id}_upload_bunzip2_",
|
||||
dir=os.path.dirname(uploaded_file_name),
|
||||
delete=False,
|
||||
) as uncompressed,
|
||||
bz2.BZ2File(uploaded_file_name, "rb") as bzipped_file,
|
||||
):
|
||||
while 1:
|
||||
try:
|
||||
chunk = bzipped_file.read(basic_util.CHUNK_SIZE)
|
||||
@@ -242,9 +245,15 @@ def handle_directory_changes(
|
||||
|
||||
|
||||
def handle_gzip(repository, uploaded_file_name):
|
||||
with tempfile.NamedTemporaryFile(
|
||||
mode="wb", prefix=f"repo_{repository.id}_upload_gunzip_", dir=os.path.dirname(uploaded_file_name), delete=False
|
||||
) as uncompressed, gzip.GzipFile(uploaded_file_name, "rb") as gzipped_file:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(
|
||||
mode="wb",
|
||||
prefix=f"repo_{repository.id}_upload_gunzip_",
|
||||
dir=os.path.dirname(uploaded_file_name),
|
||||
delete=False,
|
||||
) as uncompressed,
|
||||
gzip.GzipFile(uploaded_file_name, "rb") as gzipped_file,
|
||||
):
|
||||
while 1:
|
||||
try:
|
||||
chunk = gzipped_file.read(basic_util.CHUNK_SIZE)
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -80,7 +79,7 @@ install_requires =
|
||||
WebOb>=1.8.9
|
||||
Whoosh
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -36,7 +35,7 @@ install_requires =
|
||||
galaxy-data
|
||||
galaxy-util
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -39,7 +38,7 @@ install_requires =
|
||||
pykwalify
|
||||
PyYAML
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -63,7 +62,7 @@ install_requires =
|
||||
tifffile
|
||||
typing-extensions
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -37,7 +36,7 @@ install_requires =
|
||||
fs
|
||||
typing-extensions
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -41,7 +40,7 @@ install_requires =
|
||||
MarkupSafe
|
||||
SQLAlchemy>=2.0,<2.1,!=2.0.36
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -10,7 +10,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -35,7 +34,7 @@ version = 25.0.dev0
|
||||
[options]
|
||||
include_package_data = True
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.extras_require]
|
||||
postgresql =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -36,7 +35,7 @@ install_requires =
|
||||
galaxy-util
|
||||
PyYAML
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -36,7 +35,7 @@ install_requires =
|
||||
galaxy-util
|
||||
pydantic[email]>=2.7.4
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -40,7 +39,7 @@ install_requires =
|
||||
requests
|
||||
selenium!=4.11.0,!=4.11.1,!=4.11.2
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -39,7 +38,7 @@ install_requires =
|
||||
requests
|
||||
tuspy
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.extras_require]
|
||||
driver =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -42,7 +41,7 @@ install_requires =
|
||||
PyYAML
|
||||
requests
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -42,7 +41,7 @@ install_requires =
|
||||
galaxy-web-apps
|
||||
pytest
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -44,7 +43,7 @@ install_requires =
|
||||
requests
|
||||
selenium!=4.11.0,!=4.11.1,!=4.11.2
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.extras_require]
|
||||
driver =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -61,7 +60,7 @@ install_requires =
|
||||
WebOb
|
||||
Whoosh
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -37,7 +36,7 @@ install_requires =
|
||||
pydantic>=2.7.4
|
||||
PyYAML
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -66,7 +65,7 @@ install_requires =
|
||||
uvloop>=0.21.0
|
||||
WebOb>=1.8.9
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -45,7 +44,7 @@ install_requires =
|
||||
WebOb
|
||||
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
@@ -9,7 +9,6 @@ classifiers =
|
||||
Natural Language :: English
|
||||
Operating System :: POSIX
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
@@ -37,7 +36,7 @@ install_requires =
|
||||
galaxy-util
|
||||
SQLAlchemy>=2.0,<2.1,!=2.0.36
|
||||
packages = find:
|
||||
python_requires = >=3.8
|
||||
python_requires = >=3.9
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
|
||||
+24
-14
@@ -10,7 +10,7 @@ maintainers = [
|
||||
]
|
||||
license = {file = "LICENSE.txt"}
|
||||
readme = "README.rst"
|
||||
requires-python = ">=3.8"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"a2wsgi",
|
||||
"aiofiles",
|
||||
@@ -48,8 +48,7 @@ dependencies = [
|
||||
"gunicorn",
|
||||
"gxformat2",
|
||||
"h5grove>=1.2.1",
|
||||
"h5py", # Python 3.8 support
|
||||
"h5py>=3.12 ; python_version>='3.9'", # Python 3.13 support
|
||||
"h5py>=3.12", # Python 3.13 support
|
||||
"importlib-resources ; python_version<'3.12'", # for importlib.{abc.Traversable,resources.{files, Package}}
|
||||
"isa-rwval @ git+https://github.com/nsoranzo/isa-rwval.git@master", # https://github.com/ISA-tools/isa-rwval/pull/17
|
||||
"isal>=1.7.0", # Python 3.13 support
|
||||
@@ -63,8 +62,7 @@ dependencies = [
|
||||
"mrcfile",
|
||||
"msal",
|
||||
"nodeenv",
|
||||
"numpy",
|
||||
"numpy>=1.26.0 ; python_version=='3.9'", # Python 3.12 support
|
||||
"numpy>=1.26.0", # Python 3.12 support
|
||||
"numpy>=2.1.0 ; python_version>='3.10'", # Python 3.13 support
|
||||
"packaging",
|
||||
"paramiko!=2.9.0,!=2.9.1", # https://github.com/paramiko/paramiko/issues/1961
|
||||
@@ -149,7 +147,7 @@ dev = [
|
||||
"pytest-postgresql!=3.0.0", # https://github.com/ClearcodeHQ/pytest-postgresql/issues/426
|
||||
"pytest-shard",
|
||||
"responses",
|
||||
"rucio-clients>=33.6.0 ; python_version>='3.9'", # https://github.com/galaxyproject/galaxy/pull/17156
|
||||
"rucio-clients>=33.6.0",
|
||||
"selenium",
|
||||
"seletools",
|
||||
"Sphinx>=4.0", # support docutils 0.17
|
||||
@@ -183,7 +181,7 @@ typecheck = [
|
||||
|
||||
[tool.black]
|
||||
line-length = 120
|
||||
target-version = ['py38']
|
||||
target-version = ['py39']
|
||||
include = '\.pyi?$'
|
||||
extend-exclude = '''
|
||||
^/(
|
||||
@@ -196,7 +194,7 @@ extend-exclude = '''
|
||||
isort = true
|
||||
|
||||
[tool.ruff]
|
||||
target-version = "py38"
|
||||
target-version = "py39"
|
||||
exclude = [
|
||||
"lib/tool_shed/test/test_data/repos"
|
||||
]
|
||||
@@ -212,7 +210,8 @@ select = ["E", "F", "B", "C4", "G", "ISC", "NPY", "UP"]
|
||||
# E402 module level import not at top of file # TODO, we would like to improve this.
|
||||
# E501 is line length (delegated to black)
|
||||
# G* are TODOs
|
||||
ignore = ["B008", "B9", "E402", "E501", "G001", "G002", "G004"]
|
||||
# UP006 and UP035 are PEP 585 type annotations
|
||||
ignore = ["B008", "B9", "E402", "E501", "G001", "G002", "G004", "UP006", "UP035"]
|
||||
|
||||
[tool.ruff.lint.flake8-comprehensions]
|
||||
allow-dict-calls-with-keyword-arguments = true
|
||||
@@ -231,11 +230,22 @@ keep-runtime-typing = true
|
||||
# Don't check pyupgrade rules on tool scripts, which may use different Python versions
|
||||
"test/functional/tools/*" = ["UP"]
|
||||
"tools/*" = ["UP"]
|
||||
# Don't check some pyupgrade rules on generated files
|
||||
"lib/galaxy/schema/bco/*" = ["UP006", "UP007"]
|
||||
"lib/galaxy/schema/drs/*" = ["UP006", "UP007"]
|
||||
"lib/tool_shed_client/schema/trs.py" = ["UP006", "UP007"]
|
||||
"lib/tool_shed_client/schema/trs_service_info.py" = ["UP006", "UP007"]
|
||||
# Don't check pyupgrade rules on generated files
|
||||
"lib/galaxy/schema/bco/*" = ["UP"]
|
||||
"lib/galaxy/schema/drs/*" = ["UP"]
|
||||
"lib/tool_shed_client/schema/trs.py" = ["UP"]
|
||||
"lib/tool_shed_client/schema/trs_service_info.py" = ["UP"]
|
||||
# Don't check some pyupgrade rules on packages for Pulsar, which need to stay compatible with Python 3.7
|
||||
"lib/galaxy/exceptions/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"lib/galaxy/job_metrics/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"lib/galaxy/objectstore/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"lib/galaxy/tool_util/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"lib/galaxy/util/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"scripts/check_python.py" = ["UP006", "UP007", "UP010", "UP032", "UP033", "UP035", "UP036"]
|
||||
"test/unit/job_metrics/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"test/unit/objectstore/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"test/unit/tool_util/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
"test/unit/util/*" = ["UP006", "UP007", "UP033", "UP035", "UP036"]
|
||||
|
||||
[tool.uv]
|
||||
constraint-dependencies = [
|
||||
|
||||
+10
-7
@@ -3,25 +3,28 @@ If the current installed Python version is not supported, prints an error
|
||||
message to stderr and returns 1
|
||||
"""
|
||||
|
||||
from __future__ import print_function # noqa: UP010
|
||||
from __future__ import print_function
|
||||
|
||||
import sys
|
||||
|
||||
MIN_VERSION_TUPLE = (3, 9)
|
||||
|
||||
|
||||
def check_python():
|
||||
if sys.version_info[:2] >= (3, 8): # noqa: UP036
|
||||
if sys.version_info[:2] >= MIN_VERSION_TUPLE:
|
||||
# supported
|
||||
return
|
||||
else:
|
||||
version_string = ".".join(str(_) for _ in sys.version_info[:3])
|
||||
msg = (
|
||||
"""ERROR: Your Python version is: %s
|
||||
Galaxy is currently supported on Python >=3.8 .
|
||||
min_version_string = ".".join(str(_) for _ in MIN_VERSION_TUPLE)
|
||||
msg = """ERROR: Your Python version is: {}
|
||||
Galaxy is currently supported on Python >={} .
|
||||
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
|
||||
on how to force Galaxy to use a different version.""" # noqa: UP031
|
||||
% version_string
|
||||
on how to force Galaxy to use a different version.""".format(
|
||||
version_string,
|
||||
min_version_string,
|
||||
)
|
||||
print(msg, file=sys.stderr)
|
||||
raise Exception(msg)
|
||||
|
||||
@@ -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.8}"
|
||||
: "${GALAXY_CONDA_PYTHON_VERSION:=3.9}"
|
||||
|
||||
for arg in "$@"; do
|
||||
if [ "$arg" = "--skip-venv" ]; then
|
||||
@@ -40,7 +40,7 @@ RMFILES="
|
||||
lib/pkg_resources.pyc
|
||||
"
|
||||
|
||||
MIN_PYTHON_VERSION=3.8
|
||||
MIN_PYTHON_VERSION=3.9
|
||||
MIN_PIP_VERSION=20.3
|
||||
|
||||
# return true if $1 is in $2 else false
|
||||
|
||||
@@ -33,5 +33,3 @@ class TestRucioObjectStoreIntegration(BaseRucioObjectStoreIntegrationTestCase):
|
||||
|
||||
instance = integration_util.integration_module_instance(TestRucioObjectStoreIntegration)
|
||||
test_tools = integration_util.integration_tool_runner(TEST_TOOL_IDS)
|
||||
|
||||
integration_util.skip_for_older_python((3, 9))(test_tools)
|
||||
|
||||
@@ -83,8 +83,9 @@ class TestGenomes(integration_util.IntegrationTestCase):
|
||||
sequence = "test-value"
|
||||
|
||||
key = get_key()
|
||||
with patch.object(self._app.genomes, "has_reference_data", return_value=True), patch.object(
|
||||
self._app.genomes, "_get_reference_data", return_value=RefDataMock()
|
||||
with (
|
||||
patch.object(self._app.genomes, "has_reference_data", return_value=True),
|
||||
patch.object(self._app.genomes, "_get_reference_data", return_value=RefDataMock()),
|
||||
):
|
||||
response = self._get(f"genomes/{key}/sequences")
|
||||
self._assert_status_code_is(response, 200)
|
||||
|
||||
@@ -26,9 +26,10 @@ def test_vcf_sniff():
|
||||
|
||||
def test_vcf_bgzip_set_meta():
|
||||
vcf_bgzip_datatype = VcfGz()
|
||||
with get_input_files("1.vcf_bgzip") as input_files, get_dataset(
|
||||
input_files[0], index_attr="tabix_index"
|
||||
) as dataset:
|
||||
with (
|
||||
get_input_files("1.vcf_bgzip") as input_files,
|
||||
get_dataset(input_files[0], index_attr="tabix_index") as dataset,
|
||||
):
|
||||
vcf_bgzip_datatype.set_meta(dataset)
|
||||
f = pysam.VariantFile(dataset.get_file_name(), index_filename=dataset.metadata.tabix_index.get_file_name())
|
||||
assert isinstance(f.index, pysam.libcbcf.TabixIndex) is True
|
||||
|
||||
@@ -60,9 +60,10 @@ VAULT_CONF_HASHICORP = os.path.join(os.path.dirname(__file__), "fixtures/vault_c
|
||||
)
|
||||
class TestHashicorpVault(AbstractTestCases.VaultTestBase):
|
||||
def setUp(self) -> None:
|
||||
with tempfile.NamedTemporaryFile(mode="w", prefix="vault_hashicorp", delete=False) as tempconf, open(
|
||||
VAULT_CONF_HASHICORP
|
||||
) as f:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(mode="w", prefix="vault_hashicorp", delete=False) as tempconf,
|
||||
open(VAULT_CONF_HASHICORP) as f,
|
||||
):
|
||||
content = string.Template(f.read()).safe_substitute(
|
||||
vault_address=os.environ.get("VAULT_ADDRESS"), vault_token=os.environ.get("VAULT_TOKEN")
|
||||
)
|
||||
@@ -120,9 +121,10 @@ VAULT_CONF_CUSTOS = os.path.join(os.path.dirname(__file__), "fixtures/vault_conf
|
||||
)
|
||||
class TestCustosVault(AbstractTestCases.VaultTestBase):
|
||||
def setUp(self) -> None:
|
||||
with tempfile.NamedTemporaryFile(mode="w", prefix="vault_custos", delete=False) as tempconf, open(
|
||||
VAULT_CONF_CUSTOS
|
||||
) as f:
|
||||
with (
|
||||
tempfile.NamedTemporaryFile(mode="w", prefix="vault_custos", delete=False) as tempconf,
|
||||
open(VAULT_CONF_CUSTOS) as f,
|
||||
):
|
||||
content = string.Template(f.read()).safe_substitute(
|
||||
custos_client_id=os.environ.get("CUSTOS_CLIENT_ID"),
|
||||
custos_client_secret=os.environ.get("CUSTOS_CLIENT_SECRET"),
|
||||
|
||||
Reference in New Issue
Block a user