Who's on Python 3?

Frequently Asked Questions

Why make this site (e.g. Python 3 Wall of Shame already existed)?

I care about seeing Python 3 succeed and pushing against the FUD that some spread about the lack of Python 3 uptake since I am on the Python development team. That means I am willing to put in more time and effort into manually updating information than others. I am also willing to put up a little bit of my own money to make sure this web site updates on a daily basis so as to always have the freshest data possible.

Where is the source code for the web site?

http://bcannon.googlecode.com/hg/sites/py3ksupport-hrd/

How do I report an error?

You can send me a message through my Google profile.

What do the various classifications of support mean (e.g. NO vs. UNDER DEVELOPMENT vs. YES)?

YES
A released version of the project supports a version of Python 3 or there is a fork that supports Python 3.
UNDER DEVELOPMENT
The project is actively working on Python 3 support. If support was started and has subsequently stalled then the project does not receive this classification.
NO
Either the project explicitly states it supports Python 2 w/o specifying Python 3 support, or a search could not find any proof that Python 3 support exists.
UNKNOWN
The project does not explicitly state Python 2 or Python 3 support and no search has been performed to find out what the actual situation is.

Why is there a percentage range of Python 3 support listed?

The low-end of the percentage range only counts projects that have released a version of their project with Python 3 support. The high-end counts projects that have Python 3 support in development.

What does the colour of the header for the "On Python 3?" column represent?

It's a visualization of the percentage range of projects supporting Python 3. Projects that have Python 3 support under development only count as 0.5 of a project. And yes, I realize the colour-blind might not see much of the colour, but the same information is shown as a percentage and the list is right there so no one is being excluded.

What does the metadata rating mean?

★ ★ ★ ★ ★
The project has trove classifiers for specific versions of Python, e.g. Programming Language :: Python :: 3.2. This is great for this website as it's easy to tell whether the project supports Python 2 or 3, and it's great for users as they know if they can use the project based on the version of Python that they are using.
★ ★ ★ ★
The project specifies either Programming Language :: Python :: 2 or Programming Language :: Python :: 3. That is enough to know whether the project supports Python 2 or 3, but not enough to know exactly which versions.
★ ★ ★
While the project specifies no trove classifiers for what versions of Python it supports, at least one file for the project specifies a Python version that it requires. As I can infer from that Python 3 support it's better than nothing.
★ ★
While the project has NO metadata specifying 2/3 support, at least it specifies a framework it depends on, so users at least have bounds of what versions of Python the project supports (since it can't support versions that the framework it depends on doesn't support). But I still had to manually search the Internet to check for Python 3 support.
The project's metadata contains NO information that I or any user can use to figure out if it supports Python 2 or Python 3. I had to manually search the Internet to find out if the project supports Python 2 or Python 3.

Any way to see what the rate of Python 3 uptake on PyPI?

Georg Brandl has a chart that shows the number of projects over time that specify Python 3 support in their trove classifier. Unfortunately because it requires project owners to set the proper trove classifier it is not highly accurate, but should give a good trend indicator of Python 3 support in the community.

How can I, as an owner of a project on PyPI, make your life easier (i.e. what are trove classifiers)?

Set your trove classifiers for what versions of Python you support, please! Even if you only specify Python 2 support it helps me out.

How can I help even if I don't run a project on PyPI?

You can check to see if any project that has been flagged as not supporting Python 3 manually (i.e. metadata rating is 2 stars or less) is actually now supporting Python 3 or it at least is under development. Otherwise if a project has 3 stars or more for its metadata you can check if the project is actively developing Python 3 support. If you find out any project is mis-marked, then contact me.