In October we shared data on which versions of Ruby and Node.js developers use to get the job done. Next up is a report on Python, for which the main question is binary — is it Python 2 or 3 that developers use at work today?

Python 3.0 final was released almost 8 years ago, in December 2008. And while some have predicted that it will take 5 years for Python 3 to become the default choice, that didn’t really happen, as over 70% of ongoing private projects is based on Python 2.7, the last 2.x version released in July 2010.

If we zoom in on the projects which have been added on Semaphore in 2016 — in practice most of them are newly started — the data is almost the same, showing that 2.7 is the default choice of the majority.

If we compare to other language communities where new versions are adopted much faster, it seems that for most people the language improvements in Python 3 did not outweigh the inconvenience of incompatibility. So it’s “if it ain’t broke, don’t fix it“.

Semaphore CI/CD provides Python versions 2.6, 2.7, 3.3, 3.4 and 3.5 preinstalled on the platform. Most new projects on 3.x are based on the latest version, 3.5:

This is our first annual report on Python, so next year we’ll be able to observe changes over time.

What are your thoughts on working with different Python versions? Post your comments below.