+

Winning a bet about “six”, the Python 2 compatibility shim

Seth Larson @ 2025-10-01

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?

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载