Commit Graph
158 Commits
Author SHA1 Message Date
John Davis bd42444af7 Remove SQLAlchemy Migrate from dependencies 2023-02-08 00:33:48 -05:00
Nicola Soranzo 4ca163b9ca Add support for Python 3.11
- Update Python dependencies that didn't have a cp311 wheel: h5py and
  psycopg2-binary.
- For packages for which there is no recent version that works on all
  Python versions supported by Galaxy (numpy and scipy), replace old
  requirement with multiple Python-version-specific requirements.
2023-02-02 01:18:25 +00:00
mvdbeek ecb160442a Add migration for updated HistoryDatasetCollectionJobStateSummary 2023-01-17 17:06:58 +01:00
Nicola Soranzo 7fee81607c Add linting with ruff
ruff (https://github.com/charliermarsh/ruff) is a new and extremely fast
Python linter, written in Rust.
Ruff can be used to replace Flake8 (plus a variety of plugins), isort,
pydocstyle, yesqa, eradicate, pyupgrade, and autoflake.
Here ruff is added to our current linters (flake8, flake8-bugbear and isort)
while we assess its reliability.
I've not enabled the isort rules because many of the options we use are not
implemented yet. I have instead enabled the pyupgrade rules (a tool which I
run manually every few months).

Also:
- Fix new linting errors reported by ruff.
2023-01-16 14:34:56 +00:00
Nicola Soranzo 921e5da2e6 Lint 2 previously excluded files with black and isort 2023-01-16 14:34:56 +00:00
Dannon c54ec2f18d Merge pull request #15281 from galaxybot/dev_auto_update_dependencies
Update Python dependencies
2023-01-09 15:42:13 -05:00
Nicola Soranzo 82a93eaf77 Disallow fastapi 0.89.0
Fix the following traceback:

```
lib/galaxy/webapps/galaxy/fast_app.py:178: in initialize_fast_app
    add_galaxy_middleware(app, gx_app)
lib/galaxy/webapps/galaxy/fast_app.py:127: in add_galaxy_middleware
    async def preflight_handler(request: Request, rest_of_path: str) -> Response:
.venv/lib/python3.7/site-packages/fastapi/routing.py:658: in decorator
    generate_unique_id_function=generate_unique_id_function,
.venv/lib/python3.7/site-packages/fastapi/routing.py:598: in add_api_route
    generate_unique_id_function=current_generate_unique_id,
.venv/lib/python3.7/site-packages/fastapi/routing.py:401: in __init__
    name=response_name, type_=self.response_model
.venv/lib/python3.7/site-packages/fastapi/utils.py:92: in create_response_field
    ) from None
E   fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'starlette.responses.Response'> is a valid pydantic field type
```

tracked upstream in https://github.com/tiangolo/fastapi/issues/5861 .
2023-01-09 17:58:20 +00:00
Nicola Soranzo ec41388679 Temporarily pin gravity to the release_1.x git branch
Follow-up on commit 619c6ae47e .
2023-01-09 17:25:16 +00:00
mvdbeek 05768f5412 Add missing test dependency 2023-01-09 17:22:36 +01:00
mvdbeek d369546e9d Unpin cwltest dev dependency 2023-01-09 15:47:46 +01:00
mvdbeek 000473d89d Bump cwltest requirement and fix import
Fixes:

```
mypy .
galaxy_test/base/populators.py:2258: error: "Module cwltest.utils" does not
explicitly export attribute "compare"  [attr-defined]
                    cwltest.utils.compare(value, actual_output)
                    ^~~~~~~~~~~~~~~~~~~~~
Found 1 error in 1 file (checked 20 source files)
make: *** [Makefile:96: mypy] Error 1
```
2023-01-09 15:21:41 +01:00
Nicola Soranzo a850a47419 Update pysam depedency to 0.20.0
Fix `pysam.index()` calls which now use samtools 1.16 where
`samtools index input output` doesn't work any more if `output` is the path
of an already existing file, but `samtools index -o output input` works
fine.

Also:
- Pre-create the (empty) index file for mock test datasets as a unit test
  reproducer of the above issue.
- Fix `test_cram` unit test that wasn't checking the return value of
  `CRAM.set_index_file()`, which was in fact returning False because
  `test-data/2.cram` was not sorted (updated now).
2023-01-01 03:37:53 +00:00
John Chilton dedd624fe3 Improve API linting to include spell checking. 2022-12-13 10:53:47 -05:00
Nicola Soranzo ee7d51f2f5 Merge branch 'release_22.05' into dev 2022-12-09 11:36:00 +00:00
Nicola Soranzo 1eceea2a45 Add/remove/pin/unpin Python requirements 2022-12-09 02:01:26 +00:00
Nicola Soranzo 3d5bcff5c1 Add pkce to dev/test requirements
So `test_authenticate_set_pkce_verifier_cookie` unit test is not skipped.
2022-11-30 16:34:32 +00:00
Nicola Soranzo 1048abe3cf Update cwltool pin 2022-11-10 01:13:41 +00:00
Nicola Soranzo f5deb24dbb Use dnspython to check specifically for an "MX" DNS record
when validating the domain name of the email address for a new user.

Fix https://github.com/galaxyproject/galaxy/issues/14829 .
2022-11-03 12:08:35 +01:00
Nicola Soranzo 5ca0aea54a Drop nose
It's deprecated and unmaintained, and is broken under Python 3.10 .
2022-11-01 18:45:07 +00:00
Nicola Soranzo 5c43d2961f Use dnspython to check specifically for an "MX" DNS record
when validating the domain name of the email address for a new user.

Fix https://github.com/galaxyproject/galaxy/issues/14829 .
2022-10-27 11:17:14 +01:00
John Chilton 5a3069d283 Pulsar infrastructure improvements for TES execution and MQ-less Kubernetes.
Updating the Pulsar job runner/client for https://github.com/galaxyproject/pulsar/pull/302 and as described in the new docs at https://pulsar.readthedocs.io/en/latest/containers.html.
2022-10-16 09:56:58 +02:00
davelopezandNicola Soranzo 5dc7dae7c1 Use pydantic[email] instead of email-validator
Co-authored-by: Nicola Soranzo <nicola.soranzo@earlham.ac.uk>
2022-10-14 12:20:24 +02:00
John Chilton 61b9e57c7f Implement Workflow Invocation -> BCO export. 2022-10-14 12:20:24 +02:00
John Chilton 3dbe2891e7 Implement RO Crate export of Galaxy histories and invocations. 2022-09-13 19:20:48 -04:00
Nicola Soranzo 0df5c9a5fb Updates for Poetry 1.2.0
Also:
- Export only dev requirements to `lib/galaxy/dependencies/dev-requirements.txt` .
- Packages don't have a `requirements.txt` file.
2022-09-05 17:23:18 +01:00
Nicola Soranzo 241833fbc7 Simplify fastapi version pin 2022-08-28 19:11:10 +01:00
Nicola Soranzo d26196d4e3 Disallow schema-salad 8.3.20220721194857
due to https://github.com/common-workflow-language/schema_salad/issues/575 .

It has been yanked, but poetry still doesn't support PEP-592
https://github.com/python-poetry/poetry/issues/2453 .
2022-07-27 12:23:59 +01:00
Nicola Soranzo 03287524c8 Pin sphinx_rtd_theme to >=1.0.0
which is needed to work with sphinx >=4.
If not pinned, poetry prefers to upgrade docutils to 0.18.1 and downgrade
sphinx-rtd-theme to 0.5.1 .
2022-06-12 11:49:21 +01:00
John Chilton 60eb370a22 Remove fabric as a dependency for Galaxy. 2022-06-07 13:39:16 -04:00
mvdbeek 34e59bae75 Drop cloudpickle 2022-05-27 17:33:54 +02:00
mvdbeek 50c40576bd Use forkserver when booting celery worker 2022-05-27 17:33:53 +02:00
mvdbeek 83d3f551a9 Make only url uploads cancelable 2022-05-27 17:33:53 +02:00
Nicola Soranzo 7ba383fc9c Pin bdbag to >=1.6.3
Otherwise it is sometimes downgraded by poetry to 1.6.0 to allow upgrading
setuptools-scm to >=6 .
2022-04-25 19:15:42 +01:00
Nicola Soranzo faeba22f30 Stricter maximum Python version to appease numpy and scipy
xref.: https://github.com/scipy/scipy/pull/12862
2022-04-19 12:36:43 +01:00
Nicola Soranzo a966cc83a7 Merge branch 'release_22.01' into dev 2022-04-14 11:51:02 +01:00
mvdbeek 37b47e0304 Better binary detection with FilePrefix & libmagic
FilePrefix reads the first Megabytes of a file, which is much more
than the previously used `check_binary` which read only 1KB.

Since we're re-using FilePrefix instance this shouldn't have any impact
on performace. In addition we're now using `python-magic` to detect
the encoding and mime-type. We're using the mime-type detection
for PDF only at this point, but we're also using the detected encoding
if we encounter non-utf8 content.
2022-04-05 15:06:04 +02:00
elichad 31e20ebe46 add only ase dependencies 2022-04-01 14:14:54 +00:00
elichad 753619454f Revert "add ase to dev-dependencies"
This reverts commit b03d7dca19.
2022-04-01 13:20:29 +00:00
elichad b03d7dca19 add ase to dev-dependencies 2022-04-01 09:35:04 +00:00
Nicola Soranzo e902f58c27 Update Python dependencies
Disallow python-irodsclient 1.1.2 due to

https://github.com/irods/python-irodsclient/issues/356

which breaks several integration tests with:

```
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/irods/message/__init__.py", line 163, in _recv_message_in_len
    host, port = sock.getpeername()
ValueError: too many values to unpack (expected 2)
```
2022-03-23 14:11:15 +00:00
mvdbeek a9420d24b5 Drop remaining references to uWSGI 2022-03-21 13:44:37 +01:00
mvdbeek 102a7eab63 Add apispec dependency 2022-03-20 14:26:28 +01:00
Sergey Golitsynskiy c4fc9f612a Add a comment on sqlalchemy-migrate to pyproject.toml 2022-03-09 18:40:07 -05:00
Sergey Golitsynskiy e248cbe35e Add alembic to dependencies 2022-03-09 18:40:07 -05:00
Nicola Soranzo a62e86fc2e Merge branch 'release_22.01' into dev 2022-03-04 17:02:22 +00:00
mvdbeek d5461ed599 Pin gravity to 0.10.0 2022-03-04 13:27:20 +01:00
Nicola Soranzo c0db14e195 Test the webapps package
Also:
- Remove redundant `galaxy.schema` module from the `app` package (it's
  already in `data`)
- Fix requirements of the `app` and `webapps` packages
- Add missing `PyJWT` and `python-dateutil` to `tool.poetry.dependencies`
  (which were already included in the pinned requirements as deps of deps)
2022-03-03 16:48:36 +01:00
Nicola Soranzo f8bd5d4bea Merge branch 'release_22.01' into dev 2022-02-21 17:00:55 +00:00
Nicola Soranzo 22bcef6342 Test the webapps package
Also:
- Remove redundant `galaxy.schema` module from the `app` package (it's
  already in `data`)
- Fix requirements of the `app` and `webapps` packages
- Add missing `PyJWT` and `python-dateutil` to `tool.poetry.dependencies`
  (which were already included in the pinned requirements as deps of deps)
2022-02-17 19:50:40 +00:00
Nicola Soranzo 318a1d7056 Fix make diff-format
- The path is required
- The target revision may be a release branch, so use the default
  (i.e. last commit)
- Run `isort` in addition to `black`.
2022-02-17 10:23:42 +00:00