When The __future__ Becomes The Present; Dropping Python 2 Support In A Commercial Client

A presentation at PyCon Nove in in Florence, Metropolitan City of Florence, Italy by Aaron Bassett

Nexmo recently decided to refactor our Python client library to be Python 3-only. Learn why we made this decision, the advantages (and disadvantages) that come along with it, and how we’re monitoring and helping our users with the migration.

Since Python 3.4, Python has jumped forward, adding many features that are not available in Python 2.7. Maintaining Python 2 compatibility means either avoiding these new language features or using backport libraries that provide an approximation. Neither provided the best experience for our users.

In this talk, we’ll also discuss how we support users of our legacy library, the benefits that the new library offers, and our experience of developing a customer-facing Python library with the latest Python language and core library.