Drop support for Python < 2.7.9
See original GitHub issueOlder versions of Python 2.7 (prior to 2.7.9) don’t have the capability to have a good TLS configuration, and thus it would be great to drop support for them. We’re not currently at the point that we can do that, but I wanted to open this issue to both track that we should do that at some point, and also take notes about the current state and how to query in the future.
Results:
Python Version | Download Count | Percent |
---|---|---|
>=2.7.9 | 268456729 | 53% |
<2.7.9 | 155669164 | 31% |
3.5 | 35605564 | 7% |
3.4 | 23114420 | 5% |
2.6 | 13023950 | 3% |
3.6 | 11948118 | 2% |
3.3 | 1278506 | 0.3% |
3.7 | 231670 | 0.05% |
The results can be queried with:
SELECT
CASE
WHEN REGEXP_MATCH(details.python, r"2\.7\.(9|\d\d)") THEN '>=2.7.9'
WHEN REGEXP_MATCH(details.python, r"2\.7\.") THEN '<2.7.9'
ELSE REGEXP_EXTRACT(details.python, r"^([^\.]+\.[^\.]+)")
END AS python_version,
COUNT(*) AS download_count,
FROM
TABLE_DATE_RANGE( [the-psf:pypi.downloads], DATE_ADD(CURRENT_TIMESTAMP(), -31, "day"), DATE_ADD(CURRENT_TIMESTAMP(), -1, "day") )
WHERE
details.installer.name = 'pip'
GROUP BY
python_version,
ORDER BY
download_count DESC
LIMIT
100
Issue Analytics
- State:
- Created 7 years ago
- Reactions:4
- Comments:34 (33 by maintainers)
Top Results From Across the Web
Python Release Python 2.7.9
Version Operating System Description MD5 Sum
Gzipped source tarball Source release 5eebcaa...
XZ compressed source tarball Source release 38d530f...
Mac OS X 32‑bit i386/PPC installer macOS...
Read more >Announcing end of support for Python 2.7 in AWS Lambda
On July 15, 2021, AWS Lambda will deprecate Python 2.7 as a supported runtime, formally ending our Python 2.7 support.
Read more >How is Python 2 supported in RHEL after 2020?
Python 2 is not distributed with RHEL 9 and not planned for any future RHEL releases. pip and PyPI. A large part of...
Read more >End of support for python 2.7? - Stack Overflow
As of early 2018 the drop-dead date has been specified more closely: It's now January 1st 2020. When distributions with change "python" to...
Read more >How to Update Python 2 to Python 3 - The Couchbase Blog
“DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
For some reason GitHub gives me a 500 error on #7362, so I can’t see the close reason.
Anyway, do you think this should be swept into the general Python 2.7.* removals after pip 20.3 is released in October 2020?
https://github.com/pypa/pip/issues/6148#issuecomment-616213532
If so, close this?
@nicktimko I think the biggest thing is just simply reducing the surface area of support we have. Generally we decide this on an X.Y basis, because that draws the cleanest lines around major changes. However, due to 2.7’s age, 2.7.9 is a bit of a special case in that it introduced a backported ssl module from Python 3.
This work would effectively allow us to better take advantage on the capabilities of that back ported SSL module, for instance we can use the configuration settings so that pip itself will not function with older versions of TLS, we can possibly start relying on the platform trust stores in more situations, etc.
But really the biggest thing is narrowing the supported configurations.
To @pradyunsg I think sub 5% is a perfectly fine point to drop support for older versions of 2.7.