- `PROJECT_OWNER`, `PROJECT_USERAME`, `RAW_CONTENT_URL` and `_version_re` are unused.
- `:changelog:` hyperlink target is unnecessary.
- `test_suite` and `tests_require` are deprecated since setuptools v41.5.0
- Improves options and display around discarded datasets.
- Adds new APIs for importing model stores.
- Adds support to model store layer for importing/exporting workflow invocations and APIs and tests to support this.
- Add new DEFERRED dataset state - with APIs for materializing them or the option to defer them on the worker node if using tool_evaluation_strategy=remote on the job destination.
- UI and API options for uploading deferred datasets individually or into collections.
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.
with:
```
find packages/ -name '*.py' | xargs black
```
The `packages/` directory is currently excluded in the `[tool.black]`
section of `pyproject.toml` because black follows symlinks.
to `pyproject.toml` and packages' `requirements.txt` .
We have been importing it explicitly since commit
fc2ce45767 (December 2020).
Also:
- Remove now unnecessary minimum version for pygithub
- Create a new project galaxy-files that does not depend on anything but galaxy-util.
- Add a dependency in galaxy-data on galaxy-files, use typing in galaxy.data.sniff to make this clear.
- Cleanup the galaxy-files unit tests to not depend on galaxy.datatypes.sniff code - this wasn't ideal to start with.
- Add a small integration-ish unit test test_sniff_file_sources.py to test that piece of sniff.py that depends on galaxy-files.
Fix https://github.com/galaxyproject/galaxy/issues/12412 .
We have a dependency on `Tempita` (through `sqlalchemy-migrate`), which is
abandonware and uses the `use_2to3=True` option of `setup()` in its
`setup.py` .
The new Setuptools v58.0.0 removed support for 2to3 during builds:
https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5800
As a result Tempita is installed at even older version and importing it
raises a SyntaxError.
For Galaxy as a full application this has been solved by creating a wheel on
https://wheels.galaxyproject.org . But the `galaxy-data` package (which also
depends on `sqlalchemy-migrate`) cannot automatically install the
tempita-0.5.2 wheel from our alternative package index when installed via
`pip install galaxy-data` as there is no syntax to specify that.
I've therefore resurrected Tempita from the Bitbucket Mercurial repo (thanks
to Software Heritage backups!
https://bitbucket-archive.softwareheritage.org/projects/ia/ianb/tempita.html
), converted to a GitHub repo and updated its code to Python 3.6 with 2to3
and pyupgrade.