Allow packages to declare their own upstream requirements
Currently all of the random non-IGWN requirements are bundled into upstream.yaml
without much context, which makes it hard to track why a package is needed, or by which dependent.
It might be feasible to add a dependencies
key to the IGWN-specific definitions under /packages/
to allow them to self-declare their own extra requirements, typically to support optional features, or testing, or similar.
For example:
package:
name: gwpy
version: 3.0.7
build_string: pyhd8ed1ab_0
dependencies:
# test extras
- pytest-freezegun
test:
pytest: --pyargs gwpy
This should allow streamlining upstream.yaml
to include only those system-wide extras that we want to support for multiple use cases. It should mean that pytest-freezegun
doesn't get forgotten if GWpy changes its test configuration, for example.