Python 2 Sunsets in 107 Days. JPMorgan Isn’t Ready

In 107 days, Python 2 — first released in 2000 — will officially sunset, according to an announcement this week by “volunteers who make and take care of the Python programming language.”

But according to TechRepublic, not everybody is ready: Given Python’s popularity and ubiquity, the amount of business logic hinging on Python is quite vast, presenting an issue for organizations still clinging to Python 2. JPMorgan’s Athena trading platform is one of those applications — while access has only been available directly to clients since 2018, the Athena platform is used internally at JPMorgan for pricing, trading, risk management, and analytics, with tools for data science and machine learning. This extensive feature set utilizes over 150,000 Python modules, over 500 open source packages, and 35 million lines of Python code contributed by over 1,500 developers, according to data presented by Misha Tselman, executive director at J.P. Morgan Chase in a talk at PyData 2017.

Migrating 35 million lines of code from Python 2 to Python 3 is quite the undertaking — and JPMorgan is going to miss the deadline, according to eFinancialCareers, stating that JPMorgan’s roadmap puts “most strategic components” compatible with Python 3 by the end of Q1 2020 — that is, three months after the end of security patches — with “all legacy Python 2.7 components” planned for compatibility with Python 3 by Q4 2020.

Modern developer practices are needed to maintain a project of this scale — fortunately, JPMorgan uses Continuous Delivery, with 10,000 to 15,000 production changes per week, according to Tselman.
The eFinancialCareers site argues that banks “have been dragging their feet,” adding that JPMorgan is not the only bank that still hasn’t migrated to Python 3.

The Python volunteers are pointing concerned individuals to the Python 2.7 Countdown Clock, and their announcement also links to a list of support and migration vendors, adding “If you can pay to hire someone to help you, post on the job board or hire a consultant. If you need free help from volunteers, look at this help page.”