Exactly five years ago today Andrey Petrov and I made a bet about whether
“six
”, the compatibility shim for Python 2 and 3 APIs, would
still be in the top 20 daily downloads on PyPI. I said it would,
Andrey took the side against.
Well, today I can say that I've won the bet. When the bet
was placed, six
was #2 in terms of daily downloads
and today six
is #14.
Funnily enough, six
was still exactly #14 back in 2023:
“six is top 14 after 3 years, 2 years left, sounds like [Andrey] is winning”
-- Quentin Pradet (2023-07-09)
Completely unrelated to this bet, Hynek mentioned six
still being in the top 20 downloaded packages during his PyCon UK keynote.
six
itself isn't a library that many use on its own,
as at least 96% of six
downloads come from Python 3 versions. Instead,
this library is installed because other libraries depend on the library.
Here are the top packages that still depend on six
:
Package | Downloads / Day | Last Uploaded |
---|---|---|
python-dateutil | 22M | 2024-03-01 |
yandexcloud | 6M | 2025-09-22 |
azure-core | 4M | 2025-09-11 |
jedi | 2M | 2024-11-11 |
kubernetes | 2M | 2025-06-09 |
rfc3339-validator | 2M | 2021-05-12 |
google-pasta | 1M | 2020-03-13 |
confluent-kafka | 1M | 2025-08-18 |
oauth2client | 1M | 2018-09-07 |
ecdsa | 1M | 2025-03-13 |
These packages were found by querying my own dataset about PyPI:
SELECT packages.name, packages.downloads
FROM packages JOIN deps ON packages.name = deps.package_name
WHERE deps.dep_name = 'six'
GROUP BY packages.name
ORDER BY packages.downloads DESC
LIMIT 10;
Notice how a single popular library, python-dateutil
, keeping six
as a dependency was enough to carry me to victory.
Without python-dateutil
I likely would have lost this bet.
I also wanted to note the "last uploaded" dates, as some of the libraries
aren't uploaded frequently, potentially explaining why they still depend on six
.
“surely in 10 years, six won't be a thing. right? RIGHT?”
-- Andrey Petrov (2020-10-01)
We'll see! ;) Thanks to Benjamin Peterson for creating and maintaining six
.
Wow, you made it to the end! ...and you're thinking, what now?
- Share your thoughts on Mastodon, email, or Bluesky.
- Follow this blog on RSS or the email newsletter.
- Browse this blog’s archive of 141 entries.
- Check out this list of cool stuff I found on the internet.
- Go outside (best option)