Drop support for Python 3.9

This commit is contained in:
Nicola Soranzo
2026-01-19 18:39:16 +00:00
parent d76697d2b0
commit eb9fde1dcd
159 changed files with 212 additions and 269 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,
)
+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,
)
+1 -1
View File
@@ -3,8 +3,8 @@ import os
import shutil
import tempfile
import traceback
from collections.abc import Callable
from typing import (
Callable,
NamedTuple,
)
+1 -1
View File
@@ -15,12 +15,12 @@ from typing import (
cast,
Optional,
TYPE_CHECKING,
TypeAlias,
Union,
)
from typing_extensions import (
Self,
TypeAlias,
)
from galaxy.model import (
@@ -1,10 +1,9 @@
from typing import (
Literal,
Optional,
Union,
)
from typing_extensions import Literal
from galaxy.datatypes.data import (
Data,
Newick,
@@ -6,8 +6,8 @@ a dictionary of string data/ids (often from a query string).
import json
import logging
import weakref
from collections.abc import Callable
from typing import (
Callable,
Optional,
Union,
)

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