Python 2 EOL Report Card — Is The Industry Ready?

Python 2 EOL Survey Report

ActiveState surveyed >1200 developers at the end of 2019 to better understand their plans for Python 2’s impending End Of Life (EOL). The results are now in, and have been compiled into a synopsized report that’s currently available for download. If you haven’t started to deal with the EOL issue yet, you’re not alone. The report can help you:

  • Gauge where your EOL efforts stand relative to your peers
  • Plan for migration to Python 3
  • Understand your options if your migration efforts are blocked

This blog post will dive into a few more details, and give you some insight as to whether or not the industry as a whole is ready for the transition.

Python 2 EOL? Why Worry?

In fact, Python users as a whole seem to be pretty unfazed. Take the most popular Python package by downloads, for example: urllib3. According to pypistats.org, the trend is toward less downloads of the Python 2 version than the Python 3 version post-EOL, but on some days downloads are split roughly 50/50:

Downloads of urllib3
Downloads of urllib3
Figure 1: Source = https://pypistats.org/packages/urllib3

This is reflected in ActiveState’s survey, which found that:

  • 53% of respondents either have no EOL plan at all, or are unsure their organization has a plan in place.
  • 50% of respondents feel somewhat prepared, or else have yet to start preparing for EOL.

So what’s the big deal?

The Real Issues With Python 2 EOL

As a result, each organization needs to evaluate the risk for themselves. Some will feel it’s necessary to deal with the EOL fallout sooner rather than later. In fact, our survey shows that most respondents have already stopped developing new Python 2 applications in favor of Python 3:

Figure 2: How Many of Your Python Apps are Python 2?

But that still leaves more than one third of organizations with a sizeable liability on their hands.

Where Does The Industry Go From Here?

Despite the costs, 66% of survey respondents are either currently migrating their Python 2 applications to Python 3, planning to do so, or have already done so. In fact, pypistats.org currently lists a migration library called six (which enables Python 2 code to work on both Python 2 and Python 3), as the second most downloaded package for the past day, week and month:

While six is a key tool, it doesn’t solve all the migration issues organizations are likely to face, which include:

Figure 3: Respondents checked all issues that applied

Finding replacement packages was cited as the top concern in our survey. For example, some respondents reported a dependency on a commercial package that had yet to provide support for Python 3 as the key blocker in their migration efforts. Others are still in the process of ramping up their skills and preparing key systems, like test suites.

But with only 3% of respondents indicating that they’ve completed their migration efforts by the close date of our survey (November 30, 2019), the industry still has a long way to go. It’s no wonder that one of their key concerns is the need to continue supporting their Python 2 applications until their migration effort is complete.

Python 2 Support Beyond EOL

To learn more about ActiveState and our efforts around Python 2 EOL, you can:

With 25+ years in software, I’ve had my share of both crossing and falling into the chasm. I’m currently the Product marketing Mgr at ActiveState Software.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store