It's happening. Yesterday, the Python Software Foundation (a group of volunteers who look after the Python programming language) announced publicly that they will "sunset Python 2" as of 1 January 2020. From that date on, even if a security problem is found in Python 2, PSF won't do anything about it.
There's been plenty of warning that this was coming. Python 3 was launched 11 years ago in 2008 and the original intention was to stop supporting it in 2015. Out of the kindness of their hearts, the Python Software Foundation agreed to keep supporting the old version until 2020 in the express belief that, "that the extra 5 years is sufficient to transition off of Python 2...if not before."
For some organizations, that extra five years does seem to have been a help. Instagram, for example, moved to Python 3 from Python 2.7 amid much fanfare in 2017 with no issues for its 400 million daily users. Dropbox did a similar migration between 2015 and 2018.
Banks, however, have been dragging their feet.
One of the draggers is JPMorgan, which runs its all-important Athena next generation pricing, risk management, analysis and trade management platform on Python 2.7. The bank didn't respond to a request to comment for this article, but sources said JPM is not going to be ready to switch fully to Python 3 by the 1 January deadline. Oh dear.
While Instagram moved to Python 3 in 2017, it seems JPM's strategy for transferring Athena to Python 3 only really kicked-in in late 2018 and is being handled gradually. The bank has been busy making core Athena code and libraries Python 3 compatible this year, and expects to have most strategic components compatible by the end of the first quarter of 2010 (ie. three months after the deadline). However, it's only by the fourth quarter of 2020 that all legacy Python 2.7 components in Athena will by Py3 compatible and that JPM's support for Py2 will be dropped completely.
While JPMorgan is known to still be using Python 2.7, it's not the only bank in this position. Python 2 is widely used in the finance industry and banks are not always the fastest to adapt. Goldman Sachs is using Python 3.6 in its open-sourced quant finance package, but the bank still invites students to take Hackerrank tests in Python 2. Most developers will tell you that banks have huge Python 2 dependencies.
Does this matter? What happens when the PSF stops supporting its old language? Clearly, platforms like Athena will keep working. JPMorgan said last year that it has 2,000 developers working on Athena, and some of them are likely to be diverted to creating security patches. Equally, specialist vendors are offering to support Python 2 beyond the January deadline and banks can always pay for their services.
By the middle of next year, then, banks are likely to be some of the last places using Python 2. With most new developers learning Python 3, Python 2 expertise could be a valuable skill for a few months until if - and when - banks complete their migrations. That will surely happen one day.
Photo by Tincho Franco on Unsplash
Have a confidential story, tip, or comment you’d like to share? Contact: [email protected] in the first instance. Whatsapp/Signal/Telegram also available.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)