Commit Graph
94 Commits
Author SHA1 Message Date
John Chilton c791fea0cf Formalize dependency of galaxy-data on galaxy.files package.
- 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.
2021-10-11 13:16:30 -04:00
John Chilton 336cf7b918 Package objectstore's unittest helpers and drop hacks for running test_model_copy.py in galaxy-data. 2021-09-24 12:16:54 -04:00
John Chilton 84220b6b55 Establish unittest utils for galaxy-data packages.
Progress toward https://github.com/galaxyproject/galaxy/issues/8364. Cleans up dependency into a proper DAG so we can move for instance test_model_discovery.py into galaxy-data's unittests.
2021-09-24 12:16:54 -04:00
Sergey Golitsynskiy e691ab866b Update SQLAlchemy to 1.4.25 2021-09-23 11:29:38 -04:00
mvdbeek 5332eb246a Update version to 22.01.dev0 2021-09-20 19:53:11 +02:00
Nicola Soranzo 520aba646a Revert "Install Tempita from a fork due to use_2to3 deprecation"
This reverts commit 314ca33509.

Fixed on PyPI as mentioned in
https://github.com/pypa/setuptools/issues/2788#issuecomment-921962154
2021-09-20 15:56:53 +01:00
John Chilton 62295efeb5 Merge pull request #11315 from davelopez/prepare_fastapi_route_quotas
Prepare FastAPI route for quotas
2021-09-08 09:14:49 -04:00
Nicola Soranzo 00c6c281cf Merge branch 'release_21.05' into dev 2021-09-07 11:54:45 +01:00
Nicola Soranzo cf5708e35d Merge branch 'release_21.01' into release_21.05 2021-09-07 11:00:33 +01:00
Nicola Soranzo 314ca33509 Install Tempita from a fork due to use_2to3 deprecation
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.
2021-09-07 03:51:02 +01:00
Nuwan Goonasekera df7e40c550 Added missing triggers package to galaxy data 2021-08-30 10:19:32 +05:30
Sergey Golitsynskiy 003dfc48ae Update SQLAlchmey to 1.4.20 2021-07-04 13:18:13 -04:00
Sergey Golitsynskiy 314e00e643 Update SQLAlchemy to 1.4.19 2021-06-23 11:19:58 -04:00
Sergey Golitsynskiy b3551fec8c Update SQLAlchemy to 1.4.18 2021-06-11 18:53:07 -04:00
mvdbeek 3ce0312a0a Update version to 21.05. 2021-06-10 21:23:20 +02:00
Sergey Golitsynskiy 94ce70aa8b Update SQLAlchemy to 1.4.17 2021-06-03 12:22:54 -04:00
davelopez 50d7d2e339 Fix symlink 2021-06-02 10:22:37 +02:00
David López b246bf3af4 Fix symlink
Make it relative
2021-06-02 10:22:37 +02:00
davelopez 1a7a09206d Add lib/galaxy/schema to packages/data/galaxy/schema 2021-06-02 10:22:37 +02:00
Sergey Golitsynskiy 9cb78f7c3d Update SA pin to 1.4.15; update requirements files 2021-05-18 19:02:40 -04:00
Sergey GolitsynskiyandNicola Soranzo 5dc250b1fb Update SQLAlchemy pin <2 in packages/data/requirements.txt
Co-authored-by: Nicola Soranzo <nicola.soranzo@gmail.com>
2021-05-18 19:02:40 -04:00
Sergey Golitsynskiy 490655ae97 Update SA pin to 4.7; update requirements files
Also unpin requirement in packages
2021-05-18 19:00:55 -04:00
Sergey Golitsynskiy 46c2e1957b Fix rebase error: add missing dep to packages 2021-05-18 19:00:55 -04:00
Sergey Golitsynskiy fa20de7692 Remove sqlalchemy-utils from packages 2021-05-18 19:00:55 -04:00
Sergey Golitsynskiy a9868971a8 Update SQLAlchemy pin for packages to >=1.4.5 2021-05-18 19:00:55 -04:00
Nicola Soranzo 99da99becf Merge branch 'release_21.05' into dev 2021-05-06 12:50:20 +01:00
Nicola Soranzo 65ea55bb02 Merge branch 'release_21.01' into release_21.05 2021-05-06 11:45:26 +01:00
Nicola Soranzo fa58f37f28 Merge branch 'release_20.09' into release_21.01 2021-05-06 11:39:48 +01:00
mvdbeek 07fb59937e Update version to 21.09.dev0 2021-05-05 21:48:01 +02:00
mvdbeek 40795140d9 Update version to 21.05.rc1 2021-05-05 21:30:54 +02:00
mvdbeek 17adb6aa1a Pin data package requirement 2021-04-08 09:53:54 +02:00
qiagu 56f715c59d Merge branch 'dev' into ometiff2_new 2021-04-07 10:45:40 -07:00
John Chilton 071456f891 Merge pull request #11220 from gregvonkuster/mrcfile
Add mrc datatype (and Python dependency)
2021-04-07 09:45:32 -04:00
Nate Coraor f6fdc66e23 Move all galaxy.datatypes.* modules to the galaxy-data package. 2021-04-05 12:02:08 -04:00
Nate Coraor a857929af5 Move all galaxy.model.* modules to the galaxy-data package. 2021-04-05 11:48:14 -04:00
Nate Coraor 44e59e9665 Include galaxy.model.view in galaxy-data package. 2021-04-02 13:21:13 -04:00
Nate Coraor 72caae0ab5 Include galaxy.model.dataset_collections.types in galaxy-data package. 2021-04-02 13:19:12 -04:00
Sergey Golitsynskiy 7fa062f30c Pin sqlalchemy in package requirements files 2021-03-17 12:12:35 +01:00
qiagu 5686c368f6 Update tifffile version 2021-03-16 22:28:58 -07:00
Sergey Golitsynskiy 2f0a024915 Pin sqlalchemy in package requirements files 2021-03-16 13:55:21 -04:00
Nate Coraor d4431511d5 Version 20.9.1 of data (tag galaxy-data-20.9.1). 2021-03-02 09:03:22 -05:00
mvdbeek 61df313fb6 Add contextvars to data package requirement 2021-02-21 21:20:07 +01:00
Nate Coraor 7a15718861 Merge remote-tracking branch 'upstream/release_21.01' into dev 2021-02-16 21:59:52 -05:00
mvdbeek f978800d69 Revert sqlalchemy-json work for now
I'm still seeing errors in some places, and just changing everything to
SimpleJSON seems a bit risky at this point.
We'll have to live with
```
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/datatypes/registry.py", line 590, in change_datatype
    data.init_meta(copy_from=data)
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/model/__init__.py", line 2783, in init_meta
    return self.datatype.init_meta(self, copy_from=copy_from)
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/datatypes/data.py", line 171, in init_meta
    dataset.metadata = copy_from.metadata
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/model/__init__.py", line 2705, in set_metadata
    self._metadata = self.metadata.make_dict_copy(bunch)
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/model/metadata.py", line 161, in make_dict_copy
    rval[key] = self.spec[key].param.make_copy(value, target_context=self, source_context=to_copy)
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/model/metadata.py", line 281, in make_copy
    return copy.deepcopy(value)
  File "/cvmfs/main.galaxyproject.org/deps/_conda/envs/_galaxy_/lib/python3.6/copy.py", line 161, in deepcopy
    y = copier(memo)
  File "/cvmfs/main.galaxyproject.org/galaxy/lib/galaxy/model/custom_types.py", line 232, in __deepcopy__
    return MutationList(MutationObj.coerce(self._key, copy.deepcopy(self[:])))
AttributeError: 'MutationList' object has no attribute '_key'
```
for now.
2021-02-13 16:09:10 +01:00
mvdbeek f751811761 Merge branch 'release_21.01' into dev 2021-02-09 16:21:04 +01:00
Greg Von Kuster 7b290aa6b5 Fix location of mrcfile requirement 2021-02-08 15:55:08 -05:00
mvdbeek bd42c76120 Fix coercion error by switching to sqlalchemy-json
I was going back and forth between sqlalchemy-json and
sqlalchemy-mutable. sqlalchemy-mutable is more lenient with JSON
primitive values being set on a mutable field, so I preferred that.
However we're seeing
```
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/__init__.py", line 1649, in handle_single_execution
    rval = self.execute(
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/__init__.py", line 1747, in execute
    return self.tool_action.execute(self, trans, incoming=incoming, set_output_hid=set_output_hid, history=history, **kwargs)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/actions/__init__.py", line 529, in execute
    handle_output(name, output)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/actions/__init__.py", line 442, in handle_output
    data.init_meta(copy_from=metadata_source)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/model/__init__.py", line 2897, in init_meta
    return self.datatype.init_meta(self, copy_from=copy_from)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/datatypes/data.py", line 181, in init_meta
    dataset.metadata = copy_from.metadata
  File "/Users/mvandenb/src/galaxy/lib/galaxy/model/__init__.py", line 2808, in set_metadata
    self._metadata = self.metadata.make_dict_copy(bunch)
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 272, in __set__
    self.impl.set(
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 865, in set
    value = self.fire_replace_event(
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 873, in fire_replace_event
    value = fn(
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.8/site-packages/sqlalchemy/ext/mutable.py", line 483, in set_
    value = cls.coerce(key, value)
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 280, in coerce
    converted_obj = cls._convert(obj)
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 317, in _convert
    return tracked_type(obj, root)
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable_dict.py", line 80, in __init__
    super().__init__(self._convert_mapping(source))
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 342, in _convert_mapping
    return {
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 343, in <dictcomp>
    key: self._convert_item(item) for key, item in mapping.items()
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 334, in _convert_item
    return self._convert(item, self.root)
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 319, in _convert
    obj.root = root
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 431, in __setattr__
    return super().__setattr__(name, obj)
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 390, in root
    for child in self._tracked_children:
  File "/Users/mvandenb/src/sqlalchemy-mutable/sqlalchemy_mutable/mutable.py", line 398, in _tracked_children
    self.__getattribute__(name) for name in self._tracked_attr_names
AttributeError: 'MutableList' object has no attribute '_tracked_attr_names'
```
with jobs that are started on before 20.09 and that finish on 21.01.
sqlalchemy-json doesn't have that problem.
2021-02-08 20:05:55 +01:00
mvdbeek dd7aa6ec38 Merge branch 'release_21.01' into dev 2021-02-08 16:01:53 +01:00
mvdbeek 462861299a Revert "Switch to simpler sqlalchemy-json"
This reverts commit fee1fd34cb9fae37c5cff4214f849b5af3c70283.
2021-02-04 20:41:21 +01:00
mvdbeek c17b02ed8c Switch to simpler sqlalchemy-json
sqlalchemy-mutable subclasses types, and not all libraries handle this
well (we would need to add CoercedBool isinstance check to the json
encoder), and pyyaml doesn't work with subclassed built-in types at all.
2021-02-04 20:41:21 +01:00