Repository navigation
MNT: Bump minversion of Python to 3.7 (also Scipy, PyYAML, Matplotlib) - #10900
Conversation
| # In addition to testing 32-bit, we also use the 3.6 and 3.7 builds to | ||
| # In addition to testing 32-bit, we also use the 3.7 builds to | ||
| # test the ability to run the test suite in parallel. | ||
| - run: |
There was a problem hiding this comment.
@astrofrog , is it okay to remove this, or do I have to replace it with 3.8?
There was a problem hiding this comment.
I would guess it's OK to ditch it.
Unless there have been any cases where the 3.7 parallel failed but the 3.6 parallel or 3.7 non parallel not, which seems rather unprobable.
mhvk
left a comment
There was a problem hiding this comment.
Looks good to me! I'll approve though good if @astrofrog can confim the circle-ci change.
astrofrog
left a comment
There was a problem hiding this comment.
Looks good to me - I assume we need to wait for APE 18 to be approved right? Or is there any urgency in getting this in 4.2?
|
Would be good to clear APE18 for 4.2 anyway tbh, it seems pretty uncontroversial. |
|
Re: urgency -- No clear urgency except that #10888 really wants in for 4.2. 🤷 |
|
I think we can't accept this until astropy/astropy-APEs#63 is accepted (or not do it if it isn't). But I for one have no objection towards saying this (and #10888 in consequence) are something that in principle should have been ready but are awaiting the APE and therefore can go in a post-freeze backport (do @taldcroft and/or @astrofrog agree?) |
|
(And I agree the APE doesn't seem controversial, I just don't want to have to deal with that as a blocker to feature freeze) |
|
I suggest to follow the pre-APE procedure here, there is no benefit of holding this up. There is a wide support for this already amongst the maintainers and no objections so far, which is along with the previous approach. IMO getting this on the branch as soon as there is a branch is useful, and nothing like this should be hold back for backport to ensure downstream is testing this as much as possible (I think it's already quite late in the dev cycle to get these kinds of cleanups in, ideally these should happen in the middle of the cycle, just as the drop for numpy 1.16 happened earlier (which also didn't required the APE to be accepted)). |
|
There is certainly precedent for what @bsipocz suggests - APE 9 on timeseries! (not yet accepted). It's true that there haven't been any objections so it looks pretty certain it will be accepted and we might just refine some of the wording at most. |
|
Thanks for the support! Still need @taldcroft or @mhvk to comment on the |
|
@astrofrog , how do I fix that |
|
some weird travis failures, I wonder maybe those got fixed since this was rebased? Would you mind a new rebase? |
|
Rebased, but still not sure how to fix the problem with CircleCI pulling down Python 3.6 Docker images. |
|
We might have to also bump minversion of scipy here (currently 0.18): |
|
OK, so having the minimum python version bumped also means that we need to bump the version of other dependencies, otherwise they are in contradiction, no being compatible with python 3.7. This means:
If this is all right with you, then I'll come back and clean up the commits/etc here. |
|
Thanks for taking this over, @bsipocz ! It's all fine by me, as long as others are okay with this. I also see a parallel discussion over at the APE proposal, but I haven't seen any objections. If you don't get to the clean-ups, I will on Monday. Just a note on what is to be done:
|
| oldestdeps: asdf==2.6.* | ||
| oldestdeps: scipy==0.18.* | ||
| oldestdeps: pyyaml==3.12 | ||
| oldestdeps: scipy==1.1.* |
There was a problem hiding this comment.
We list scipy>1.0 above, so should this be 1.0.*?
There was a problem hiding this comment.
This is the list that we'll have, all the other places will have to be updated. I would do it once the concept of bumping stuff gets the green light as per #10900 (comment)
There was a problem hiding this comment.
Makes sense; green light from me!
| @@ -82,8 +82,8 @@ docs = | |||
| sphinx-astropy>=1.3 | |||
| pytest | |||
| PyYAML>=3.12 | |||
There was a problem hiding this comment.
In tox.ini, pyyaml was also changed to >=3.13
|
Bumping the minimum version of those dependencies seems sensible to me! |
I am a bit confused by the logic, shouldn't the minimum version be determined by the maximum Python version we are running on (e.g. if we officially support python 3.9, the minimum package version to support that)? |
b850a99 to
3a9b0d2
Compare
|
This is finally all green, so I'm merging for the sake of being able to proceed with branching. The "what" is very much agreed to, all over, if there is any issues in the "how", please open follow-up PRs that will/can possibly be backported. |
|
Thanks, @bsipocz ! |
|
And thank you, @pllim! |
|
I think for the doc build we need This is due to use of deprecated interfaces in |
Probably, but I don't know what is the policy to have minversion for matplotlib to build docs higher than official required version. Seems a bit excessive to bump required version for the whole package to 3.1 just for the docs. What do you think, people? |
|
It would resolve #10954 as well, though that is only about an unexpected warning and could also be easily fixed without the version bump. |
|
How the mpl version didn't cause an issue for the docs before? |
|
RTD picks up latest releases from PyPI, I think. (Its log is a bit of a mess, but if you scroll half way down, you can see that it gets the latest releases.) So, we probably missed that problematic combo by luck. We don't have exhaustive matrix for doc builds. As for #10954 , not sure why it didn't pop up over at CircleCI image tests. (Ah, okay, right, we don't test against Python 3.9 yet, never mind.) |
|
Agreed that we should not bump versions of optional dependencies just for a doc build. So, would it be fine to just leave it as is? (Or at a line to the matplotlib requirement in the documentation noting that with matplotlib 3.0 the docs cannot be build?) |
Description
This pull request is to bump minversion of Python to 3.7 as proposed in astropy/astropy-APEs#63 . Also see astropy/astropy-APEs#62 . Open up exciting possibility like #10888 , annotations stuff, module level
__getattr__, among other things...cc @astropy/devops-maintainers @astropy/coordinators
TODO