-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Remove support for end-of-life Python 2.7 #1318
Conversation
Few PRs would make me happier to merge. I'm jealous that Django and other major Python packages have already made this change. Sadly, https://pypistats.org/packages/redis shows that Python 2 clients are downloading the redis-py package anywhere between 20% and 50% depending on the day. And I know some of the Redis Labs folks are still using Python 2 internally. I think the best course of action is to pick a date in the future and announce that Python 2 will no longer be supported after that date. Perhaps July 1 2020? That gives everyone about 3 months to port or accept that they won't be getting any new features. @itamarhaber @RoeyPrat thoughts? |
Thanks @andymccurdy That plans makes sense to me. |
Codecov Report
@@ Coverage Diff @@
## master #1318 +/- ##
==========================================
+ Coverage 92.87% 93.06% +0.18%
==========================================
Files 20 19 -1
Lines 6543 6375 -168
==========================================
- Hits 6077 5933 -144
+ Misses 466 442 -24
Continue to review full report at Codecov.
|
Announced today that Python 3.5.x will be the last release that supports Python 2. We'll support bug fixes and security patches in the 3.5.x line through the end of July 2020. redis-py 4.x (the next version) will be Python 3 only. I'll merge this into master soon and we'll back port any bug fixes/security patches to the 3.5.0 branch. |
Python 2.7 is end of life. It is no longer receiving bug fixes, including for security issues. Python 2.7 went EOL on 2020-01-01. For additional details on support Python versions, see: Supported: https://devguide.python.org/#status-of-python-branches EOL: https://devguide.python.org/devcycle/#end-of-life-branches Removing support for EOL Pythons will reduce testing and maintenance resources while allowing the library to move towards a modern Python 3 style. Python 2.7 users can continue to use the previous version of redis-py. Was able to simplify the code: - Removed redis._compat module - Removed __future__ imports - Removed object from class definition (all classes are new style) - Removed long (Python 3 unified numeric types) - Removed deprecated __nonzero__ method - Use simpler Python 3 super() syntax - Use unified OSError exception - Use yield from syntax
Codecov Report
@@ Coverage Diff @@
## master #1318 +/- ##
==========================================
+ Coverage 85.48% 85.50% +0.02%
==========================================
Files 7 6 -1
Lines 3017 2863 -154
==========================================
- Hits 2579 2448 -131
+ Misses 438 415 -23
Continue to review full report at Codecov.
|
Pull Request check-list
Please make sure to review and check all of these items:
$ tox
pass with this change (including linting)?NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.
Description of change
Python 2.7 is end of life. It is no longer receiving bug fixes, including for security issues. Python 2.7 went EOL on 2020-01-01. For additional details on support Python versions, see:
Supported: https://devguide.python.org/#status-of-python-branches
EOL: https://devguide.python.org/devcycle/#end-of-life-branches
Removing support for EOL Pythons will reduce testing and maintenance resources while allowing the library to move towards a modern Python 3 style. Python 2.7 users can continue to use the previous version of redis-py.
Was able to simplify the code: