Commit Graph
302 Commits
Author SHA1 Message Date
Nate Coraor 423177986e Also update gravity pints in pyproject and config package tests 2025-06-20 12:15:36 -04:00
Nate Coraor fd41e726e1 Pin isa-rwval 0.10.11, drop conditional import handling 2025-06-19 14:12:25 -04:00
mvdbeek 50ec064838 Add non-dev httpx dependency 2025-05-19 15:19:33 +02:00
Eli Chadwick 5896713674 Add roc-validator to dev dependencies 2025-05-07 10:45:11 +01:00
Nicola Soranzo 5d8a08412b Pin limits to >=2.5.0
`limits` is a transitive dependency (from slowapi) that currently
depends on `packaging>=21,<25` .
Now that `packaging` 25.0 was released, uv prefers to upgrade `packaging`
and downgrade `limits` to 2.4.0 (which didn't depend on `packaging`).
This will be fixed by https://github.com/alisaifee/limits/pull/274 ,
but pinning `limits` to >=2.5.0 will prevent similar issues in the future
as well.
2025-04-22 15:29:30 +01:00
Nicola Soranzo 517a73dbe0 Disallow rucio-clients versions that depend on dataclasses
Otherwise when resolving dependencies with uv, dataclasses 0.8 gets
selected (due to https://github.com/astral-sh/uv/issues/7462 ),
which is a version not installable on Python >=3.7, breaking the
installation of dependencies.

This will be fixed by https://github.com/rucio/rucio/pull/7665
once merged and released.
2025-04-22 15:06:27 +01:00
Nicola Soranzo 68db575a29 Pin celery >=5.4.0 and kombu >=5.5.0
so they are not downgraded by uv in favour of upgrading
typing-extensions .
2025-04-01 16:26:50 +01:00
Leonid Kostrykin 61aaebf8eb Update Image.set_meta, add PyPNG dependency 2025-03-25 14:36:44 +01:00
Nicola Soranzo 26d3783744 Use fissix also when python3-lib2to3 is not installed
Fix https://github.com/galaxyproject/ansible-galaxy/issues/223 .
2025-03-06 11:50:24 +00:00
John Chilton a0fdddb298 Remove backend for shed graphql. 2025-03-03 20:39:26 -05:00
John Chilton 30058f9d4e Implement rate limiting on senstive tool shed APIs. 2025-02-28 13:40:05 -05:00
Nicola Soranzo edd8bccf4f Drop support for Python 3.8 2025-02-25 19:20:46 +00:00
Nicola Soranzo 184c1a7292 Require importlib-resources also for Python 3.9-3.11
Broken in commit 78234720c4 .
2024-12-20 15:08:42 +00:00
Nicola Soranzo 4d211a3e8b Explicitly add cwl-utils to dependencies
Imported e.g. in `lib/galaxy/tools/expressions/evaluation.py` .
No actual change to requirements files as it's already included as a
dependency of cwltool.
2024-12-05 13:21:54 +00:00
Nicola Soranzo d24ae975ec Move scipy pinning to `contraint-dependencies`
because it's a transitive dependency (from ase).
2024-11-15 01:20:07 +00:00
Nicola Soranzo 94593bd644 Pin scipy to >=1.14.1 for Python 3.13 support 2024-11-10 18:10:57 +00:00
Arash 3c601ffd38 Add python-slugify and types-python-slugify to dependencies and typecheck 2024-11-05 16:33:29 +01:00
Nicola Soranzo febd6f9413 Use fissix to replace lib2to3 under Python >=3.13
Add entries to `sys.modules` so that `future`/`past` can find
lib2to3 modules.
2024-10-31 12:09:22 +00:00
Nicola Soranzo f0420d70a3 Pin minimum package versions for Python 3.13 support
Also:
- Cheetah3 package on PyPI has been renamed to CT3 since 3.3.0, see
  https://cheetahtemplate.org/news.html
2024-10-31 12:09:20 +00:00
Nicola Soranzo 93078d949a Replace poetry with uv
for lightning-fast Python dependency updates.

To update all dependencies (as done by the GitHub action):

$ make update-dependencies

To update only one package:

./lib/galaxy/dependencies/update.sh -p <PKG>
2024-10-31 10:22:52 +00:00
Nicola Soranzo 3f9cdb40be Disallow SQLAlchemy 2.0.36
due to https://github.com/sqlalchemy/sqlalchemy/issues/12019 .
2024-10-21 18:11:21 +01:00
Nicola Soranzo 178a1efb30 Remove outdated fimo wrapper and galaxy-sequence-utils dependency
The fimo tool was removed from `tool_conf.xml.sample` in 2014
(commit fa11d10c8b) and migrated to the
tools-iuc repository since 2015
( https://github.com/galaxyproject/tools-iuc/pull/499 ).
This bundled version doesn't probably work any more and is not
available on the UseGalaxy.* servers.

This allows us to remove `galaxy-sequence-utils` from the project
dependencies, since the other 2 tools
(`lib/galaxy/datatypes/converters/vcf_to_interval_index_converter.xml`
and `tools/maf/vcf_to_maf_customtrack.xml`) correctly specify it as a
requirement.
2024-10-04 12:33:26 +01:00
John Chilton b70d83d8b2 Modeling from assertions. 2024-09-13 16:23:10 -04:00
Bartosz Walkowicz 735e977ea5 Update onedata libraries to 21.2.5.2 2024-09-03 11:44:31 +02:00
Nicola Soranzo c6aa4713be Replace types-pkg-resources with types-setuptools
All types-pkg-resources packages have been removed from PyPI:

https://pypi.org/project/types-pkg-resources/

in favour of types-setuptools.

This is breaking our Update dependencies GitHub workflow, see e.g.:

https://github.com/galaxyproject/galaxy/actions/runs/10328479305
2024-08-15 15:49:08 +01:00
Nicola Soranzo 6948206ba7 Install isa-rwval from my fork to relax pin on networkx
xref. https://github.com/ISA-tools/isa-rwval/pull/17
2024-07-03 13:56:47 +01:00
Nicola Soranzo 541f4c09dd Merge branch 'release_24.1' into dev 2024-06-20 12:06:44 +01:00
Nicola Soranzo 88d3849960 Pin pydantic to >=2.7.4
Pydantic <2.7.4 is broken on Python>=3.12.4 , see
https://github.com/pydantic/pydantic/issues/9609 .
Fixed upstream in https://github.com/pydantic/pydantic/pull/9639 .

Fix the following traceback in startup test on Python 3.12:

```
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/bin/galaxyctl", line 10, in <module>
    sys.exit(galaxyctl())
             ^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/click/core.py", line 1682, in invoke
    cmd_name, cmd, args = self.resolve_command(ctx, args)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/click/core.py", line 1729, in resolve_command
    cmd = self.get_command(ctx, cmd_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/cli.py", line 59, in get_command
    return name_to_command(name)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/cli.py", line 45, in name_to_command
    mod = __import__(mod_name, None, None, ["cli"])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/commands/cmd_stop.py", line 4, in <module>
    from gravity import process_manager
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/process_manager/__init__.py", line 14, in <module>
    from gravity.config_manager import ConfigManager
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/config_manager.py", line 18, in <module>
    from gravity.state import ConfigFile, service_for_service_type
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/gravity/state.py", line 42, in <module>
    class ConfigFile(BaseModel):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/pydantic/v1/main.py", line 286, in __new__
    cls.__try_update_forward_refs__()
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/pydantic/v1/main.py", line 807, in __try_update_forward_refs__
    update_model_forward_refs(cls, cls.__fields__.values(), cls.__config__.json_encoders, localns, (NameError,))
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/pydantic/v1/typing.py", line 554, in update_model_forward_refs
    update_field_forward_refs(f, globalns=globalns, localns=localns)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/pydantic/v1/typing.py", line 520, in update_field_forward_refs
    field.type_ = evaluate_forwardref(field.type_, globalns, localns or None)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.12/site-packages/pydantic/v1/typing.py", line 66, in evaluate_forwardref
    return cast(Any, type_)._evaluate(globalns, localns, set())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'
```

Example: https://github.com/galaxyproject/galaxy/actions/runs/9581802216/job/26419972297
2024-06-19 19:30:46 +01:00
Nicola Soranzo 4ad69decfc Prepare for NumPy 2.0 2024-06-19 13:16:58 +01:00
John Davis 77dbd47b51 Merge branch 'release_24.1' into dev 2024-06-13 13:30:04 -04:00
Bartosz Walkowicz dcc509673d Update onedatafilerestclient requirement 2024-06-12 08:20:47 +02:00
Nicola Soranzo 316aa75b40 Pin s3fs to >=2023.1.0
It was pinned to `^2023.1.0` in commit
a7ffd291af , then unpinned in commit
076fff8302 .
Unfortunately, if s3fs is not pinned to at least `>=0.5.0`, poetry
downgrades it to 0.4.2 when aiobotocore is not compatible with the
latest botocore version.
2024-06-10 01:40:08 +01:00
Nicola Soranzo 1174bbe8f4 Fix packages' dependencies and MANIFEST.in files
Also:
- Add missing `graphene` and `graphql-core` dependencies to
  `pyproject.toml` (already installed as other dependencies' deps,
  but explicitly imported by ToolShed code).
- Move `test_tool_validation.py` unit tests to the galaxy-tool-shed
  package.
2024-06-02 19:56:20 +01:00
John Davis 036bf47ed5 Merge pull request #18173 from nsoranzo/followup_on_18136
Fix boto3-stubs typecheck dependency
2024-05-20 10:43:55 -04:00
John Chilton 9d2a45f58d Merge pull request #17540 from bwalkowi/add-onedata-objectstore
Add onedata objectstore
2024-05-19 16:41:00 -04:00
Nicola Soranzo 70c5648585 Fix boto3-stubs typecheck dependency
Introduced in commit 36b5ed15fa .
2024-05-19 13:15:07 +01:00
Marius van den Beek 8be09c8aae Merge pull request #18136 from jmchilton/object_store_unit_testing
More unit testing for object store stuff.
2024-05-15 16:31:34 +02:00
John Chilton 076fff8302 Update s3fs dependency. 2024-05-14 08:50:44 -04:00
John Chilton 55bd5c74cf Cleanup galaxy-objectstore for recent changes. 2024-05-14 08:46:00 -04:00
John Chilton 36b5ed15fa Implement a boto3 object store. 2024-05-14 08:45:59 -04:00
Bartosz Walkowicz 08b2f9f7f0 Add onedatafilerestclient dep as dev and test requirement 2024-05-10 09:31:02 +02:00
Nicola Soranzo 6ff6b27a9a Switch to fastapi-slim
Otherwise fastapi 0.111.0 would add 11 new dependencies.
2024-05-04 20:47:37 +01:00
Nicola Soranzo a6fd343acb Explicitly require jinja2
Used in `lib/galaxy/config/templates.py` .
2024-05-04 20:47:37 +01:00
Nicola Soranzo 534010a8cb Enable flake8-implicit-str-concat ruff rules
See https://docs.astral.sh/ruff/rules/#flake8-implicit-str-concat-isc
2024-04-29 13:37:54 +01:00
Nicola Soranzo 7c143ceaca Fix rucio-clients dependency issues
With the merge of https://github.com/galaxyproject/galaxy/pull/17156 ,
`rucio-clients` was listed as a conditional requirement, but it was actually
installed almost everywhere (the only condition was
`sys.version_info >= (3, 9)`), independently of its use for an object store.

This also installs `rucio-clients` as a dev dependency, otherwise the
`test/integration/objectstore/test_rucio_objectstore.py` integration tests
would fail. Pinned dependencies are updated in the next commit.

Fix https://github.com/galaxyproject/galaxy/issues/17695 .
2024-04-25 14:33:21 +01:00
Nicola Soranzo edf06c5e35 Rebuild client API schema for pydantic 2.7.0 2024-04-16 17:16:53 +01:00
Nicola Soranzo 1fef07cb24 Replace pytest-celery with `celery.contrib.pytest` plugin loading
The new 1.0.0 version of pytest-celery will move towards a Docker-based
approach for smoke and production-like testing, bringing in a number of
dependencies that we don't currently need.
Since the pre-1.0.0 version of pytest-celery was just a shim for
``celery.contrib.pytest``, we can simply load the latter for API,
integration and Selenium tests.
2024-04-16 17:16:52 +01:00
Nicola Soranzo 14fc332c24 Unpin sphinx-rtd-theme now that 2.0.0 was released 2024-04-06 17:08:36 +01:00
John Davis fa344f7b4e Upgrade SQLAlchemy to 2.0
This conflicts with dependency requirements for sqlalchemy-graphene
(used only in toolshed, new WIP client)
2024-04-02 10:08:52 -04:00
Nicola Soranzo 9bbd91d247 Disallow uvicorn 0.28.0
due to https://github.com/galaxyproject/galaxy/issues/17669 .

Disallow also pydantic 2.6.4 .
2024-03-18 16:37:24 +00:00