-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dropping legacy python support #1186
Comments
👍 to making 0.18 the last Python 2.7 release. I’d love to get that out the door (depending on the amount of fixes/features done) in the Spring/Summer 2019 timeframe. |
I'm definitely happy to see this happen at some point, especially given Matplotlib already did so. I would guess we'd like to get the fancy gridline labelling in before making the split at least. |
Here's the pip installs for Cartopy from PyPI for last month, showing low numbers for Python 2:
Source:
Source: |
That seemed high to me initially, but turns out it's better than Matplotlib, which is already Py3-only (though there's still a bugfix branch with Py2 support):
|
Here's Matplotlib over time: |
Matplotlib going 3.x only biases download numbers, since all downloads due to upgrades (not new setups) will be Python 3 only now. |
Please see PR #1237. |
Another reason:
|
Please see PR #1540. |
We are suffering from lots of small cuts by supporting Python 2 in cartopy. As far as I can tell, none of the developers reach for py2 over py3 and this means that we are always doubling-back to ensure compatibility.
Some of the things that we are really missing out on:
super()
without arguments (happened this morning in Moved the nightshade implementation into a feature. #1181).py
files (happened this morning in Add Equal Earth projection #1182)def func(*, kw_only=blah)
) (happened yesterday in handling kwarg API breakage vs consistent ordering of code: https://github.com/SciTools/cartopy/pull/1180/files#diff-6dfcada343269e6678a777c4f9a5223dR1757)The time has come to put to writing the date of a final release with python 2 support. Frankly, it isn't a sustainable model to claim that an older release will be the final "supported" python 2 release - once we make the decision, there should be no further maintenance of a py2 branch. Users can still install old versions, but as will other old releases, that would be under no expectation of maintenance / bug-fixes / support.
I'm not yet convinced that v0.17 is that release (happening this week), but I could very easily see it as the penultimate release with py2 support (thus making
v0.18
/v1.0
the magic number). If that is what we want, it would be great to get that message out in the v0.17 release notes.At the moment, this isn't a tangible proposal - I just want to start the ball rolling.
The text was updated successfully, but these errors were encountered: