WRT specifically pip and that topic of dropping Python 2 support, if users are using an old version of pip w/ Python 2, it does not matter if we maintain support for Python 2 in the latest pip. Based on this logic, I figured it might help to see what the numbers look like, for downloads from PyPI, by Python version, using pip >= 10.0, in the past 10 weeks. Here they are:
Python Version |
Downloads |
2.7 |
1635783600 |
3.6 |
1287708367 |
3.7 |
611274139 |
3.5 |
434399441 |
3.4 |
41893671 |
3.8 |
1902828 |
3.9 |
59118 |
3.3 |
21658 |
2.8 |
200 |
2.7rc1 |
1 |
3.10 |
1 |
I don’t know why there’s 1 download, from the future, with 3.10. 
Python 2.7 is ~40.75% of the downloads (and the most downloads for single version), for pip versions released in the past 2 years.
I’ve compiled these numbers, from week-wise data that I queried, from BigQuery. The query is:
SELECT
STRFTIME_UTC_USEC(timestamp, "%Y-%W") AS year_week,
details.installer.version,
REGEXP_EXTRACT(details.python, r"^([^\.]+\.[^\.]+)") AS python_version,
COUNT(*) AS count
FROM
TABLE_DATE_RANGE(
[the-psf:pypi.downloads],
DATE_ADD(CURRENT_TIMESTAMP(), -11, "week"),
DATE_ADD(CURRENT_TIMESTAMP(), -1, "week")
)
WHERE
details.installer.name = "pip" AND
details.installer.version LIKE "1_.%"
GROUP BY
year_week,
details.installer.version,
python_version
ORDER BY
year_week DESC,
count DESC
The result I got, is at: https://pastebin.com/pUJvysHq.
@methane (super) helpfully figured out that AWS had a script that was downgrading to an old version (6.1.1, via <7.0.0) of pip, which was skewing our download numbers. That’s what prompted this idea.