Commit Graph
272 Commits
Author SHA1 Message Date
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
Bartosz Walkowicz dcc509673d Update onedatafilerestclient requirement 2024-06-12 08:20:47 +02: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
Nicola Soranzo 898c97a73f Pin social-auth-core to >=4.5.0
which dropped dependency on abandoned python-jose and removed
openidconnect extras (included by default now).
2024-03-12 01:10:37 +00:00
Nicola Soranzo a2018a5e60 Enable flake8-comprehensions ruff rules
but allow `dict()` calls that make use of keyword arguments (e.g.,
`dict(a=1, b=2)`).
2024-03-09 19:11:20 +00:00
Nicola Soranzo e4aae9407f Unpin social-auth-core dependency
Needed to drop abandoned python-jose, which in turn depends on ecdsa,
a library that is not safe against side-channel attacks, xref.:

https://github.com/tlsfuzzer/python-ecdsa/security/advisories/GHSA-wj6h-64fc-37mp
2024-03-05 18:12:33 +00:00
Nicola Soranzo 3f0f789b82 Merge pull request #17556 from kostrykin/files_diff_images
Add `image_diff` comparison method for test output verification using images
2024-03-04 17:04:44 +00:00
Nicola Soranzo 94c43dd75c Disallow also pydantic 2.6.3 2024-03-04 13:14:48 +00:00
Nicola Soranzo b02101ba69 Unpin Cheetah as the poetry bug was fixed 2024-03-04 13:14:48 +00:00
Leonid Kostrykin a147d72ada Add pillow dependency 2024-02-27 12:52:45 +01:00
Nicola Soranzo 8369bf5f24 Disallow also pydantic 2.6.2 2024-02-25 20:13:57 +00:00
Nicola Soranzo c3a6bf4ef4 Update poetry configuration for 1.8.0 2024-02-25 20:13:57 +00:00
Nicola Soranzo d37c2844b5 Install future from PyPI again
now that 1.0.0 has been released with Python 3.12 support from my
fork.
2024-02-22 14:04:01 +00:00
Nicola Soranzo 167282f623 Update ruff settings for 0.2.0 deprecations 2024-02-14 00:57:48 +00:00
Nicola Soranzo f9384bb0df Disallow pydantic 2.6.0 and 2.6.1
xref: https://github.com/pydantic/pydantic/issues/8760

Fix the following error when testing with mypy:

```
$ tox -e mypy
Deferral trace:
    cwltool.utils:62
    cwltool.utils:-1
    ...
    galaxy.model:666
    galaxy.model:666
    galaxy.model:666
    galaxy.model:666
lib/galaxy/model/__init__.py: error: INTERNAL ERROR: maximum semantic analysis
iteration count reached
Found 1 error in 1 file (errors prevented further checking)
```
2024-02-14 00:57:47 +00:00
mvdbeek b278d8a2aa Merge branch 'release_23.2' into dev 2024-02-08 11:35:49 +01:00
Nicola Soranzo 5e14d03779 Merge branch 'release_23.1' into release_23.2 2024-02-07 22:50:08 +00:00
Nicola Soranzo 52933ed5fd Merge branch 'release_23.0' into release_23.1 2024-02-07 22:48:53 +00:00
Nicola Soranzo de8d4562b6 Add missing Werkzeug test requirement
Used in `test/unit/util/test_get_url.py` since commit
69ebbb761a .

Pin Werkzeug in `lib/galaxy/dependencies/dev-requirements.txt`
to latest version compatible with pytest-httpserver 1.0.6 .

Fix unit test collection error on Python 3.11:
```
  File "/home/runner/work/galaxy/galaxy/galaxy root/.tox/unit-coverage/lib/python3.11/site-packages/pytest_httpserver/httpserver.py", line 26, in <module>
    from werkzeug.http import parse_authorization_header
ImportError: cannot import name 'parse_authorization_header' from 'werkzeug.http' (/home/runner/work/galaxy/galaxy/galaxy root/.tox/unit-coverage/lib/python3.11/site-packages/werkzeug/http.py)
```
2024-02-07 05:44:42 +00:00
Nicola Soranzo 37116c39a0 Fix type annotation of code using XML etree
by adding lxml-stubs to our typecheck requirements.
2024-01-26 18:41:09 +00:00
John Davis 568480f923 Merge branch 'release_23.2' into dev_merge_23.2 2024-01-24 16:28:01 +00:00
mvdbeek 7e9c02b75c Use python-isal for fast zip deflate compression in rocrate export 2024-01-23 11:16:26 +01:00
Ubuntu 6860c9a0fb Add support for Python 3.12 2024-01-21 11:57:59 +00:00
Nicola Soranzo 4eb94cde5f Install future from my fork with Python 3.12 patches 2024-01-21 11:57:58 +00:00
Nicola Soranzo 69d197e75e Update missed pydantic version pin
Forgotten in https://github.com/galaxyproject/galaxy/pull/17262 .

Fix broken Update dependencies CI build:
https://github.com/galaxyproject/galaxy/actions/runs/7509887325/job/20447594708
2024-01-15 19:38:44 +00:00
mvdbeek 9dfdd7dcba Update dependencies 2024-01-08 11:33:41 +01:00
mvdbeek 64533cea53 Undo dependency changes 2024-01-08 11:33:36 +01:00
mvdbeek e63c3ba9d4 Update fastapi and pydantic dependencies 2024-01-08 11:33:34 +01:00
John Chilton 4bb1c4b4ce Merge pull request #17205 from jdavcs/dev_cbv
Vendorize fastapi-utls.cbv
2023-12-22 10:28:32 -05:00
John Davis 52d7fa704f Bump graphene-sqlalchemy to 3.0.0rc1 2023-12-19 12:37:49 -05:00
John Davis 377d7d134f Remove fastapi-utils from pyproject.toml, packages 2023-12-18 14:52:01 -05:00
Michael R. Crusoe 8611d3ccb8 pin kombu to >= 5.3 for importlib-metadata fix (poetry had already picked up 5.3.x) 2023-11-27 00:01:55 +00:00
Michael R. Crusoe 14fb5acc69 importlib_resources is only needed in Python 3.8
Add type hints + fixes
2023-11-27 00:01:54 +00:00