The Open edX Platform Prepares Its Upgrade into Python 3

IBL News | New York

The Open edX platform is immersed in a race against the clock to upgrade to Python 3, as Python 2 will be non-supported and deprecated at the end of 2019. Meaning, if someone finds a security problem in Python 2, it will not have the ability to be easily fixed.

The Python Software Foundation decided that January 1st of 2020 will be the day that it will sunset Python 2. Python 2 was released in 2000 and today there are improvements that Python 2 can’t handle.

A part of the upgrade of the Open edX platform corresponds to course authors. In this regard, the edX managing team has urged instructors who use Python Evaluated Input problems to immediately upgrade into Python 3.

Recently, edX outlined in this document how it plans to scope the problem, migrate the code, and work with the Open edX community to “ensure that the process is as painless as possible, and meets the needs of our stakeholders.”

The Open edX software is considered a large project, spanning many applications and GitHub repositories, with even more dependencies on third-party libraries.

“Thanks to helping from the community, we’re making good progress,” Ned Batchelder, Open edX Software Architect said. “The Python test suite for our main repository now runs under both Python 2 and Python 3.”

Another porting effort ahead points to Django, the framework extensively used on Open edX web applications. The current version 1.11 of Django is coming to its end soon and there is a need to move to Django 2.2.

Once the platform runs on Python 3 and Django 2.2, the next Open edX release, called Juniper, will get started.


• OEP-7: Migrating to Python 3