-
-
Notifications
You must be signed in to change notification settings - Fork 689
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
Get ready for Python 2 EOL #739
Comments
Here's the pip installs for arrow from PyPI for November 2019:
Date range: 2019-11-01 - 2019-11-30 Source: Compare with some other projects: 24% is fairly low, and in itself shouldn't be an impediment to dropping. See also NEP 29, a recommendation for Scientific Python projects to support Python 3.6 and higher: If the DST upgrades aren't too far off, no problem in waiting a bit. But I wouldn't wait too long and it might be easier to do them having dropped 2.7. In general, I'd recommend dropping 2.7 sometime around the EOL date, having made one last release with whatever is unreleased. |
Thank you Hugo for the stats and analysis which is very helpful. I was a little suprised at the 24% still on 2.7 but it seems that is similar or below the usage for other major projects. We will probably release 0.15.5 before Christmas with a warning about Python 2 deprecation and drop support in 0.16.0 on a date to be determined in this issue. |
I don't know if we necessarily need to emit a warning about Python 2 deprecation because many people are aware that it is reaching EOL in Jan 2020 and it could end up bothering our Python 2 users (throwback to the 0.15.0 warnings). |
And pip has been warning for a long time. |
Could you emit a warning on install, instead of when running? |
I wasn't thinking of having a warning in the code, more a note in the 0.15.5 changelog about the upcoming deprecation. |
Would maybe dropping 2.7 support warrant a 1.0 release? |
Errrr maybe, arrow has been available for 7 years after all. The only thing is it adds some extra maintenance burden on me & Jad plus I was really hoping to get DST fixes in before 1.0.0. |
2 ¢ from a random stranger: Most of my projects did migrate to Python 3 a long time ago but there are (as always) still some important ones using Python 2 (pypy + some enterprise distributions will continue to support Python 2 for quite some time). It would be nice if you could keep Python 2 support unless the maintenance burden becomes too high (e.g. no travis support). |
@FelixSchwarz while it would be useful for some users, I personally don't want to have to keep thinking about Python 2. Ensuring compatibility and having to backport or miss out on new features in Python 3 all takes time. arrow 0.15.5 is pretty good, many of the longer standing bugs have been ironed out (bar DST) so the version (whatever that is) Python 2 users will be left with should be decent. Good luck with your projects, I hope you find a way to keep the ones on Python 2 going. |
Latest download data for April.
Date range: 2020-04-01 - 2020-04-30 |
After some internal discussions we have come up with the following plan. Python 2.7 and 3.5 will be dropped after 2020-09-13 (this is Python 3.5's eol date), this is simpler for us than cutting out 2.7 code only right now. Also the next version after this drop will be 1.0.0 🥳 |
Python 2.7 & 3.5 Deprecation Checklist
Breaking changes for v1.0.0
General Changes for v1.0.0
Issues related to Py27 and Py35 deprecations |
Excellent. I'm going to start at least some parts to prepare for this. |
May 2020 stats from
|
category | percent | downloads |
---|---|---|
3.7 | 33.23% | 817,458 |
3.6 | 29.29% | 720,332 |
2.7 | 18.88% | 464,420 |
3.5 | 9.39% | 231,028 |
3.8 | 8.14% | 200,139 |
null | 0.65% | 16,049 |
3.4 | 0.39% | 9,653 |
3.9 | 0.02% | 464 |
3.10 | 0.00% | 108 |
3.3 | 0.00% | 23 |
2.6 | 0.00% | 21 |
Total | 2,459,695 |
Date range: 2020-05-01 - 2020-05-31
Rough guide to version usage - https://libraries.io/pypi/arrow/usage |
@jadchaar @krisfremen stats for June.
Date range: 2020-06-01 - 2020-06-30 |
Stats for July.
Date range: 2020-07-01 - 2020-07-31 |
Python 2 is reaching EOL in 2020 (https://pythonclock.org/).
Me and @jadchaar have chatted about this before but haven't come to a decision yet. We'd hoped that the DST upgrades would be done before the EOL so Python 2.7 users would at least have access to those improvements. However due to being busy we've not had time to work on that.
An important factor in this decision will be how long travis-ci supports 2.7.
dateutil discussion - dateutil/dateutil#653
@hugovk do you have any thoughts or stats on Python 2.7 usage?
The text was updated successfully, but these errors were encountered: