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!
- Share your thoughts with me on Mastodon, email, or Bluesky.
- Browse this blog’s archive of 153 entries.
- Check out this list of cool stuff I found on the internet.
- Follow this blog on RSS or the email newsletter.
- Go outside (best option)