Merge pull request #21583 from nsoranzo/drop_py3.9

Drop support for Python 3.9
This commit is contained in:
Nicola Soranzo
2026-01-20 09:40:39 +00:00
committed by GitHub
163 changed files with 455 additions and 606 deletions
+2 -2
View File
@@ -15,7 +15,7 @@ variables:
jobs:
get_code:
docker:
- image: cimg/python:3.9
- image: cimg/python:3.10
<<: *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.9
- image: cimg/python:3.10
<<: *set_workdir
steps:
- *restore_repo_cache
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
chunk: [0, 1]
services:
postgres:
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
fail-fast: false
matrix:
tox_env: [py314]
galaxy_python_version: ['3.9']
galaxy_python_version: ['3.10']
steps:
- name: Checkout Galaxy
uses: actions/checkout@v6
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- if: github.event_name == 'schedule'
run: |
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
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
@@ -26,11 +26,11 @@ jobs:
matrix:
db: ['postgresql', 'sqlite']
postgresql-version: ['17']
python-version: ['3.9']
python-version: ['3.10']
include:
- db: postgresql
postgresql-version: '9.6'
python-version: '3.9'
python-version: '3.10'
services:
postgres:
image: postgres:${{ matrix.postgresql-version }}
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v6
with:
python-version: '3.9'
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Update dependencies
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- name: Get target branch name (push)
if: github.event_name == 'push'
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
defaults:
run:
shell: bash -l {0}
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
use-legacy-api: ['if_needed', 'always']
services:
postgres:
+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
services:
postgres:
image: postgres:17
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
chunk: ['0', '1', '2', '3']
steps:
- if: github.event_name == 'schedule'
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
services:
postgres:
image: postgres:17
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
env:
LINT_PATH: 'lib/galaxy/dependencies/pinned-lint-requirements.txt'
TYPE_PATH: 'lib/galaxy/dependencies/pinned-typecheck-requirements.txt'
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
services:
postgres:
image: postgres:17
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
defaults:
run:
shell: bash -l {0}
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
services:
postgres:
image: postgres:17
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
chunk: [0, 1, 2]
services:
postgres:
+1 -1
View File
@@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
chunk: [0, 1, 2]
services:
postgres:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
steps:
- uses: actions/checkout@v6
with:
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
shed-api: ['v1', 'v2']
test-install-client: ['galaxy_api', 'standalone']
services:
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9']
python-version: ['3.10']
services:
postgres:
image: postgres:17
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.14']
python-version: ['3.10', '3.14']
steps:
- uses: actions/checkout@v6
with:
+2 -2
View File
@@ -62,8 +62,8 @@ 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 Python 3.8/3.9 idiomatic ones
ack --type=python -f | grep -v '^$(subst $(SPACE),\|^,$(NEVER_PYUPGRADE_PATHS) $(PY38_PYUPGRADE_PATHS))' | xargs pyupgrade --py39-plus
pyupgrade: ## Convert older code patterns to Python 3.8/3.10 idiomatic ones
ack --type=python -f | grep -v '^$(subst $(SPACE),\|^,$(NEVER_PYUPGRADE_PATHS) $(PY38_PYUPGRADE_PATHS))' | xargs pyupgrade --py310-plus
ack --type=python -f | grep -v '^$(subst $(SPACE),\|^,$(NEVER_PYUPGRADE_PATHS) $(PY38_PYUPGRADE_PATHS))' | xargs auto-walrus
ack --type=python -f $(PY38_PYUPGRADE_PATHS) | xargs pyupgrade --py38-plus
+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.9 or higher. To check your Python version, run:
Galaxy requires Python 3.10 or higher. To check your Python version, run:
.. code:: console
$ python -V
Python 3.9.21
Python 3.10.12
Start Galaxy:
+1 -1
View File
@@ -1,6 +1,6 @@
# Supported Python versions
Galaxy's core functionality is currently supported on Python **>=3.9** .
Galaxy's core functionality is currently supported on Python **>=3.10** .
If Galaxy complains about the version of Python you are using:
+1 -1
View File
@@ -8,10 +8,10 @@ from abc import (
ABC,
abstractmethod,
)
from collections.abc import Callable
from dataclasses import dataclass
from typing import (
Any,
Callable,
Optional,
TYPE_CHECKING,
Union,
+1 -1
View File
@@ -6,9 +6,9 @@ import signal
import sys
import threading
import time
from collections.abc import Callable
from typing import (
Any,
Callable,
Optional,
)
+1 -9
View File
@@ -1,6 +1,5 @@
import json
import logging
import sys
import time
from typing import TYPE_CHECKING
from urllib.parse import quote
@@ -47,14 +46,7 @@ from ..config import GalaxyAppConfiguration
if TYPE_CHECKING:
from social_core.backends.oauth import BaseOAuth2
if sys.version_info >= (3, 10):
from social_core.strategy import HttpResponseProtocol
else:
from typing import Protocol
class HttpResponseProtocol(Protocol):
url: str
from social_core.strategy import HttpResponseProtocol
log = logging.getLogger(__name__)
+1 -1
View File
@@ -1,5 +1,6 @@
import os
import uuid
from collections.abc import Callable
from functools import (
lru_cache,
wraps,
@@ -8,7 +9,6 @@ from multiprocessing import get_context
from threading import local
from typing import (
Any,
Callable,
)
import pebble
+1 -1
View File
@@ -1,12 +1,12 @@
import datetime
import json
import shutil
from collections.abc import Callable
from concurrent.futures import TimeoutError
from functools import lru_cache
from pathlib import Path
from typing import (
Any,
Callable,
Optional,
)
+1 -1
View File
@@ -16,10 +16,10 @@ import string
import sys
import tempfile
import threading
from collections.abc import Callable
from datetime import timedelta
from typing import (
Any,
Callable,
cast,
Optional,
SupportsInt,
+1 -1
View File
@@ -6,11 +6,11 @@ from argparse import (
ArgumentParser,
Namespace,
)
from collections.abc import Callable
from io import StringIO
from textwrap import TextWrapper
from typing import (
Any,
Callable,
NamedTuple,
Optional,
)
+1 -1
View File
@@ -32,9 +32,9 @@ Covers the ``blastxml`` format and the BLAST databases.
"""
import logging
import os
from collections.abc import Callable
from time import sleep
from typing import (
Callable,
Optional,
)
+2 -2
View File
@@ -6,21 +6,21 @@ import shutil
import string
import tempfile
from collections.abc import (
Callable,
Generator,
Iterable,
)
from inspect import isclass
from typing import (
Any,
Callable,
IO,
Literal,
Optional,
TYPE_CHECKING,
Union,
)
from markupsafe import escape
from typing_extensions import Literal
from galaxy import util
from galaxy.datatypes.metadata import (
@@ -1,8 +1,8 @@
# Contains parameters that are used in Display Applications
import mimetypes
from collections.abc import Callable
from dataclasses import dataclass
from typing import (
Callable,
Optional,
TYPE_CHECKING,
Union,
+1 -1
View File
@@ -10,6 +10,7 @@ import struct
from collections.abc import Iterator
from typing import (
Any,
Literal,
Optional,
Union,
)
@@ -18,7 +19,6 @@ import mrcfile
import numpy as np
import png
import tifffile
from typing_extensions import Literal
try:
import PIL
+1 -1
View File
@@ -1,8 +1,8 @@
import logging
import os
import re
from collections.abc import Callable
from typing import (
Callable,
Optional,
)
+1 -1
View File
@@ -2,8 +2,8 @@ import abc
import logging
import os
import re
from collections.abc import Callable
from typing import (
Callable,
Optional,
)
+4 -2
View File
@@ -9,11 +9,13 @@ import os
import re
import string
import subprocess
from collections.abc import Iterable
from collections.abc import (
Callable,
Iterable,
)
from itertools import islice
from typing import (
Any,
Callable,
Optional,
)
+4 -2
View File
@@ -12,10 +12,12 @@ import shutil
import struct
import tempfile
import zipfile
from collections.abc import Iterable
from collections.abc import (
Callable,
Iterable,
)
from functools import partial
from typing import (
Callable,
IO,
NamedTuple,
Optional,
+1 -1
View File
@@ -4,8 +4,8 @@ spaln Composite Dataset
import logging
import os.path
from collections.abc import Callable
from typing import (
Callable,
Optional,
)
+79 -106
View File
@@ -3,44 +3,35 @@
aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aiosignal==1.4.0
alabaster==0.7.16 ; python_full_version < '3.10'
alabaster==1.0.0 ; python_full_version >= '3.10'
alabaster==1.0.0
anyio==4.12.1
ase==3.26.0 ; python_full_version < '3.10'
ase==3.27.0 ; python_full_version >= '3.10'
ase==3.27.0
async-generator==1.10
async-timeout==5.0.1 ; python_full_version < '3.11'
attrs==25.4.0
axe-selenium-python==2.1.6
babel==2.17.0
backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
backports-tarfile==1.2.0 ; python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'
black==25.11.0 ; python_full_version < '3.10'
black==25.12.0 ; python_full_version >= '3.10'
boto3==1.41.5 ; python_full_version < '3.10'
boto3==1.42.19 ; python_full_version >= '3.10'
botocore==1.41.5 ; python_full_version < '3.10'
botocore==1.42.19 ; python_full_version >= '3.10'
black==25.12.0
boto3==1.42.19
botocore==1.42.19
build==1.4.0
cachecontrol==0.14.3 ; python_full_version < '3.10'
cachecontrol==0.14.4 ; python_full_version >= '3.10'
cachecontrol==0.14.4
cachetools==6.2.4
cattrs==25.3.0
certifi==2026.1.4
cffi==2.0.0 ; (implementation_name != 'pypy' and os_name == 'nt') or platform_python_implementation != 'PyPy'
charset-normalizer==3.4.4
click==8.1.8 ; python_full_version < '3.10'
click==8.3.1 ; python_full_version >= '3.10'
click==8.3.1
codespell==2.4.1
colorama==0.4.6 ; os_name == 'nt' or sys_platform == 'win32'
colorlog==6.10.1
contourpy==1.3.0 ; python_full_version < '3.10'
contourpy==1.3.2 ; python_full_version == '3.10.*'
contourpy==1.3.2 ; python_full_version < '3.11'
contourpy==1.3.3 ; python_full_version >= '3.11'
coverage==7.10.7 ; python_full_version < '3.10'
coverage==7.13.1 ; python_full_version >= '3.10'
coverage==7.13.1
cryptography==46.0.3
cwltest==2.6.20250818005349 ; python_full_version < '3.10'
cwltest==2.6.20251216093331 ; python_full_version >= '3.10'
cwltest==2.6.20251216093331
cycler==0.12.1
darker==3.0.0
darkgraylib==2.4.1
@@ -48,35 +39,41 @@ decorator==5.2.1
defusedxml==0.7.1
docutils==0.21.2 ; python_full_version < '3.11'
docutils==0.22.4 ; python_full_version >= '3.11'
dogpile-cache==1.4.1 ; python_full_version < '3.10'
dogpile-cache==1.5.0 ; python_full_version >= '3.10'
enum-tools==0.12.0 ; python_full_version >= '3.10'
dogpile-cache==1.5.0
enum-tools==0.12.0
exceptiongroup==1.3.1 ; python_full_version < '3.11'
filelock==3.19.1 ; python_full_version < '3.10'
filelock==3.20.3 ; python_full_version >= '3.10'
filelock==3.20.3
fluent-logger==0.11.1
fonttools==4.60.2 ; python_full_version < '3.10'
fonttools==4.61.1 ; python_full_version >= '3.10'
fonttools==4.61.1
frozenlist==1.8.0
fsspec==2026.1.0
galaxy-release-util==0.3.1
greenlet==3.2.4 ; python_full_version < '3.10'
greenlet==3.3.0 ; python_full_version >= '3.10'
gcsfs==2026.1.0
google-api-core==2.29.0
google-auth==2.47.0
google-auth-oauthlib==1.2.4
google-cloud-core==2.5.0
google-cloud-storage==3.8.0
google-cloud-storage-control==1.9.0
google-crc32c==1.8.0
google-resumable-media==2.8.0
googleapis-common-protos==1.72.0
greenlet==3.3.0
grpc-google-iam-v1==0.14.3
grpcio==1.76.0
grpcio-status==1.76.0
h11==0.16.0
html5lib==1.1 ; python_full_version < '3.10'
html5rdf==1.2.1 ; python_full_version >= '3.10'
html5rdf==1.2.1
httpcore==1.0.9
httpx==0.28.1
id==1.5.0
idna==3.11
imagesize==1.4.1
importlib-metadata==8.7.1 ; python_full_version < '3.12'
importlib-resources==6.5.2 ; python_full_version < '3.10'
iniconfig==2.1.0 ; python_full_version < '3.10'
iniconfig==2.3.0 ; python_full_version >= '3.10'
importlib-metadata==8.7.1
iniconfig==2.3.0
inquirerpy==0.3.4
isodate==0.7.2 ; python_full_version < '3.11'
isort==6.1.0 ; python_full_version < '3.10'
isort==7.0.0 ; python_full_version >= '3.10'
isort==7.0.0
jaraco-classes==3.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
jaraco-context==6.1.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
jaraco-functools==4.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
@@ -85,63 +82,54 @@ jinja2==3.1.6
jmespath==1.0.1
jsonpatch==1.33
jsonpointer==3.0.0
jsonschema==4.25.1 ; python_full_version < '3.10'
jsonschema==4.26.0 ; python_full_version >= '3.10'
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
junit-xml==1.9
keyring==25.7.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
kiwisolver==1.4.7 ; python_full_version < '3.10'
kiwisolver==1.4.9 ; python_full_version >= '3.10'
kiwisolver==1.4.9
librt==0.7.8 ; platform_python_implementation != 'PyPy'
lxml==6.0.2
markdown-it-py==3.0.0 ; python_full_version < '3.11'
markdown-it-py==4.0.0 ; python_full_version >= '3.11'
markdown-it-reporter==0.0.2
markupsafe==3.0.3
matplotlib==3.9.4 ; python_full_version < '3.10'
matplotlib==3.10.8 ; python_full_version >= '3.10'
mdit-py-plugins==0.4.2 ; python_full_version < '3.10'
mdit-py-plugins==0.5.0 ; python_full_version >= '3.10'
matplotlib==3.10.8
mdit-py-plugins==0.5.0
mdurl==0.1.2
mirakuru==2.6.1 ; python_full_version < '3.10'
mirakuru==3.0.1 ; python_full_version >= '3.10'
mirakuru==3.0.1
mistune==3.1.4
more-itertools==10.8.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
msgpack==1.1.2
multidict==6.7.0
mypy==1.19.1
mypy-extensions==1.1.0
myst-parser==3.0.1 ; python_full_version < '3.10'
myst-parser==4.0.1 ; python_full_version == '3.10.*'
myst-parser==4.0.1 ; python_full_version < '3.11'
myst-parser==5.0.0 ; python_full_version >= '3.11'
nh3==0.3.2
numpy==2.0.2 ; python_full_version < '3.10'
numpy==2.2.6 ; python_full_version == '3.10.*'
numpy==2.2.6 ; python_full_version < '3.11'
numpy==2.4.1 ; python_full_version >= '3.11'
oauthlib==3.3.1
onedatafilerestclient==21.2.5.2
outcome==1.3.0.post0
owlrl==6.0.2 ; python_full_version < '3.10'
owlrl==7.1.4 ; python_full_version >= '3.10'
packaging==24.2 ; python_full_version < '3.10'
packaging==25.0 ; python_full_version >= '3.10'
owlrl==7.1.4
packaging==25.0
pathspec==1.0.3
pfzy==0.3.4
pillow==11.3.0 ; python_full_version < '3.10'
pillow==12.1.0 ; python_full_version >= '3.10'
pillow==12.1.0
pkce==1.0.3
platformdirs==4.4.0 ; python_full_version < '3.10'
platformdirs==4.5.1 ; python_full_version >= '3.10'
platformdirs==4.5.1
playwright==1.57.0
pluggy==1.6.0
port-for==0.7.4 ; python_full_version < '3.10'
port-for==1.0.0 ; python_full_version >= '3.10'
prettytable==3.16.0 ; python_full_version < '3.10'
prettytable==3.17.0 ; python_full_version >= '3.10'
port-for==1.0.0
prettytable==3.17.0
prompt-toolkit==3.0.52
propcache==0.4.1
proto-plus==1.27.0
protobuf==6.33.4
psutil==7.2.1 ; sys_platform != 'cygwin'
psycopg==3.2.13 ; python_full_version < '3.10'
psycopg==3.3.2 ; python_full_version >= '3.10'
psycopg==3.3.2
pyasn1==0.6.2
pyasn1-modules==0.4.2
pycparser==2.23 ; (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt') or (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy')
pyee==13.0.0
pygithub==2.8.1
@@ -150,67 +138,56 @@ pyjwt==2.10.1
pynacl==1.6.2
pyparsing==3.3.1
pyproject-hooks==1.2.0
pyshacl==0.26.0 ; python_full_version < '3.10'
pyshacl==0.30.1 ; python_full_version >= '3.10'
pyshacl==0.30.1
pysocks==1.7.1
pytest==8.4.2 ; python_full_version < '3.10'
pytest==9.0.2 ; python_full_version >= '3.10'
pytest-asyncio==1.2.0 ; python_full_version < '3.10'
pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
pytest==9.0.2
pytest-asyncio==1.3.0
pytest-base-url==2.1.0
pytest-cov==7.0.0
pytest-html==4.1.1
pytest-html==4.2.0
pytest-httpserver==1.1.3
pytest-json-report==1.5.0
pytest-metadata==3.1.1
pytest-mock==3.15.1
pytest-playwright==0.7.1 ; python_full_version < '3.10'
pytest-playwright==0.7.2 ; python_full_version >= '3.10'
pytest-playwright==0.7.2
pytest-postgresql==7.0.2
pytest-shard==0.1.2
python-dateutil==2.9.0.post0
python-irodsclient==3.2.0
python-slugify==8.0.4
pytokens==0.3.0
pytokens==0.4.0
pywin32-ctypes==0.2.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'
pyyaml==6.0.3
rdflib==7.4.0 ; python_full_version < '3.10'
rdflib==7.5.0 ; python_full_version >= '3.10'
rdflib==7.5.0
readme-renderer==44.0
referencing==0.36.2
requests==2.32.5
requests-cache==1.2.1
requests-oauthlib==2.0.0
requests-toolbelt==1.0.0
responses==0.25.8
rfc3986==2.0.0
rich==13.9.4
rich-click==1.9.5
roc-validator==0.4.2 ; python_full_version < '3.9.20'
roc-validator==0.4.6 ; python_full_version >= '3.9.20' and python_full_version < '3.10'
roc-validator==0.8.0 ; python_full_version >= '3.10'
roc-validator==0.8.0
roman-numerals==4.1.0 ; python_full_version >= '3.11'
rpds-py==0.27.1 ; python_full_version < '3.10'
rpds-py==0.30.0 ; python_full_version >= '3.10'
rpds-py==0.30.0
rsa==4.9.1
ruamel-yaml==0.18.17
ruamel-yaml-clib==0.2.15 ; python_full_version < '3.15' and platform_python_implementation == 'CPython'
rucio-clients==39.0.0
s3transfer==0.15.0 ; python_full_version < '3.10'
s3transfer==0.16.0 ; python_full_version >= '3.10'
s3transfer==0.16.0
schema-salad==8.9.20251102115403
scipy==1.13.1 ; python_full_version < '3.10'
scipy==1.15.3 ; python_full_version == '3.10.*'
scipy==1.15.3 ; python_full_version < '3.11'
scipy==1.17.0 ; python_full_version >= '3.11'
secretstorage==3.3.3 ; python_full_version < '3.10' and platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
secretstorage==3.5.0 ; python_full_version >= '3.10' and platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
selenium==4.32.0 ; python_full_version < '3.10'
selenium==4.39.0 ; python_full_version >= '3.10'
secretstorage==3.5.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
selenium==4.40.0
seletools==1.5.0
six==1.17.0
sniffio==1.3.1
snowballstemmer==3.0.1
sortedcontainers==2.4.0
sphinx==7.4.7 ; python_full_version < '3.10'
sphinx==8.1.3 ; python_full_version == '3.10.*'
sphinx==8.1.3 ; python_full_version < '3.11'
sphinx==9.0.4 ; python_full_version == '3.11.*'
sphinx==9.1.0 ; python_full_version >= '3.12'
sphinx-rtd-theme==3.1.0
@@ -222,8 +199,7 @@ sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
statsd==4.0.1
stevedore==5.5.0 ; python_full_version < '3.10'
stevedore==5.6.0 ; python_full_version >= '3.10'
stevedore==5.6.0
tabulate==0.9.0
testfixtures==8.3.0 ; python_full_version < '3.11'
testfixtures==10.0.0 ; python_full_version >= '3.11'
@@ -232,28 +208,25 @@ tinydb==4.8.2
toml==0.10.2
tomli==2.4.0 ; python_full_version <= '3.11'
total-perspective-vortex==3.1.3
trio==0.31.0 ; python_full_version < '3.10'
trio==0.32.0 ; python_full_version >= '3.10'
trio==0.32.0
trio-typing==0.10.0
trio-websocket==0.12.2
tuspy==1.1.0
twill==3.3.1
twine==6.2.0
types-cachetools==6.2.0.20251022
types-requests==2.31.0.6 ; python_full_version < '3.10'
types-requests==2.32.4.20260107 ; python_full_version >= '3.10'
types-urllib3==1.26.25.14 ; python_full_version < '3.10'
types-certifi==2021.10.8.3
types-requests==2.32.4.20260107
types-urllib3==1.26.25.14
typing-extensions==4.15.0
typos==1.42.0 ; python_full_version >= '3.10'
typos==1.42.1
tzdata==2025.3 ; sys_platform == 'win32'
url-normalize==2.2.1
urllib3==1.26.20 ; python_full_version < '3.10'
urllib3==2.6.3 ; python_full_version >= '3.10'
urllib3==2.6.3
watchdog==6.0.0
wcwidth==0.2.14
webencodings==0.5.1 ; python_full_version < '3.10'
websocket-client==1.9.0
werkzeug==3.1.5
wsproto==1.2.0 ; python_full_version < '3.10'
wsproto==1.3.2 ; python_full_version >= '3.10'
wsproto==1.3.2
yarl==1.22.0
zipp==3.23.0 ; python_full_version < '3.12'
zipp==3.23.0
+91 -136
View File
@@ -3,84 +3,73 @@
a2wsgi==1.10.10
adal==1.2.7
ag-ui-protocol==0.1.10
aiobotocore==2.26.0 ; python_full_version < '3.10'
aiobotocore==3.1.0 ; python_full_version >= '3.10'
aiobotocore==3.1.0
aiofiles==25.1.0
aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aioitertools==0.13.0
aiosignal==1.4.0
alembic==1.16.5 ; python_full_version < '3.10'
alembic==1.18.1 ; python_full_version >= '3.10'
alembic==1.18.1
amqp==5.3.1
annotated-doc==0.0.4
annotated-types==0.7.0
anthropic==0.76.0
anyio==4.12.1
apispec==6.8.4 ; python_full_version < '3.10'
apispec==6.9.0 ; python_full_version >= '3.10'
apispec==6.9.0
appdirs==1.4.4
arcp==0.2.1
argcomplete==3.6.3
async-timeout==5.0.1 ; python_full_version < '3.11.3'
attmap==0.13.2
attrs==25.4.0
authlib==1.6.6 ; python_full_version >= '3.10'
authlib==1.6.6
babel==2.17.0
backports-tarfile==1.2.0 ; python_full_version >= '3.10' and python_full_version < '3.12'
backports-tarfile==1.2.0 ; python_full_version < '3.12'
bagit==1.9.0
bagit-profile==1.3.1
bcrypt==5.0.0
bdbag==1.8.0
beaker==1.13.0
beartype==0.22.9 ; python_full_version >= '3.10'
beartype==0.22.9
billiard==4.2.4
bioblend==1.7.0
bleach==6.2.0 ; python_full_version < '3.10'
bleach==6.3.0 ; python_full_version >= '3.10'
bleach==6.3.0
boltons==25.0.0
boto==2.49.0
boto3==1.41.5 ; python_full_version < '3.10'
boto3==1.42.19 ; python_full_version >= '3.10'
botocore==1.41.5 ; python_full_version < '3.10'
botocore==1.42.19 ; python_full_version >= '3.10'
boto3==1.42.19
botocore==1.42.19
bx-python==0.14.0
cachecontrol==0.14.3 ; python_full_version < '3.10'
cachecontrol==0.14.4 ; python_full_version >= '3.10'
cachetools==6.2.4 ; python_full_version >= '3.10'
cachecontrol==0.14.4
cachetools==6.2.4
celery==5.6.2
certifi==2026.1.4
cffi==2.0.0 ; implementation_name == 'pypy' or platform_python_implementation != 'PyPy'
charset-normalizer==3.4.4
circus==0.19.0
click==8.1.8 ; python_full_version < '3.10'
click==8.3.1 ; python_full_version >= '3.10'
click==8.3.1
click-didyoumean==0.3.1
click-plugins==1.1.1.2
click-repl==0.3.0
cloudauthz==0.6.0
cloudbridge==3.2.0
cloudpickle==3.1.2 ; python_full_version >= '3.10'
cloudpickle==3.1.2
cohere==5.20.1 ; sys_platform != 'emscripten'
colorama==0.4.6
coloredlogs==15.0.1
conda-package-streaming==0.12.0
cryptography==46.0.3
ct3==3.4.0.post5
cwl-upgrader==1.2.12 ; python_full_version < '3.10'
cwl-upgrader==1.2.14 ; python_full_version >= '3.10'
cwl-upgrader==1.2.14
cwl-utils==0.40
cwltool==3.1.20251031082601 ; python_full_version < '3.10'
cwltool==3.1.20260108082145 ; python_full_version >= '3.10'
cyclopts==4.5.0 ; python_full_version >= '3.10'
cwltool==3.1.20260108082145
cyclopts==4.5.0
defusedxml==0.7.1
deprecated==1.3.1
deprecation==2.1.0
dictobj==0.4
diskcache==5.6.3 ; python_full_version >= '3.10'
diskcache==5.6.3
distro==1.9.0
dnspython==2.7.0 ; python_full_version < '3.10'
dnspython==2.8.0 ; python_full_version >= '3.10'
dnspython==2.8.0
docopt==0.6.2
docstring-parser==0.17.0
docutils==0.21.2 ; python_full_version < '3.11'
@@ -91,45 +80,38 @@ email-validator==2.3.0
et-xmlfile==2.0.0
eval-type-backport==0.3.1
exceptiongroup==1.3.1
executing==2.2.1 ; python_full_version >= '3.10'
fakeredis==2.33.0 ; python_full_version >= '3.10'
executing==2.2.1
fakeredis==2.33.0
fastapi==0.128.0
fastavro==1.12.1 ; sys_platform != 'emscripten'
fastmcp==2.14.3 ; python_full_version >= '3.10'
filelock==3.19.1 ; python_full_version < '3.10'
filelock==3.20.3 ; python_full_version >= '3.10'
fastmcp==2.14.3
filelock==3.20.3
fissix==24.4.24
frozenlist==1.8.0
fs==2.4.16
fsspec==2025.10.0 ; python_full_version < '3.10'
fsspec==2026.1.0 ; python_full_version >= '3.10'
fsspec==2026.1.0
future==1.0.0
genai-prices==0.0.51
google-api-core==2.29.0
google-auth==2.47.0
google-cloud-batch==0.20.0
google-genai==1.47.0 ; python_full_version < '3.10'
google-genai==1.59.0 ; python_full_version >= '3.10'
google-genai==1.59.0
googleapis-common-protos==1.72.0
gravity==1.2.0
greenlet==3.2.4 ; (python_full_version < '3.10' and platform_machine == 'AMD64') or (python_full_version < '3.10' and platform_machine == 'WIN32') or (python_full_version < '3.10' and platform_machine == 'aarch64') or (python_full_version < '3.10' and platform_machine == 'amd64') or (python_full_version < '3.10' and platform_machine == 'ppc64le') or (python_full_version < '3.10' and platform_machine == 'win32') or (python_full_version < '3.10' and platform_machine == 'x86_64')
greenlet==3.3.0 ; (python_full_version >= '3.10' and platform_machine == 'AMD64') or (python_full_version >= '3.10' and platform_machine == 'WIN32') or (python_full_version >= '3.10' and platform_machine == 'aarch64') or (python_full_version >= '3.10' and platform_machine == 'amd64') or (python_full_version >= '3.10' and platform_machine == 'ppc64le') or (python_full_version >= '3.10' and platform_machine == 'win32') or (python_full_version >= '3.10' and platform_machine == 'x86_64')
griffe==1.14.0 ; python_full_version < '3.10'
griffe==1.15.0 ; python_full_version >= '3.10'
greenlet==3.3.0 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'
griffe==1.15.0
groq==1.0.0
grpcio==1.76.0
grpcio-status==1.71.2 ; python_full_version < '3.10'
grpcio-status==1.76.0 ; python_full_version >= '3.10'
grpcio-status==1.76.0
gunicorn==23.0.0
gxformat2==0.21.0
h11==0.16.0
h5grove==2.3.0
h5py==3.14.0 ; python_full_version < '3.10'
h5py==3.15.1 ; python_full_version >= '3.10'
h5py==3.15.1
hf-xet==1.2.0 ; platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'
httpcore==1.0.9
httpx==0.28.1
httpx-sse==0.4.3 ; python_full_version >= '3.10'
httpx-sse==0.4.3
huggingface-hub==0.36.0
humanfriendly==10.0
idna==3.11
@@ -140,35 +122,32 @@ invoke==2.2.1
isa-rwval==0.10.11
isal==1.8.0
isodate==0.7.2 ; python_full_version < '3.11'
jaraco-classes==3.4.0 ; python_full_version >= '3.10'
jaraco-context==6.1.0 ; python_full_version >= '3.10'
jaraco-functools==4.4.0 ; python_full_version >= '3.10'
jeepney==0.9.0 ; python_full_version >= '3.10' and sys_platform == 'linux'
jaraco-classes==3.4.0
jaraco-context==6.1.0
jaraco-functools==4.4.0
jeepney==0.9.0 ; sys_platform == 'linux'
jinja2==3.1.6
jiter==0.12.0
jmespath==1.0.1
jsonref==1.1.0
jsonschema==4.25.1 ; python_full_version < '3.10'
jsonschema==4.26.0 ; python_full_version >= '3.10'
jsonschema-path==0.3.4 ; python_full_version >= '3.10'
jsonschema==4.26.0
jsonschema-path==0.3.4
jsonschema-specifications==2025.9.1
keyring==25.7.0 ; python_full_version >= '3.10'
keyring==25.7.0
kombu==5.6.2
lagom==2.7.7
legacy-cgi==2.6.4 ; python_full_version >= '3.13'
limits==4.2 ; python_full_version < '3.10'
limits==5.6.0 ; python_full_version >= '3.10'
logfire==4.19.0 ; python_full_version >= '3.10'
limits==5.6.0
logfire==4.19.0
logfire-api==4.19.0
lupa==2.6 ; python_full_version >= '3.10'
lupa==2.6
lxml==6.0.2
mako==1.3.10
markdown==3.9 ; python_full_version < '3.10'
markdown==3.10 ; python_full_version >= '3.10'
markdown==3.10
markdown-it-py==3.0.0 ; python_full_version < '3.11'
markdown-it-py==4.0.0 ; python_full_version >= '3.11'
markupsafe==3.0.3
mcp==1.25.0 ; python_full_version >= '3.10'
mcp==1.25.0
mdurl==0.1.2
mercurial==7.1.2 ; python_version < '3.14'
mercurial==7.2rc0 ; python_version >= '3.14'
@@ -180,73 +159,62 @@ msal==1.34.0
msgpack==1.1.2
multidict==6.7.0
mypy-extensions==1.1.0
networkx==3.2.1 ; python_full_version < '3.10'
networkx==3.4.2 ; python_full_version == '3.10.*'
networkx==3.4.2 ; python_full_version < '3.11'
networkx==3.6.1 ; python_full_version >= '3.11'
nexus-rpc==1.1.0 ; python_full_version < '3.10'
nexus-rpc==1.2.0 ; python_full_version >= '3.10'
nexus-rpc==1.2.0
nodejs-wheel==22.20.0
nodejs-wheel-binaries==22.20.0
numpy==2.0.2 ; python_full_version < '3.10'
numpy==2.2.6 ; python_full_version == '3.10.*'
numpy==2.2.6 ; python_full_version < '3.11'
numpy==2.4.1 ; python_full_version >= '3.11'
oauthlib==3.3.1
openai==2.15.0
openapi-pydantic==0.5.1 ; python_full_version >= '3.10'
openapi-pydantic==0.5.1
openpyxl==3.1.5
opentelemetry-api==1.39.1
opentelemetry-exporter-otlp-proto-common==1.39.1 ; python_full_version >= '3.10'
opentelemetry-exporter-otlp-proto-http==1.39.1 ; python_full_version >= '3.10'
opentelemetry-exporter-prometheus==0.60b1 ; python_full_version >= '3.10'
opentelemetry-instrumentation==0.60b1 ; python_full_version >= '3.10'
opentelemetry-instrumentation-httpx==0.60b1 ; python_full_version >= '3.10'
opentelemetry-proto==1.39.1 ; python_full_version >= '3.10'
opentelemetry-sdk==1.39.1 ; python_full_version >= '3.10'
opentelemetry-semantic-conventions==0.60b1 ; python_full_version >= '3.10'
opentelemetry-util-http==0.60b1 ; python_full_version >= '3.10'
opentelemetry-exporter-otlp-proto-common==1.39.1
opentelemetry-exporter-otlp-proto-http==1.39.1
opentelemetry-exporter-prometheus==0.60b1
opentelemetry-instrumentation==0.60b1
opentelemetry-instrumentation-httpx==0.60b1
opentelemetry-proto==1.39.1
opentelemetry-sdk==1.39.1
opentelemetry-semantic-conventions==0.60b1
opentelemetry-util-http==0.60b1
orjson==3.11.5
oyaml==1.0
packaging==24.2 ; python_full_version < '3.10'
packaging==25.0 ; python_full_version >= '3.10'
packaging==25.0
paramiko==4.0.0
parsley==1.3
paste==3.10.1
pastedeploy==3.1.0
pathable==0.4.4 ; python_full_version >= '3.10'
pathvalidate==3.3.1 ; python_full_version >= '3.10'
pathable==0.4.4
pathvalidate==3.3.1
pebble==5.1.3
pillow==11.3.0 ; python_full_version < '3.10'
pillow==12.1.0 ; python_full_version >= '3.10'
platformdirs==4.5.1 ; python_full_version >= '3.10'
prometheus-client==0.24.1 ; python_full_version >= '3.10'
pillow==12.1.0
platformdirs==4.5.1
prometheus-client==0.24.1
prompt-toolkit==3.0.52
propcache==0.4.1
proto-plus==1.27.0
protobuf==5.29.5 ; python_full_version < '3.10'
protobuf==6.33.4 ; python_full_version >= '3.10'
protobuf==6.33.4
prov==1.5.1
psutil==7.2.1
pulsar-galaxy-lib==0.15.13
py-key-value-aio==0.3.0 ; python_full_version >= '3.10'
py-key-value-shared==0.3.0 ; python_full_version >= '3.10'
py-key-value-aio==0.3.0
py-key-value-shared==0.3.0
pyasn1==0.6.2
pyasn1-modules==0.4.2
pycparser==2.23 ; (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') or (implementation_name == 'pypy' and platform_python_implementation == 'PyPy')
pycryptodome==3.23.0
pydantic==2.12.5
pydantic-ai==0.8.1 ; python_full_version < '3.10'
pydantic-ai==1.44.0 ; python_full_version >= '3.10'
pydantic-ai-slim==0.8.1 ; python_full_version < '3.10'
pydantic-ai-slim==1.44.0 ; python_full_version >= '3.10'
pydantic-ai==1.44.0
pydantic-ai-slim==1.44.0
pydantic-core==2.41.5
pydantic-evals==0.8.1 ; python_full_version < '3.10'
pydantic-evals==1.44.0 ; python_full_version >= '3.10'
pydantic-graph==0.8.1 ; python_full_version < '3.10'
pydantic-graph==1.44.0 ; python_full_version >= '3.10'
pydantic-settings==2.11.0 ; python_full_version < '3.10'
pydantic-settings==2.12.0 ; python_full_version >= '3.10'
pydantic-evals==1.44.0
pydantic-graph==1.44.0
pydantic-settings==2.12.0
pydantic-tes==0.2.0
pydocket==0.16.6 ; python_full_version >= '3.10'
pydocket==0.16.6
pydot==4.0.1
pyeventsystem==0.1.0
pyfaidx==0.9.0.3
@@ -262,20 +230,18 @@ pyreadline3==3.5.4 ; sys_platform == 'win32'
pysam==0.23.3
python-dateutil==2.9.0.post0
python-dotenv==1.2.1
python-json-logger==4.0.0 ; python_full_version >= '3.10'
python-json-logger==4.0.0
python-magic==0.4.27
python-multipart==0.0.20 ; python_full_version < '3.10'
python-multipart==0.0.21 ; python_full_version >= '3.10'
python-multipart==0.0.21
python-slugify==8.0.4
python3-openid==3.2.0
pytz==2025.2
pywin32==311 ; python_full_version >= '3.10' and sys_platform == 'win32'
pywin32-ctypes==0.2.3 ; python_full_version >= '3.10' and sys_platform == 'win32'
pywin32==311 ; sys_platform == 'win32'
pywin32-ctypes==0.2.3 ; sys_platform == 'win32'
pyyaml==6.0.3
pyzmq==27.1.0
rdflib==7.4.0 ; python_full_version < '3.10'
rdflib==7.5.0 ; python_full_version >= '3.10'
redis==7.1.0 ; python_full_version >= '3.10'
rdflib==7.5.0
redis==7.1.0
referencing==0.36.2
refgenconf==0.12.2
regex==2026.1.15
@@ -286,45 +252,38 @@ requests-toolbelt==1.0.0
requests-unixsocket==0.4.1
rich==13.9.4
rich-argparse==1.7.2
rich-rst==1.3.2 ; python_full_version >= '3.10'
rich-rst==1.3.2
rocrate==0.14.2
routes==2.5.1
rpds-py==0.27.1 ; python_full_version < '3.10'
rpds-py==0.30.0 ; python_full_version >= '3.10'
rpds-py==0.30.0
rsa==4.9.1
ruamel-yaml==0.18.17
ruamel-yaml-clib==0.2.15 ; python_full_version < '3.15' and platform_python_implementation == 'CPython'
s3fs==2025.10.0 ; python_full_version < '3.10'
s3fs==2026.1.0 ; python_full_version >= '3.10'
s3transfer==0.15.0 ; python_full_version < '3.10'
s3transfer==0.16.0 ; python_full_version >= '3.10'
s3fs==2026.1.0
s3transfer==0.16.0
schema-salad==8.9.20251102115403
secretstorage==3.5.0 ; python_full_version >= '3.10' and sys_platform == 'linux'
secretstorage==3.5.0 ; sys_platform == 'linux'
setuptools==80.9.0
shellingham==1.5.4 ; python_full_version >= '3.10'
shellingham==1.5.4
six==1.17.0
slowapi==0.1.9
sniffio==1.3.1
social-auth-core==4.7.0 ; python_full_version < '3.10'
social-auth-core==4.8.3 ; python_full_version >= '3.10'
social-auth-core==4.8.3
sortedcontainers==2.4.0
spython==0.3.14
sqlalchemy==2.0.45
sqlparse==0.5.5
sse-starlette==3.1.2 ; python_full_version >= '3.10'
starlette==0.49.3 ; python_full_version < '3.10'
starlette==0.50.0 ; python_full_version >= '3.10'
sse-starlette==3.2.0
starlette==0.50.0
starlette-context==0.4.0
supervisor==4.3.0
svgwrite==1.4.3
temporalio==1.16.0 ; python_full_version < '3.10'
temporalio==1.20.0 ; python_full_version >= '3.10'
temporalio==1.20.0
tenacity==9.1.2
text-unidecode==1.3
tifffile==2024.8.30 ; python_full_version < '3.10'
tifffile==2025.5.10 ; python_full_version == '3.10.*'
tifffile==2025.5.10 ; python_full_version < '3.11'
tifffile==2026.1.14 ; python_full_version >= '3.11'
tiktoken==0.12.0 ; python_full_version >= '3.10'
tiktoken==0.12.0
tinydb==4.8.2
tokenizers==0.22.2 ; sys_platform != 'emscripten'
tomli==2.4.0 ; python_full_version < '3.11'
@@ -332,20 +291,16 @@ tornado==6.5.4
tqdm==4.67.1
tuspy==1.1.0
tuspyserver==4.2.3
typer==0.21.1 ; python_full_version >= '3.10'
typer==0.21.1
types-protobuf==6.32.1.20251210
types-requests==2.31.0.6 ; python_full_version < '3.10' and sys_platform != 'emscripten'
types-requests==2.32.4.20260107 ; python_full_version >= '3.10' and sys_platform != 'emscripten'
types-urllib3==1.26.25.14 ; python_full_version < '3.10' and sys_platform != 'emscripten'
types-requests==2.32.4.20260107 ; sys_platform != 'emscripten'
typing-extensions==4.15.0
typing-inspection==0.4.2
tzdata==2025.3
tzlocal==5.3.1
ubiquerg==0.8.2
urllib3==1.26.20 ; python_full_version < '3.10'
urllib3==2.6.3 ; python_full_version >= '3.10'
uvicorn==0.39.0 ; python_full_version < '3.10'
uvicorn==0.40.0 ; python_full_version >= '3.10'
urllib3==2.6.3
uvicorn==0.40.0
uvloop==0.22.1
vine==5.1.0
wcwidth==0.2.14
@@ -4,170 +4,153 @@ aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aiosignal==1.4.0
anyio==4.12.1
ase==3.26.0 ; python_full_version < '3.10'
ase==3.27.0 ; python_full_version >= '3.10'
ase==3.27.0
async-generator==1.10
async-timeout==5.0.1 ; python_full_version < '3.11'
attrs==25.4.0
axe-selenium-python==2.1.6
backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
boto3==1.41.5 ; python_full_version < '3.10'
boto3==1.42.19 ; python_full_version >= '3.10'
botocore==1.41.5 ; python_full_version < '3.10'
botocore==1.42.19 ; python_full_version >= '3.10'
cachecontrol==0.14.3 ; python_full_version < '3.10'
cachecontrol==0.14.4 ; python_full_version >= '3.10'
boto3==1.42.19
botocore==1.42.19
cachecontrol==0.14.4
cachetools==6.2.4
cattrs==25.3.0
certifi==2026.1.4
cffi==2.0.0 ; implementation_name != 'pypy' and os_name == 'nt'
charset-normalizer==3.4.4
click==8.1.8 ; python_full_version < '3.10'
click==8.3.1 ; python_full_version >= '3.10'
click==8.3.1
colorama==0.4.6 ; sys_platform == 'win32'
colorlog==6.10.1
contourpy==1.3.0 ; python_full_version < '3.10'
contourpy==1.3.2 ; python_full_version == '3.10.*'
contourpy==1.3.2 ; python_full_version < '3.11'
contourpy==1.3.3 ; python_full_version >= '3.11'
coverage==7.10.7 ; python_full_version < '3.10'
coverage==7.13.1 ; python_full_version >= '3.10'
cwltest==2.6.20250818005349 ; python_full_version < '3.10'
cwltest==2.6.20251216093331 ; python_full_version >= '3.10'
coverage==7.13.1
cwltest==2.6.20251216093331
cycler==0.12.1
decorator==5.2.1
defusedxml==0.7.1
dogpile-cache==1.4.1 ; python_full_version < '3.10'
dogpile-cache==1.5.0 ; python_full_version >= '3.10'
enum-tools==0.12.0 ; python_full_version >= '3.10'
dogpile-cache==1.5.0
enum-tools==0.12.0
exceptiongroup==1.3.1 ; python_full_version < '3.11'
filelock==3.19.1 ; python_full_version < '3.10'
filelock==3.20.3 ; python_full_version >= '3.10'
filelock==3.20.3
fluent-logger==0.11.1
fonttools==4.60.2 ; python_full_version < '3.10'
fonttools==4.61.1 ; python_full_version >= '3.10'
fonttools==4.61.1
frozenlist==1.8.0
greenlet==3.2.4 ; python_full_version < '3.10'
greenlet==3.3.0 ; python_full_version >= '3.10'
fsspec==2026.1.0
gcsfs==2026.1.0
google-api-core==2.29.0
google-auth==2.47.0
google-auth-oauthlib==1.2.4
google-cloud-core==2.5.0
google-cloud-storage==3.8.0
google-cloud-storage-control==1.9.0
google-crc32c==1.8.0
google-resumable-media==2.8.0
googleapis-common-protos==1.72.0
greenlet==3.3.0
grpc-google-iam-v1==0.14.3
grpcio==1.76.0
grpcio-status==1.76.0
h11==0.16.0
html5lib==1.1 ; python_full_version < '3.10'
html5rdf==1.2.1 ; python_full_version >= '3.10'
html5rdf==1.2.1
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib-metadata==8.7.1 ; python_full_version < '3.12'
importlib-resources==6.5.2 ; python_full_version < '3.10'
iniconfig==2.1.0 ; python_full_version < '3.10'
iniconfig==2.3.0 ; python_full_version >= '3.10'
importlib-metadata==8.7.1
iniconfig==2.3.0
inquirerpy==0.3.4
isodate==0.7.2 ; python_full_version < '3.11'
jinja2==3.1.6
jmespath==1.0.1
jsonpatch==1.33
jsonpointer==3.0.0
jsonschema==4.25.1 ; python_full_version < '3.10'
jsonschema==4.26.0 ; python_full_version >= '3.10'
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
junit-xml==1.9
kiwisolver==1.4.7 ; python_full_version < '3.10'
kiwisolver==1.4.9 ; python_full_version >= '3.10'
kiwisolver==1.4.9
librt==0.7.8 ; platform_python_implementation != 'PyPy'
lxml==6.0.2
markdown-it-py==3.0.0 ; python_full_version < '3.11'
markdown-it-py==4.0.0 ; python_full_version >= '3.11'
markupsafe==3.0.3
matplotlib==3.9.4 ; python_full_version < '3.10'
matplotlib==3.10.8 ; python_full_version >= '3.10'
matplotlib==3.10.8
mdurl==0.1.2
mirakuru==2.6.1 ; python_full_version < '3.10'
mirakuru==3.0.1 ; python_full_version >= '3.10'
mirakuru==3.0.1
mistune==3.1.4
msgpack==1.1.2
multidict==6.7.0
mypy==1.19.1
mypy-extensions==1.1.0
numpy==2.0.2 ; python_full_version < '3.10'
numpy==2.2.6 ; python_full_version == '3.10.*'
numpy==2.2.6 ; python_full_version < '3.11'
numpy==2.4.1 ; python_full_version >= '3.11'
oauthlib==3.3.1
onedatafilerestclient==21.2.5.2
outcome==1.3.0.post0
owlrl==6.0.2 ; python_full_version < '3.10'
owlrl==7.1.4 ; python_full_version >= '3.10'
packaging==24.2 ; python_full_version < '3.10'
packaging==25.0 ; python_full_version >= '3.10'
owlrl==7.1.4
packaging==25.0
pathspec==1.0.3
pfzy==0.3.4
pillow==11.3.0 ; python_full_version < '3.10'
pillow==12.1.0 ; python_full_version >= '3.10'
pillow==12.1.0
pkce==1.0.3
platformdirs==4.4.0 ; python_full_version < '3.10'
platformdirs==4.5.1 ; python_full_version >= '3.10'
platformdirs==4.5.1
playwright==1.57.0
pluggy==1.6.0
port-for==0.7.4 ; python_full_version < '3.10'
port-for==1.0.0 ; python_full_version >= '3.10'
prettytable==3.16.0 ; python_full_version < '3.10'
prettytable==3.17.0 ; python_full_version >= '3.10'
port-for==1.0.0
prettytable==3.17.0
prompt-toolkit==3.0.52
propcache==0.4.1
proto-plus==1.27.0
protobuf==6.33.4
psutil==7.2.1 ; sys_platform != 'cygwin'
psycopg==3.2.13 ; python_full_version < '3.10'
psycopg==3.3.2 ; python_full_version >= '3.10'
psycopg==3.3.2
pyasn1==0.6.2
pyasn1-modules==0.4.2
pycparser==2.23 ; implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt'
pyee==13.0.0
pygments==2.19.2
pyparsing==3.3.1
pyshacl==0.26.0 ; python_full_version < '3.10'
pyshacl==0.30.1 ; python_full_version >= '3.10'
pyshacl==0.30.1
pysocks==1.7.1
pytest==8.4.2 ; python_full_version < '3.10'
pytest==9.0.2 ; python_full_version >= '3.10'
pytest-asyncio==1.2.0 ; python_full_version < '3.10'
pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
pytest==9.0.2
pytest-asyncio==1.3.0
pytest-base-url==2.1.0
pytest-cov==7.0.0
pytest-html==4.1.1
pytest-html==4.2.0
pytest-httpserver==1.1.3
pytest-json-report==1.5.0
pytest-metadata==3.1.1
pytest-mock==3.15.1
pytest-playwright==0.7.1 ; python_full_version < '3.10'
pytest-playwright==0.7.2 ; python_full_version >= '3.10'
pytest-playwright==0.7.2
pytest-postgresql==7.0.2
pytest-shard==0.1.2
python-dateutil==2.9.0.post0
python-irodsclient==3.2.0
python-slugify==8.0.4
pyyaml==6.0.3
rdflib==7.4.0 ; python_full_version < '3.10'
rdflib==7.5.0 ; python_full_version >= '3.10'
rdflib==7.5.0
referencing==0.36.2
requests==2.32.5
requests-cache==1.2.1
requests-oauthlib==2.0.0
responses==0.25.8
rich==13.9.4
rich-click==1.9.5
roc-validator==0.4.2 ; python_full_version < '3.9.20'
roc-validator==0.4.6 ; python_full_version >= '3.9.20' and python_full_version < '3.10'
roc-validator==0.8.0 ; python_full_version >= '3.10'
rpds-py==0.27.1 ; python_full_version < '3.10'
rpds-py==0.30.0 ; python_full_version >= '3.10'
roc-validator==0.8.0
rpds-py==0.30.0
rsa==4.9.1
ruamel-yaml==0.18.17
ruamel-yaml-clib==0.2.15 ; python_full_version < '3.15' and platform_python_implementation == 'CPython'
rucio-clients==39.0.0
s3transfer==0.15.0 ; python_full_version < '3.10'
s3transfer==0.16.0 ; python_full_version >= '3.10'
s3transfer==0.16.0
schema-salad==8.9.20251102115403
scipy==1.13.1 ; python_full_version < '3.10'
scipy==1.15.3 ; python_full_version == '3.10.*'
scipy==1.15.3 ; python_full_version < '3.11'
scipy==1.17.0 ; python_full_version >= '3.11'
selenium==4.32.0 ; python_full_version < '3.10'
selenium==4.39.0 ; python_full_version >= '3.10'
selenium==4.40.0
seletools==1.5.0
six==1.17.0
sniffio==1.3.1
sortedcontainers==2.4.0
statsd==4.0.1
stevedore==5.5.0 ; python_full_version < '3.10'
stevedore==5.6.0 ; python_full_version >= '3.10'
stevedore==5.6.0
tabulate==0.9.0
testfixtures==8.3.0 ; python_full_version < '3.11'
testfixtures==10.0.0 ; python_full_version >= '3.11'
@@ -176,27 +159,24 @@ tinydb==4.8.2
toml==0.10.2
tomli==2.4.0 ; python_full_version <= '3.11'
total-perspective-vortex==3.1.3
trio==0.31.0 ; python_full_version < '3.10'
trio==0.32.0 ; python_full_version >= '3.10'
trio==0.32.0
trio-typing==0.10.0
trio-websocket==0.12.2
tuspy==1.1.0
twill==3.3.1
types-cachetools==6.2.0.20251022
types-requests==2.31.0.6 ; python_full_version < '3.10'
types-requests==2.32.4.20260107 ; python_full_version >= '3.10'
types-urllib3==1.26.25.14 ; python_full_version < '3.10'
types-certifi==2021.10.8.3
types-requests==2.32.4.20260107
types-urllib3==1.26.25.14
typing-extensions==4.15.0
typos==1.42.0 ; python_full_version >= '3.10'
typos==1.42.1
tzdata==2025.3 ; sys_platform == 'win32'
url-normalize==2.2.1
urllib3==1.26.20 ; python_full_version < '3.10'
urllib3==2.6.3 ; python_full_version >= '3.10'
urllib3==2.6.3
watchdog==6.0.0
wcwidth==0.2.14
webencodings==0.5.1 ; python_full_version < '3.10'
websocket-client==1.9.0
werkzeug==3.1.5
wsproto==1.2.0 ; python_full_version < '3.10'
wsproto==1.3.2 ; python_full_version >= '3.10'
wsproto==1.3.2
yarl==1.22.0
zipp==3.23.0 ; python_full_version < '3.12'
zipp==3.23.0
@@ -27,13 +27,11 @@ types-paramiko==4.0.0.20250822
types-python-dateutil==2.9.0.20251115
types-python-slugify==8.0.2.20240310
types-pyyaml==6.0.12.20250915
types-requests==2.31.0.6 ; python_full_version < '3.10'
types-requests==2.32.4.20260107 ; python_full_version >= '3.10'
types-requests==2.32.4.20260107
types-s3transfer==0.16.0
types-setuptools==80.9.0.20251223
types-six==1.17.0.20251009
types-urllib3==1.26.25.14 ; python_full_version < '3.10'
types-webencodings==0.5.0.20251108
typing-extensions==4.15.0
typing-inspection==0.4.2
urllib3==2.6.3 ; python_full_version >= '3.10'
urllib3==2.6.3
+1 -1
View File
@@ -1,9 +1,9 @@
import logging
import os
from collections import defaultdict
from collections.abc import Callable
from typing import (
Any,
Callable,
NamedTuple,
Optional,
Protocol,
+1 -1
View File
@@ -1,4 +1,4 @@
from typing_extensions import Literal
from typing import Literal
try:
from fs.azblob.blob_fs import BlobFS
+1 -1
View File
@@ -5,13 +5,13 @@ import urllib.request
from typing import (
Any,
cast,
Literal,
Optional,
)
from urllib.error import HTTPError
from urllib.parse import quote
from typing_extensions import (
Literal,
TypedDict,
)
+1 -1
View File
@@ -1,6 +1,7 @@
from typing import (
Annotated,
Any,
Literal,
Optional,
Union,
)
@@ -9,7 +10,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
from galaxy.util.config_templates import (
ConfiguredOAuth2Sources,
@@ -6,8 +6,8 @@ import sys
import tempfile
import time
import traceback
from collections.abc import Callable
from functools import partial
from typing import Callable
from galaxy.tool_util.deps import docker_util
from galaxy.util import (
+1 -1
View File
@@ -5,10 +5,10 @@ import logging
import operator
import os
import re
from collections.abc import Callable
from tempfile import NamedTemporaryFile
from typing import (
Any,
Callable,
Optional,
TYPE_CHECKING,
Union,
+4 -2
View File
@@ -15,7 +15,10 @@ import shutil
import sys
import time
import traceback
from collections.abc import Iterable
from collections.abc import (
Callable,
Iterable,
)
from dataclasses import (
dataclass,
field,
@@ -23,7 +26,6 @@ from dataclasses import (
from json import loads
from typing import (
Any,
Callable,
cast,
Optional,
TYPE_CHECKING,
+1 -4
View File
@@ -1,4 +1,3 @@
import sys
from dataclasses import (
dataclass,
field,
@@ -14,10 +13,8 @@ if TYPE_CHECKING:
from galaxy.jobs import ResubmitConfigDict
from galaxy.model import Job
dataclass_kwargs = {"kw_only": True} if sys.version_info >= (3, 10) else {}
@dataclass(**dataclass_kwargs, eq=False)
@dataclass(kw_only=True, eq=False)
class JobDestination:
"""
Provides details about where a job runs
+1 -1
View File
@@ -1,9 +1,9 @@
import importlib
import logging
from collections.abc import Callable
from inspect import getfullargspec
from types import ModuleType
from typing import (
Callable,
TYPE_CHECKING,
Union,
)
+1 -2
View File
@@ -10,11 +10,10 @@ import string
import time
from typing import (
TYPE_CHECKING,
TypeAlias,
Union,
)
from typing_extensions import TypeAlias
from galaxy import model
from galaxy.jobs.handler import DEFAULT_JOB_RUNNER_FAILURE_MESSAGE
from galaxy.jobs.job_destination import JobDestination
@@ -7,8 +7,7 @@ from abc import (
abstractmethod,
)
from enum import Enum
from typing_extensions import TypeAlias
from typing import TypeAlias
try:
from galaxy.model import Job
+1 -1
View File
@@ -30,10 +30,10 @@ import builtins
import datetime
import logging
import re
from collections.abc import Callable
from functools import partial
from typing import (
Any,
Callable,
Generic,
NamedTuple,
Optional,
+1 -1
View File
@@ -1,6 +1,7 @@
import logging
from typing import (
Any,
Literal,
Optional,
overload,
TYPE_CHECKING,
@@ -12,7 +13,6 @@ from sqlalchemy.orm import (
joinedload,
Query,
)
from typing_extensions import Literal
from galaxy import model
from galaxy.datatypes.registry import Registry
+1 -1
View File
@@ -37,10 +37,10 @@ A method that requires a user but not a history should declare its
# more checks against this issue.
import abc
import string
from collections.abc import Callable
from json import dumps
from typing import (
Any,
Callable,
cast,
Literal,
Optional,
+1 -1
View File
@@ -9,6 +9,7 @@ import logging
from typing import (
Any,
cast,
Literal,
Optional,
TYPE_CHECKING,
Union,
@@ -25,7 +26,6 @@ from sqlalchemy import (
true,
)
from sqlalchemy.orm import aliased
from typing_extensions import Literal
from galaxy import model
from galaxy.exceptions import (
+1 -1
View File
@@ -8,10 +8,10 @@ from within Galaxy.
import logging
import re
from collections.abc import Callable
from html.entities import name2codepoint
from html.parser import HTMLParser
from typing import (
Callable,
Optional,
TYPE_CHECKING,
Union,
+1 -3
View File
@@ -9,6 +9,7 @@ from typing import (
NamedTuple,
Optional,
TYPE_CHECKING,
TypeAlias,
Union,
)
@@ -41,9 +42,6 @@ from sqlalchemy.orm import (
joinedload,
subqueryload,
)
from typing_extensions import (
TypeAlias,
)
from galaxy import (
exceptions,
+2 -2
View File
@@ -32,10 +32,12 @@ from typing import (
cast,
ClassVar,
Generic,
Literal,
NamedTuple,
Optional,
overload,
TYPE_CHECKING,
TypeAlias,
TypeVar,
Union,
)
@@ -132,10 +134,8 @@ from sqlalchemy.orm.session import Session
from sqlalchemy.sql.expression import FromClause
from typing_extensions import (
deprecated,
Literal,
NotRequired,
Protocol,
TypeAlias,
TypedDict,
)
@@ -1,6 +1,7 @@
from dataclasses import dataclass
from typing import (
cast,
Literal,
Optional,
Protocol,
TYPE_CHECKING,
@@ -15,7 +16,6 @@ from pydantic import (
BaseModel,
Field,
)
from typing_extensions import Literal
from galaxy.exceptions import RequestParameterInvalidException
from galaxy.model.dataset_collections.rule_target_columns import (
+1 -1
View File
@@ -1,7 +1,7 @@
import logging
import re
from collections.abc import Callable
from typing import (
Callable,
cast,
)
+1 -1
View File
@@ -8,6 +8,7 @@ import tarfile
import tempfile
from collections import defaultdict
from collections.abc import (
Callable,
Iterable,
Iterator,
)
@@ -22,7 +23,6 @@ from tempfile import mkdtemp
from types import TracebackType
from typing import (
Any,
Callable,
cast,
Literal,
Optional,
+4 -2
View File
@@ -9,10 +9,12 @@ corresponding to files in other contexts.
import abc
import logging
import os
from collections.abc import Iterable
from collections.abc import (
Callable,
Iterable,
)
from typing import (
Any,
Callable,
NamedTuple,
Optional,
TYPE_CHECKING,
@@ -1,10 +1,10 @@
import logging
import os
from collections.abc import Callable
from datetime import datetime
from enum import Enum
from typing import (
Any,
Callable,
Optional,
)
@@ -1,9 +1,11 @@
import os
import uuid
from collections.abc import Iterator
from collections.abc import (
Callable,
Iterator,
)
from contextlib import contextmanager
from typing import (
Callable,
Optional,
)
+1 -1
View File
@@ -135,7 +135,7 @@ class ControlTask:
while self.response is self._response:
self.connection.drain_events(timeout=timeout)
return self.response
except socket.timeout:
except TimeoutError:
log.exception("Error waiting for task: '%s' sent with routing key '%s'", payload, routing_key)
except Exception:
log.exception("Error queueing async task: '%s'. for %s", payload, routing_key)
+1 -1
View File
@@ -1,5 +1,6 @@
from enum import Enum
from typing import (
Literal,
Optional,
)
@@ -7,7 +8,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
from galaxy.schema.fields import (
EncodedDatabaseIdField,
+1 -1
View File
@@ -3,6 +3,7 @@ from enum import Enum
from typing import (
Annotated,
Any,
Literal,
Optional,
Union,
)
@@ -17,7 +18,6 @@ from pydantic import (
TypeAdapter,
UUID4,
)
from typing_extensions import Literal
from galaxy.schema.fields import DecodedDatabaseIdField
from galaxy.schema.schema import Model
+2 -4
View File
@@ -1,7 +1,8 @@
import re
from collections.abc import Callable
from typing import (
Annotated,
Callable,
get_args,
get_origin,
TYPE_CHECKING,
Union,
@@ -14,9 +15,6 @@ from pydantic import (
WithJsonSchema,
)
from pydantic_core import PydanticCustomError
from typing_extensions import (
get_args,
)
from galaxy.exceptions import MessageException
+4 -2
View File
@@ -1,10 +1,12 @@
from typing import Optional
from typing import (
Literal,
Optional,
)
from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+1 -1
View File
@@ -1,5 +1,6 @@
from datetime import datetime
from typing import (
Literal,
Optional,
)
@@ -8,7 +9,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
from galaxy.schema.fields import EncodedDatabaseIdField
from galaxy.schema.schema import (
+1 -1
View File
@@ -4,6 +4,7 @@ from typing import (
Annotated,
Any,
Generic,
Literal,
Optional,
Union,
)
@@ -17,7 +18,6 @@ from pydantic import (
UUID4,
)
from typing_extensions import (
Literal,
TypeAliasType,
)
+1 -1
View File
@@ -1,6 +1,7 @@
import json
from typing import (
Any,
Literal,
Optional,
Union,
)
@@ -11,7 +12,6 @@ from pydantic import (
field_validator,
UUID4,
)
from typing_extensions import Literal
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+1 -3
View File
@@ -3,6 +3,7 @@ from enum import Enum
from typing import (
Annotated,
Any,
Literal,
Optional,
Union,
)
@@ -13,9 +14,6 @@ from pydantic import (
RootModel,
)
from pydantic.functional_validators import field_validator
from typing_extensions import (
Literal,
)
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+1 -3
View File
@@ -4,6 +4,7 @@ from typing import (
Annotated,
Any,
Generic,
Literal,
Optional,
Union,
)
@@ -13,9 +14,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import (
Literal,
)
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+2 -2
View File
@@ -9,7 +9,9 @@ from enum import Enum
from typing import (
Annotated,
Any,
Literal,
Optional,
TypeAlias,
Union,
)
from uuid import UUID
@@ -29,9 +31,7 @@ from pydantic import (
)
from pydantic_core import core_schema
from typing_extensions import (
Literal,
NotRequired,
TypeAlias,
TypedDict,
)
+1 -1
View File
@@ -1,11 +1,11 @@
from datetime import datetime
from enum import Enum
from typing import (
Literal,
Union,
)
from pydantic import Field
from typing_extensions import Literal
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+1 -3
View File
@@ -1,14 +1,12 @@
from datetime import datetime
from typing import (
Annotated,
Literal,
Union,
)
from pydantic import ValidationInfo
from pydantic.functional_validators import AfterValidator
from typing_extensions import (
Literal,
)
# Relative URLs cannot be validated with AnyUrl, they need a scheme.
# Making them an alias of `str` for now
+1 -1
View File
@@ -1,5 +1,6 @@
from datetime import datetime
from typing import (
Literal,
Optional,
Union,
)
@@ -9,7 +10,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
from galaxy.schema.fields import (
DecodedDatabaseIdField,
+1 -1
View File
@@ -1,4 +1,5 @@
from typing import (
Literal,
Optional,
Union,
)
@@ -8,7 +9,6 @@ from pydantic import (
Field,
RootModel,
)
from typing_extensions import Literal
class BaseComment(BaseModel):
+1 -2
View File
@@ -4,11 +4,10 @@ Galaxy Security
"""
from typing import (
Literal,
Optional,
)
from typing_extensions import Literal
from galaxy.util.bunch import Bunch
ActionModel = Literal["grant", "restrict"]
+1 -1
View File
@@ -1,10 +1,10 @@
from typing import (
Any,
Literal,
Optional,
)
from typing_extensions import (
Literal,
Protocol,
)
+1 -1
View File
@@ -5,10 +5,10 @@ allowing NavigatesGalaxy to work with either backend via composition.
"""
from abc import abstractmethod
from collections.abc import Callable
from contextlib import AbstractContextManager
from typing import (
Any,
Callable,
Generic,
Literal,
Optional,
+1 -2
View File
@@ -22,11 +22,10 @@ provide strong traditional typing semantics.
from typing import (
Any,
Literal,
Union,
)
from typing_extensions import Literal
# Input dictionary from the API, may include map/reduce instructions. Objects are referenced by "src"
# dictionaries and encoded IDS.
ToolRequestT = dict[str, Any]
+1 -1
View File
@@ -5,10 +5,10 @@ import re
import shlex
import string
import tempfile
from collections.abc import Callable
from datetime import datetime
from typing import (
Any,
Callable,
Literal,
Optional,
TYPE_CHECKING,
+2 -2
View File
@@ -8,17 +8,17 @@ import collections
import logging
import typing
from abc import abstractmethod
from collections.abc import Callable
from typing import (
Any,
Callable,
NamedTuple,
Optional,
TypeAlias,
Union,
)
from boltons.iterutils import remap
from packaging.version import Version
from typing_extensions import TypeAlias
from galaxy import model
from galaxy.exceptions import ToolInputsNotOKException
+1 -1
View File
@@ -1,5 +1,6 @@
from dataclasses import dataclass
from typing import (
Literal,
Optional,
Union,
)
@@ -9,7 +10,6 @@ from pydantic import (
BaseModel,
Field,
)
from typing_extensions import Literal
from galaxy.exceptions import RequestParameterInvalidException
from galaxy.model.dataset_collections.auto_identifiers import (
@@ -2,11 +2,11 @@ import asyncio
import logging
from typing import (
Any,
Literal,
Optional,
)
import aiohttp
from typing_extensions import Literal
log = logging.getLogger()
@@ -15,11 +15,10 @@ from typing import (
Any,
cast,
get_args,
Literal,
Optional,
)
from typing_extensions import Literal
from galaxy.model import (
DatasetCollectionElement,
HistoryDatasetAssociation,
+4 -2
View File
@@ -6,11 +6,13 @@ import io
import logging
import os
import unicodedata
from collections.abc import Mapping
from collections.abc import (
Callable,
Mapping,
)
from math import inf
from typing import (
Any,
Callable,
Optional,
TYPE_CHECKING,
)

Some files were not shown because too many files have changed in this diff Show More