diff --git a/client/src/api/schema/schema.ts b/client/src/api/schema/schema.ts index 7ffa3c7d77e2..a89d13317519 100644 --- a/client/src/api/schema/schema.ts +++ b/client/src/api/schema/schema.ts @@ -3555,7 +3555,10 @@ export interface components { */ name: string; }; - /** CustomBuildsCollection */ + /** + * CustomBuildsCollection + * @description The custom builds associated with the user. + */ CustomBuildsCollection: components["schemas"]["CustomBuildModel"][]; /** CustomBuildsMetadataResponse */ CustomBuildsMetadataResponse: { @@ -9381,11 +9384,13 @@ export interface components { /** * ListJstreeResponse * @deprecated + * @description List of files in Jstree format. * @default [] */ ListJstreeResponse: Record[]; /** * ListUriResponse + * @description List of directories and files. * @default [] */ ListUriResponse: (components["schemas"]["RemoteFile"] | components["schemas"]["RemoteDirectory"])[]; diff --git a/lib/galaxy/dependencies/__init__.py b/lib/galaxy/dependencies/__init__.py index 1664d07e6f03..0bb785aa136a 100644 --- a/lib/galaxy/dependencies/__init__.py +++ b/lib/galaxy/dependencies/__init__.py @@ -298,7 +298,7 @@ def check_pkce(self): return self.pkce_support def check_rucio_clients(self): - return sys.version_info >= (3, 9) + return "rucio" in self.object_stores and sys.version_info >= (3, 9) def optional(config_file=None): diff --git a/lib/galaxy/dependencies/conditional-requirements.txt b/lib/galaxy/dependencies/conditional-requirements.txt index e1fa726ff270..2c9efa7eab45 100644 --- a/lib/galaxy/dependencies/conditional-requirements.txt +++ b/lib/galaxy/dependencies/conditional-requirements.txt @@ -61,5 +61,5 @@ weasyprint # AWS Batch runner boto3 -#For Rucio storage plugin -rucio-clients==33.6.0 \ No newline at end of file +# For Rucio storage plugin +rucio-clients>=33.6.0 diff --git a/lib/galaxy/dependencies/dev-requirements.txt b/lib/galaxy/dependencies/dev-requirements.txt index 83e06b46e4a7..f963631db7b0 100644 --- a/lib/galaxy/dependencies/dev-requirements.txt +++ b/lib/galaxy/dependencies/dev-requirements.txt @@ -1,4 +1,4 @@ -aiohttp==3.9.4 ; python_version >= "3.8" and python_version < "3.13" +aiohttp==3.9.5 ; python_version >= "3.8" and python_version < "3.13" aiosignal==1.3.1 ; python_version >= "3.8" and python_version < "3.13" alabaster==0.7.13 ; python_version >= "3.8" and python_version < "3.13" anyio==4.3.0 ; python_version >= "3.8" and python_version < "3.13" @@ -7,7 +7,7 @@ async-timeout==4.0.3 ; python_version >= "3.8" and python_version < "3.11" attrs==23.2.0 ; python_version >= "3.8" and python_version < "3.13" axe-selenium-python==2.1.6 ; python_version >= "3.8" and python_version < "3.13" babel==2.14.0 ; python_version >= "3.8" and python_version < "3.13" -backports-tarfile==1.1.0 ; python_version >= "3.8" and python_version < "3.12" +backports-tarfile==1.1.1 ; python_version >= "3.8" and python_version < "3.12" backports-zoneinfo==0.2.1 ; python_version >= "3.8" and python_version < "3.9" black==24.4.0 ; python_version >= "3.8" and python_version < "3.13" build==1.2.1 ; python_version >= "3.8" and python_version < "3.13" @@ -24,11 +24,13 @@ cryptography==42.0.5 ; python_version >= "3.8" and python_version < "3.13" cwltest==2.5.20240304113812 ; python_version >= "3.8" and python_version < "3.13" cycler==0.12.1 ; python_version >= "3.8" and python_version < "3.13" darker==2.1.1 ; python_version >= "3.8" and python_version < "3.13" -darkgraylib==1.2.0 ; python_version >= "3.8" and python_version < "3.13" +darkgraylib==1.2.1 ; python_version >= "3.8" and python_version < "3.13" +decorator==5.1.1 ; python_version >= "3.9" and python_version < "3.13" defusedxml==0.7.1 ; python_version >= "3.8" and python_version < "3.13" deprecated==1.2.14 ; python_version >= "3.8" and python_version < "3.13" docutils==0.20.1 ; python_version >= "3.8" and python_version < "3.13" -exceptiongroup==1.2.0 ; python_version >= "3.8" and python_version < "3.11" +dogpile-cache==1.2.2 ; python_version >= "3.9" and python_version < "3.13" +exceptiongroup==1.2.1 ; python_version >= "3.8" and python_version < "3.11" filelock==3.13.4 ; python_version >= "3.8" and python_version < "3.13" fluent-logger==0.11.0 ; python_version >= "3.8" and python_version < "3.13" fonttools==4.51.0 ; python_version >= "3.8" and python_version < "3.13" @@ -48,9 +50,11 @@ isodate==0.6.1 ; python_version >= "3.8" and python_version < "3.13" isort==5.13.2 ; python_version >= "3.8" and python_version < "3.13" jaraco-classes==3.4.0 ; python_version >= "3.8" and python_version < "3.13" jaraco-context==5.3.0 ; python_version >= "3.8" and python_version < "3.13" -jaraco-functools==4.0.0 ; python_version >= "3.8" and python_version < "3.13" +jaraco-functools==4.0.1 ; python_version >= "3.8" and python_version < "3.13" jeepney==0.8.0 ; python_version >= "3.8" and python_version < "3.13" and sys_platform == "linux" jinja2==3.1.3 ; python_version >= "3.8" and python_version < "3.13" +jsonschema-specifications==2023.12.1 ; python_version >= "3.9" and python_version < "3.13" +jsonschema==4.20.0 ; python_version >= "3.9" and python_version < "3.13" junit-xml==1.9 ; python_version >= "3.8" and python_version < "3.13" keyring==25.1.0 ; python_version >= "3.8" and python_version < "3.13" kiwisolver==1.4.5 ; python_version >= "3.8" and python_version < "3.13" @@ -68,19 +72,20 @@ more-itertools==10.2.0 ; python_version >= "3.8" and python_version < "3.13" msgpack==1.0.8 ; python_version >= "3.8" and python_version < "3.13" multidict==6.0.5 ; python_version >= "3.8" and python_version < "3.13" mypy-extensions==1.0.0 ; python_version >= "3.8" and python_version < "3.13" -myst-parser==2.0.0 ; python_version >= "3.8" and python_version < "3.13" +myst-parser==3.0.0 ; python_version >= "3.8" and python_version < "3.13" nh3==0.2.17 ; python_version >= "3.8" and python_version < "3.13" numpy==1.24.4 ; python_version >= "3.8" and python_version < "3.9" numpy==1.26.4 ; python_version >= "3.9" and python_version < "3.13" outcome==1.3.0.post0 ; python_version >= "3.8" and python_version < "3.13" packaging==24.0 ; python_version >= "3.8" and python_version < "3.13" pathspec==0.12.1 ; python_version >= "3.8" and python_version < "3.13" +pbr==6.0.0 ; python_version >= "3.9" and python_version < "3.13" pillow==10.3.0 ; python_version >= "3.8" and python_version < "3.13" pkce==1.0.3 ; python_version >= "3.8" and python_version < "3.13" pkginfo==1.10.0 ; python_version >= "3.8" and python_version < "3.13" platformdirs==4.2.0 ; python_version >= "3.8" and python_version < "3.13" playwright==1.43.0 ; python_version >= "3.8" and python_version < "3.13" -pluggy==1.4.0 ; python_version >= "3.8" and python_version < "3.13" +pluggy==1.5.0 ; python_version >= "3.8" and python_version < "3.13" port-for==0.7.2 ; python_version >= "3.8" and python_version < "3.13" prettytable==3.10.0 ; python_version >= "3.8" and python_version < "3.13" psutil==5.9.8 ; python_version >= "3.8" and python_version < "3.13" and sys_platform != "cygwin" @@ -114,13 +119,16 @@ pywin32-ctypes==0.2.2 ; python_version >= "3.8" and python_version < "3.13" and pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "3.13" rdflib==6.3.2 ; python_version >= "3.8" and python_version < "3.13" readme-renderer==43.0 ; python_version >= "3.8" and python_version < "3.13" +referencing==0.34.0 ; python_version >= "3.9" and python_version < "3.13" requests-toolbelt==1.0.0 ; python_version >= "3.8" and python_version < "3.13" requests==2.31.0 ; python_version >= "3.8" and python_version < "3.13" responses==0.25.0 ; python_version >= "3.8" and python_version < "3.13" rfc3986==2.0.0 ; python_version >= "3.8" and python_version < "3.13" rich==13.7.1 ; python_version >= "3.8" and python_version < "3.13" +rpds-py==0.18.0 ; python_version >= "3.9" and python_version < "3.13" ruamel-yaml-clib==0.2.8 ; platform_python_implementation == "CPython" and python_version < "3.13" and python_version >= "3.8" ruamel-yaml==0.18.6 ; python_version >= "3.8" and python_version < "3.13" +rucio-clients==34.2.0 ; python_version >= "3.9" and python_version < "3.13" schema-salad==8.5.20240410123758 ; python_version >= "3.8" and python_version < "3.13" scipy==1.10.1 ; python_version >= "3.8" and python_version < "3.9" scipy==1.13.0 ; python_version >= "3.9" and python_version < "3.13" @@ -142,6 +150,8 @@ sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.8" and python_version < "3.13 sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.8" and python_version < "3.13" sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.8" and python_version < "3.13" statsd==4.0.1 ; python_version >= "3.8" and python_version < "3.13" +stevedore==5.2.0 ; python_version >= "3.9" and python_version < "3.13" +tabulate==0.9.0 ; python_version >= "3.9" and python_version < "3.13" testfixtures==8.1.0 ; python_version >= "3.8" and python_version < "3.13" text-unidecode==1.3 ; python_version >= "3.8" and python_version < "3.13" tinydb==4.8.0 ; python_version >= "3.8" and python_version < "3.13" diff --git a/lib/galaxy/dependencies/pinned-lint-requirements.txt b/lib/galaxy/dependencies/pinned-lint-requirements.txt index 730194ff2389..fea2eeeb9fa8 100644 --- a/lib/galaxy/dependencies/pinned-lint-requirements.txt +++ b/lib/galaxy/dependencies/pinned-lint-requirements.txt @@ -1,7 +1,7 @@ attrs==23.2.0 flake8==7.0.0 -flake8-bugbear==24.2.6 +flake8-bugbear==24.4.21 mccabe==0.7.0 pycodestyle==2.11.1 pyflakes==3.2.0 -ruff==0.3.7 +ruff==0.4.1 diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index 8bc4c310b5d9..37b51a528176 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -5,7 +5,7 @@ adal==1.2.7 ; python_version >= "3.8" and python_version < "3.13" aiobotocore==2.12.3 ; python_version >= "3.8" and python_version < "3.13" aiodataloader==0.4.0 ; python_version >= "3.8" and python_version < "3.13" aiofiles==23.2.1 ; python_version >= "3.8" and python_version < "3.13" -aiohttp==3.9.4 ; python_version >= "3.8" and python_version < "3.13" +aiohttp==3.9.5 ; python_version >= "3.8" and python_version < "3.13" aioitertools==0.11.0 ; python_version >= "3.8" and python_version < "3.13" aiosignal==1.3.1 ; python_version >= "3.8" and python_version < "3.13" alembic==1.13.1 ; python_version >= "3.8" and python_version < "3.13" @@ -13,7 +13,7 @@ amqp==5.2.0 ; python_version >= "3.8" and python_version < "3.13" aniso8601==9.0.1 ; python_version >= "3.8" and python_version < "3.13" annotated-types==0.6.0 ; python_version >= "3.8" and python_version < "3.13" anyio==4.3.0 ; python_version >= "3.8" and python_version < "3.13" -apispec==6.6.0 ; python_version >= "3.8" and python_version < "3.13" +apispec==6.6.1 ; python_version >= "3.8" and python_version < "3.13" appdirs==1.4.4 ; python_version >= "3.8" and python_version < "3.13" arcp==0.2.1 ; python_version >= "3.8" and python_version < "3.13" argcomplete==3.3.0 ; python_version >= "3.8" and python_version < "3.13" @@ -36,7 +36,7 @@ boto==2.49.0 ; python_version >= "3.8" and python_version < "3.13" botocore==1.34.69 ; python_version >= "3.8" and python_version < "3.13" bx-python==0.11.0 ; python_version >= "3.8" and python_version < "3.13" cachecontrol[filecache]==0.14.0 ; python_version >= "3.8" and python_version < "3.13" -celery==5.3.6 ; python_version >= "3.8" and python_version < "3.13" +celery==5.4.0 ; python_version >= "3.8" and python_version < "3.13" certifi==2024.2.2 ; python_version >= "3.8" and python_version < "3.13" cffi==1.16.0 ; python_version >= "3.8" and python_version < "3.13" charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "3.13" @@ -65,8 +65,8 @@ docutils==0.20.1 ; python_version >= "3.8" and python_version < "3.13" dparse==0.6.3 ; python_version >= "3.8" and python_version < "3.13" edam-ontology==1.25.2 ; python_version >= "3.8" and python_version < "3.13" email-validator==2.1.1 ; python_version >= "3.8" and python_version < "3.13" -exceptiongroup==1.2.0 ; python_version >= "3.8" and python_version < "3.11" -fastapi==0.110.1 ; python_version >= "3.8" and python_version < "3.13" +exceptiongroup==1.2.1 ; python_version >= "3.8" and python_version < "3.11" +fastapi==0.110.2 ; python_version >= "3.8" and python_version < "3.13" filelock==3.13.4 ; python_version >= "3.8" and python_version < "3.13" frozenlist==1.4.1 ; python_version >= "3.8" and python_version < "3.13" fs==2.4.16 ; python_version >= "3.8" and python_version < "3.13" @@ -80,10 +80,10 @@ graphql-core==3.2.3 ; python_version >= "3.8" and python_version < "3.13" graphql-relay==3.2.0 ; python_version >= "3.8" and python_version < "3.13" gravity==1.0.6 ; python_version >= "3.8" and python_version < "3.13" greenlet==3.0.3 ; python_version >= "3.8" and python_version < "3.13" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") -gunicorn==21.2.0 ; python_version >= "3.8" and python_version < "3.13" +gunicorn==22.0.0 ; python_version >= "3.8" and python_version < "3.13" gxformat2==0.18.0 ; python_version >= "3.8" and python_version < "3.13" h11==0.14.0 ; python_version >= "3.8" and python_version < "3.13" -h5grove==2.1.0 ; python_version >= "3.8" and python_version < "3.13" +h5grove==2.2.0 ; python_version >= "3.8" and python_version < "3.13" h5py==3.11.0 ; python_version >= "3.8" and python_version < "3.13" humanfriendly==10.0 ; python_version >= "3.8" and python_version < "3.13" idna==3.7 ; python_version >= "3.8" and python_version < "3.13" @@ -96,7 +96,7 @@ jinja2==3.1.3 ; python_version >= "3.8" and python_version < "3.13" jmespath==1.0.1 ; python_version >= "3.8" and python_version < "3.13" jsonref==1.1.0 ; python_version >= "3.8" and python_version < "3.13" jsonschema-specifications==2023.12.1 ; python_version >= "3.8" and python_version < "3.13" -jsonschema==4.21.1 ; python_version >= "3.8" and python_version < "3.13" +jsonschema==4.20.0 ; python_version >= "3.8" and python_version < "3.13" kombu==5.3.7 ; python_version >= "3.8" and python_version < "3.13" lagom==2.6.0 ; python_version >= "3.8" and python_version < "3.13" lxml==4.9.4 ; python_version >= "3.8" and python_version < "3.13" @@ -126,7 +126,6 @@ paste==3.9.0 ; python_version >= "3.8" and python_version < "3.13" pastedeploy==3.1.0 ; python_version >= "3.8" and python_version < "3.13" pebble==5.0.7 ; python_version >= "3.8" and python_version < "3.13" pillow==10.3.0 ; python_version >= "3.8" and python_version < "3.13" -pkgutil-resolve-name==1.3.10 ; python_version >= "3.8" and python_version < "3.9" promise==2.3 ; python_version >= "3.8" and python_version < "3.13" prompt-toolkit==3.0.43 ; python_version >= "3.8" and python_version < "3.13" prov==1.5.1 ; python_version >= "3.8" and python_version < "3.13" @@ -134,10 +133,10 @@ psutil==5.9.8 ; python_version >= "3.8" and python_version < "3.13" pulsar-galaxy-lib==0.15.6 ; python_version >= "3.8" and python_version < "3.13" pycparser==2.22 ; python_version >= "3.8" and python_version < "3.13" pycryptodome==3.20.0 ; python_version >= "3.8" and python_version < "3.13" -pydantic-core==2.18.1 ; python_version >= "3.8" and python_version < "3.13" +pydantic-core==2.18.2 ; python_version >= "3.8" and python_version < "3.13" pydantic-tes==0.1.5 ; python_version >= "3.8" and python_version < "3.13" -pydantic==2.7.0 ; python_version >= "3.8" and python_version < "3.13" -pydantic[email]==2.7.0 ; python_version >= "3.8" and python_version < "3.13" +pydantic==2.7.1 ; python_version >= "3.8" and python_version < "3.13" +pydantic[email]==2.7.1 ; python_version >= "3.8" and python_version < "3.13" pydot==2.0.0 ; python_version >= "3.8" and python_version < "3.13" pyeventsystem==0.1.0 ; python_version >= "3.8" and python_version < "3.13" pyfaidx==0.8.1.1 ; python_version >= "3.8" and python_version < "3.13" @@ -156,11 +155,11 @@ python-multipart==0.0.9 ; python_version >= "3.8" and python_version < "3.13" python3-openid==3.2.0 ; python_version >= "3.8" and python_version < "3.13" pytz==2024.1 ; python_version >= "3.8" and python_version < "3.13" pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "3.13" -pyzmq==26.0.0 ; python_version >= "3.8" and python_version < "3.13" +pyzmq==26.0.2 ; python_version >= "3.8" and python_version < "3.13" rdflib==6.3.2 ; python_version >= "3.8" and python_version < "3.13" referencing==0.34.0 ; python_version >= "3.8" and python_version < "3.13" refgenconf==0.12.2 ; python_version >= "3.8" and python_version < "3.13" -regex==2023.12.25 ; python_version >= "3.8" and python_version < "3.13" +regex==2024.4.16 ; python_version >= "3.8" and python_version < "3.13" repoze-lru==0.7 ; python_version >= "3.8" and python_version < "3.13" requests-oauthlib==2.0.0 ; python_version >= "3.8" and python_version < "3.13" requests-toolbelt==1.0.0 ; python_version >= "3.8" and python_version < "3.13" diff --git a/lib/galaxy/dependencies/pinned-typecheck-requirements.txt b/lib/galaxy/dependencies/pinned-typecheck-requirements.txt index 191ee946583f..014e6a3a3cb5 100644 --- a/lib/galaxy/dependencies/pinned-typecheck-requirements.txt +++ b/lib/galaxy/dependencies/pinned-typecheck-requirements.txt @@ -5,17 +5,17 @@ lxml-stubs==0.5.1 ; python_version >= "3.8" and python_version < "3.13" mypy-extensions==1.0.0 ; python_version >= "3.8" and python_version < "3.13" mypy==1.9.0 ; python_version >= "3.8" and python_version < "3.13" pycparser==2.22 ; python_version >= "3.8" and python_version < "3.13" and platform_python_implementation != "PyPy" -pydantic-core==2.18.1 ; python_version >= "3.8" and python_version < "3.13" -pydantic==2.7.0 ; python_version >= "3.8" and python_version < "3.13" +pydantic-core==2.18.2 ; python_version >= "3.8" and python_version < "3.13" +pydantic==2.7.1 ; python_version >= "3.8" and python_version < "3.13" tomli==2.0.1 ; python_version >= "3.8" and python_version < "3.11" types-bleach==6.1.0.20240331 ; python_version >= "3.8" and python_version < "3.13" types-boto==2.49.18.20240205 ; python_version >= "3.8" and python_version < "3.13" types-contextvars==2.4.7.3 ; python_version >= "3.8" and python_version < "3.13" types-dataclasses==0.6.6 ; python_version >= "3.8" and python_version < "3.13" -types-docutils==0.20.0.20240406 ; python_version >= "3.8" and python_version < "3.13" +types-docutils==0.21.0.20240423 ; python_version >= "3.8" and python_version < "3.13" types-html5lib==1.1.11.20240228 ; python_version >= "3.8" and python_version < "3.13" types-markdown==3.6.0.20240316 ; python_version >= "3.8" and python_version < "3.13" -types-paramiko==3.4.0.20240311 ; python_version >= "3.8" and python_version < "3.13" +types-paramiko==3.4.0.20240423 ; python_version >= "3.8" and python_version < "3.13" types-pkg-resources==0.1.3 ; python_version >= "3.8" and python_version < "3.13" types-python-dateutil==2.9.0.20240316 ; python_version >= "3.8" and python_version < "3.13" types-pyyaml==6.0.12.20240311 ; python_version >= "3.8" and python_version < "3.13" diff --git a/lib/tool_shed/webapp/frontend/src/schema/schema.ts b/lib/tool_shed/webapp/frontend/src/schema/schema.ts index 189bdd555e19..738ad268432e 100644 --- a/lib/tool_shed/webapp/frontend/src/schema/schema.ts +++ b/lib/tool_shed/webapp/frontend/src/schema/schema.ts @@ -337,7 +337,10 @@ export interface components { * @enum {string} */ DescriptorType: "CWL" | "WDL" | "NFL" | "GALAXY" | "SMK" - /** DescriptorTypeVersion */ + /** + * DescriptorTypeVersion + * @description The language version for a given descriptor type. The version should correspond to the actual declared version of the descriptor. For example, tools defined in CWL could have a version of `v1.0.2` whereas WDL tools may have a version of `1.0` or `draft-2` + */ DescriptorTypeVersion: string /** DetailedRepository */ DetailedRepository: { diff --git a/pyproject.toml b/pyproject.toml index 2fdd4b314297..0ebb92ddf93d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -153,6 +153,7 @@ pytest-playwright = "*" pytest-postgresql = "!=3.0.0" # https://github.com/ClearcodeHQ/pytest-postgresql/issues/426 pytest-shard = "*" responses = "*" +rucio-clients = {version = ">=33.6.0", python = ">=3.9"} # https://github.com/galaxyproject/galaxy/pull/17156 selenium = "*" urllib3 = "<2" # Necessary for poetry for resolve deps for Python 3.8+ seletools = "*" diff --git a/test/integration/test_celery_user_rate_limit.py b/test/integration/test_celery_user_rate_limit.py index 61f2f207735d..b9b832c5cddc 100644 --- a/test/integration/test_celery_user_rate_limit.py +++ b/test/integration/test_celery_user_rate_limit.py @@ -83,7 +83,7 @@ def _test_mock_pass_user_id_task(self, num_users: int, num_calls: int, tasks_per expected_duration = secs_between_tasks_per_user * (num_calls - 1) expected_duration_lbound = expected_duration - 4 expected_duration_hbound = expected_duration + 4 - start_time = datetime.datetime.utcnow() + start_time = datetime.datetime.now(datetime.timezone.utc) timer = ExecutionTimer() # Invoke test task num_calls times for each user results: Dict[int, List[AsyncResult]] = {}