Commit Graph
137 Commits
Author SHA1 Message Date
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
mvdbeek 61dab21990 Use a2wsgi to serve WSGI app
instead of the deprecated starlette WSGIMiddleware that was vendored by
fastAPI. I'm also hoping this fixes the weird exceptions a la:
```
uvicorn.error ERROR 2022-02-14 11:59:42,141 [pN:main,p:4823,tN:Thread-216] Exception in ASGI application
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/uvicorn/protocols/http/h11_impl.py", line 364, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
    return await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/fastapi/applications.py", line 212, in __call__
    await super().__call__(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 656, in __call__
    await route.handle(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 408, in handle
    await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/fastapi/applications.py", line 212, in __call__
    await super().__call__(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette_context/middleware/raw_middleware.py", line 96, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/base.py", line 65, in __call__
    task_group.cancel_scope.cancel()
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 574, in __aexit__
    raise exceptions[0]
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 611, in _run_wrapped_task
    await coro
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/base.py", line 34, in coro
    await self.app(scope, request.receive, send_stream.send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 656, in __call__
    await route.handle(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 408, in handle
    await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 64, in __call__
    await responder(receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 91, in __call__
    await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 572, in __aexit__
    raise ExceptionGroup(exceptions)
anyio._backends._asyncio.ExceptionGroup: 2 exceptions were raised in the task group:
----------------------------
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 611, in _run_wrapped_task
    await coro
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 98, in sender
    await send(message)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 68, in sender
    await send(message)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 193, in send
    self.send_nowait(item)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 177, in send_nowait
    raise BrokenResourceError
anyio.BrokenResourceError
----------------------------
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 91, in __call__
    await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/to_thread.py", line 29, in run_sync
    limiter=limiter)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
    return await future
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 754, in run
    result = context.run(func, *args)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 132, in wsgi
    self.stream_send.send, {"type": "http.response.body", "body": b""}
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/from_thread.py", line 35, in run
    return asynclib.run_async_from_thread(func, *args)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 847, in run_async_from_thread
    return f.result()
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 193, in send
    self.send_nowait(item)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 177, in send_nowait
    raise BrokenResourceError
anyio.BrokenResourceError
```
2022-02-17 09:36:26 +01:00
Nicola Soranzo 53f00e407e Update pytest configuration for v7.0
pytest 7.0 added a `pythonpath` setting that replaces (and breaks) the
pytest-pythonpath plugin:

https://docs.pytest.org/en/7.0.x/changelog.html#features
2022-02-07 11:50:55 +00:00
Dannon Baker 03351d2a9f Apply black to tools as well 2022-02-03 09:12:13 -05:00
Dannon Baker bf0ad06e22 Move isort back into devDependencies. 2022-02-03 07:39:47 -05:00
Dannon Baker 480b62f372 Add isort devdependency 2022-02-03 07:39:47 -05:00
mvdbeek 54bde2cc2a Move config to .isort.cfg 2022-02-03 07:39:47 -05:00
mvdbeek 0484e3061c Increase line length so long import statements aren't split 2022-02-03 07:39:47 -05:00
mvdbeek 73bd2597bd Configure isort to produce the right import order style 2022-02-03 07:39:47 -05:00
Dannon Baker ae59ab561b Reorder pyproject.toml 2022-02-03 07:38:26 -05:00
DannonandNicola Soranzo 0b63c1f504 Apply suggestions from code review
Co-authored-by: Nicola Soranzo <nicola.soranzo@gmail.com>
2022-02-03 07:38:26 -05:00
Dannon Baker d21474fc84 Add black to dev-dependencies 2022-02-03 07:38:25 -05:00
Dannon Baker 275ad1217f Introduce pyproject.toml for black settings 2022-02-03 07:38:25 -05:00
Nicola Soranzo a8f5965ba6 Fix gravity requirement for Poetry
For VCS references, need to specify the branch if it's not `master`.

Also:
- Update Poetry download link
- Require pip >= 19.3 to support direct references as requirement
  specifiers
  https://www.python.org/dev/peps/pep-0440/#direct-references
2022-01-31 15:09:35 +00:00
mvdbeek ff19dd94c9 Switch pyproject.toml entry for gravity to git version as well 2022-01-31 15:01:24 +01:00
Nate Coraor b237006a3d Correct gravity version 2022-01-21 14:13:22 -05:00
Nate Coraor c9cf15576c Move gunicorn to regular requirements (not just dev) and add uvloop.
Swap circusd for gravity to start dev-mode/run.sh Galaxy.
2022-01-21 13:29:14 -05:00
mvdbeek 03e218df68 Fix config schema packaging 2022-01-19 18:20:16 +00:00
Nicola Soranzo b9efe433e6 Fix pydantic requirements 2022-01-06 19:21:17 +00:00
Nicola Soranzo a013c30e0a Disallow paramiko 2.9.0 and 2.9.1
Fix `paramiko.ssh_exception.SSHException: encountered RSA key, expected OPENSSH key`
error, which is due to https://github.com/paramiko/paramiko/issues/1961 .
2022-01-06 19:21:16 +00:00
Nicola Soranzo 8fbecfefff Disallow also fastapi 0.70.1 2022-01-06 19:21:15 +00:00
Michael R. Crusoe 724d983d46 Add "diff-format" Makefile target
Re-format code changed since the last Git commit using "black" via
darker
2021-12-09 15:52:32 +00:00