spacetelescope / cubeviz

Data analysis package for cubes. https://cubeviz.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
15 stars 25 forks source link

v0.3 release dependencies #470

Closed brechmos-stsci closed 5 years ago

brechmos-stsci commented 5 years ago

As part of the v0.3 release and after some discussion about package dependencies with @drdavella we will need to come up with a set of minimum versions (or ranges) for cubeviz dependencies. Then the following files will have to be updated based on the decisions.

Packages and versions to consider:

The above dependencies will need to be checked with Joe to make sure they are available in the astroconda release, too. Once they are decided then the above files will need to be updated.

brechmos-stsci commented 5 years ago

I did a quick check and anaconda has gluecore 0.14.1 in it, so we should be good to use Anaconda as the distribution.

In the past we needed a quick release from @astrofrog that did not get up onto Anaconda for weeks which is why we had to go use glueviz conda channel. So, at least on that package, we are good with Anaconda.

astrofrog commented 5 years ago

Just a quick note that unless I manage to fix compatibility with the developer version of glue in time for this release, we should also preemptively pin glue-core to <0.15 at the upper end.

brechmos-stsci commented 5 years ago

@astrofrog That is the current plan. We are going to most likely have glue-core >= 0.13 and work only with released versions. There is a debate about pinning on the upper end, so that will be talked about in the next couple days. But thanks for the heads-up.

brechmos-stsci commented 5 years ago

After a discussion with @drdavella we settled in on this list of dependencies:

python >= 3.6
glue-core >= 0.13, <0.15
astropy ( specviz/specutils requires >= 3.1 but we aren't going to pin it) 
numpy (some dependencies require >= 1.13, but we don't have a dependency on it, so no pin)                                  
specviz >= 0.7
spectral-cube >= 0.4.2 (not 100% sure on this but given it is pre 1.0 release we'll leave this here)
matplotlib
pyqt5
qtpy
pyyaml
scipy

I am going to create a PR to update setup.cfg and tox.ini (if needed) and then confirm the package version requirements are all in astroconda or anaconda.

brechmos-stsci commented 5 years ago

Anaconda has: glue-core 0.14.1 on anaconda/glue-core

all the others should be fine as we don't require anything super new for matplotlib etc etc

spectral-cube is not in anaconda but is in astroconda. In astroconda it is 0.4.3 so we are good there. specutils is not in anaconda but is in astroconda. In astroconda it is 0.5.1 which should be good.

specviz will have to be updated in astroconda when it is released

So, we should be good for all our dependencies for conda-ish stuff (once specviz is updated in astroconda).

hcferguson commented 5 years ago

Just so I understand the implications here....when something is set to >= XX does this imply that we are regression-testing with XX and with the current development version (e.g. Astropy GitHub master?).

brechmos-stsci commented 5 years ago

The ones above are the install dependencies. The tox testing matrix that @drdavella setup has it testing against the latest released version and the dev versions of some packages (e.g., astropy, numpy). But the tests against the dev versions are allowed to fail.

So, I guess the question is whether we test against XX, latest release, and dev version. I would have to look through the tox env (or ask @drdavella) about the test against XX if XX is not the latest release.

astrofrog commented 5 years ago

I think we'd need to explicitly say that we want to test against the oldest compatible version, otherwise it will test against the latest stable version. See https://github.com/spacetelescope/cubeviz/issues/489 for a suggestion of making a 'legacy' configuration.

brechmos-stsci commented 5 years ago

@astrofrog Yeah, that's what I meant, maybe just wasn't clear.

drdavella commented 5 years ago

Closing since this is overcome by #477 (which updated the specviz dependency) and #516 (which makes cubeviz entirely pip-installable).

PR #524 updates our CI test matrix to make sure we are testing against Py37 (which is possible now thanks to #477), and also removes some previously allowed failures.