so we will be able to drop Python 3.7 support for the rest of the code base.
Add a new `test_galaxy_packages_for_pulsar` tox environment and modify the
`test.sh` script so that when the `--for-pulsar` argument is passed:
- only the 4 packages used by Pulsar are tested
- mypy checks are skipped
- unit tests don't skip the tests marked with
`external_dependency_management` (i.e. those conda/container-related).
Also:
- Add missing pydantic requirement to the galaxy-objectstore package
Otherwise alembic/env.py gets executed out of context at test collection
stage (via tox -e unit >> run_tests.sh), which raises an AttributeError
(alembic.context is not set in this case).
Same solution as in 3be1f6fef3
Also minor reformat.
That was a lazy shortcut on my part and should have never happened.
This resolves that and also another task on my todo list of making an easily pip installable, lightweight way of getting access to the tours validation script at the same time by restructuring packages and cleaning up the dependency structure.
The navigation piece of galaxy-selenium has been split out of into its own package and tours now depend on that directly. In order to have that lightweight access to the tour validation code - tours have also been split out of app. This will also encourage that package to continue to be decoupled nicely from the larger galaxy-app package.
Otherwise alembic/env.py gets executed out of context at test collection
stage (via tox -e unit >> run_tests.sh), which raises an AttributeError
(alembic.context is not set in this case)
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)
- 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 the following error when running `tox -e test_galaxy_packages` on
Python 3.5:
```
ERROR: Could not find a version that satisfies the requirement networkx==2.5 (from isa-rwval->galaxy-data==20.9.1.dev0) (from versions: 0.34, 0.35, 0.35.1, 0.36, 0.37, 0.99, 1.0rc1, 1.0, 1.0.1, 1.1, 1.2rc1, 1.2, 1.3rc1, 1.3, 1.4rc1, 1.4, 1.5rc1, 1.5, 1.6rc1, 1.6, 1.7rc1, 1.7, 1.8rc1, 1.8, 1.8.1, 1.9rc1, 1.9, 1.9.1, 1.10rc2, 1.10, 1.11rc1, 1.11rc2, 1.11, 2.0, 2.1, 2.2rc1, 2.2, 2.3rc3, 2.3rc4, 2.3, 2.4rc1, 2.4rc2, 2.4)
ERROR: No matching distribution found for networkx==2.5 (from isa-rwval->galaxy-data==20.9.1.dev0)
WARNING: You are using pip version 20.2.2; however, version 20.3.4 is available.
You should consider upgrading via the '/tmp/gxpkgtestenviQxuK1/bin/python -m pip install --upgrade pip' command.
ERROR: InvocationError for command /bin/bash packages/test.sh (exited with code 1)
___________________________________ summary ____________________________________
ERROR: test_galaxy_packages: commands failed
```