Backend:
- Add column_definitions_compatible() in sample_sheet_util.py
- Filter incompatible collections in match_collections()
- Include column_definitions in HDCA options response
Frontend:
- Add column_definitions to DataOption type
- Check compatibility in canAcceptSrc for drag/drop
Fixes#21472🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Found by running:
```
make pyupgrade
ruff check --fix .
ruff check --preview --unsafe-fixes --select=F401 --fix .
make format
make update-client-api-schema
```
The bulk of the changes are replacements of typing deprecated aliases
such as `Dict` and `List` with the standard library classes. These
aliases became redundant in Python 3.9 when the corresponding
pre-existing classes were enhanced to support `[]`, see
https://docs.python.org/3/library/typing.html#deprecated-aliases
Also:
- Update the `pyupgrade` Makefile target to use `--py38-plus` for the
packages needed by Pulsar, including the new galaxy-tool-util-models
package.
This was added in https://github.com/galaxyproject/galaxy/pull/18951 but
it's memory consumption scales with input size. On a 5.5GB TIFF file
this consumed a peak of 18GB of memory.
@kostrykin added a workaround for the memory consumption in
https://github.com/galaxyproject/galaxy/pull/19830, but this now very
slow.
Besides improving the efficient, Perhaps there is a more gentle way to approach
> Many tools assume that images are binary, or label maps, for example, and it makes no sense to run those tools on other images.
?
Could those tools just error out, and/or consume a different datatype ?
Do we need the full unique values, or is it ok to just check if it's
more than `n` unique values ?