Skip to main content

Why are there still so many downloads for EOL Python 3.7?

Python 3.7 was first released on 2018-06-27 and recently reached end-of-life on 2023-06-27 (PEP 537).

This means it is no longer receiving security updates and you should upgrade to a newer version (at least 3.8, but preferably 3.11):

Chart showing when different Python versions reached end-of-life

Source: Python Developer's Guide

However, if you look at download numbers from PyPI, 3.7 still accounts for a large share. 3.7 accounted for 25% of all downloads from PyPI in July 2023, compared with 27% for 3.8:

Python download share over time

Source: pypi-tools

But why does such an old Python version have so many downloads?

All downloads #

Let’s dig into the numbers using a handy tool called pypinfo, which helps us analyse the PyPI data from Google BigQuery.

This command fetches all of yesterday’s downloads per Python version:

pypinfo --days 1 --percent --markdown "" pyversion

Python versionpercentdownload count
3.825.00%189,678,872
3.723.35%177,150,010
3.920.25%153,663,903
3.1015.52%117,751,108
3.116.90%52,381,884
3.66.29%47,749,879
2.72.32%17,602,650
3.50.23%1,778,388
3.40.10%770,135
3.120.03%224,223
3.130.00%3,920
3.30.00%1,165
2.80.00%57
3.20.00%35
None0.00%3
Total758,756,232

All downloads by OS #

But what happens if we check which distros are responsible for those downloads?

This command gives us the top 20:

pypinfo --days 1 --limit 20 --percent --markdown "" system distro pyversion

system namedistro namePython versionpercentdownload count
LinuxUbuntu3.818.87%128,991,062
LinuxAmazon Linux3.714.44%98,738,952
LinuxUbuntu3.912.14%83,019,828
LinuxUbuntu3.109.66%66,019,309
LinuxUbuntu3.75.89%40,257,060
LinuxDebian GNU/Linux3.85.70%38,958,367
LinuxDebian GNU/Linux3.95.63%38,482,436
LinuxDebian GNU/Linux3.74.25%29,035,532
LinuxDebian GNU/Linux3.104.15%28,348,346
LinuxDebian GNU/Linux3.63.14%21,441,883
LinuxUbuntu3.113.01%20,570,619
LinuxDebian GNU/Linux3.112.72%18,588,584
LinuxAmazon Linux3.92.43%16,593,595
LinuxCentOS Linux3.61.70%11,605,142
LinuxAmazon Linux3.81.47%10,035,087
LinuxAmazon Linux3.101.46%9,969,514
LinuxUbuntu2.71.02%6,960,697
LinuxAmazon Linux AMI3.60.79%5,390,823
LinuxUbuntu3.60.79%5,388,370
WindowsNone3.100.76%5,227,519
Total683,622,725

We can see Ubuntu with 3.8 is responsible for the largest share of 17%. (That’s fine, 3.8 is supported until 2024-10-14.)

The next is Amazon Linux with 3.7, responsible for a whopping 15% of all downloads!

The others responsible for 3.7 have a much lower share: Ubuntu (6%) and Debian (4%).

Tip: replace "" in the commands above with a package name to get data for just that package, for example:

pypinfo --days 1 --limit 20 --percent --markdown requests system distro pyversion


Header photo: Space shuttle Discovery landing at Edwards Air Force Base, California, 9th December, 1992 (source: NASA on The Commons)