Amazon is the latest to drive a knife into the twitching corpse of Python 2 with an announcement that AWS Chalice will follow Lambda in nudging customers to later versions.
15 July is the cut-off date, which is generous considering the Python Software Foundation pulled the plug on fixes and support for Python 2 on 1 January 2020. AWS Lambda was supposed to follow suit on 1 June 2020 but, well, stuff happened in 2020 (in October support was stretched a little further until “at least 1 June 2021”). It took until 24 March 2021 for Amazon to settle on a death date for the tech.
Chalice is a framework for Lambda, and so will follow suit with what the cloud behemoth described as a “minor version update” that will require Python 3.6 or above (the Lambda crew recommends 3.8).
While nothing will stop working overnight, according to Amazon, new functions will not be able to be created and, as Chalice creates Lambda functions based on the version of Python in use in the development environment, that migration cannot be put off anymore.
It has been a while coming, and Python 3 famously did not play too well with code targeting version 2 when it made its debut over a decade ago. These days, starting a new project in Python 2 would be an odd thing to do although with over 30 years now on the clock, there will be plenty of legacy code lurking out there, not assisted by an initially less-than-seamless transition to the latest and greatest.
Indeed, forks of the project exist with the sole intention of keeping version 2.7 alive a little longer, with some syntax and libraries backported from Python 3.x while still allowing unmodified code to run, doubtless to the great relief of enterprises and institutions not willing or able to opt for a wholesale migration.
However, for those using Amazon’s serverless tech and its frameworks, the clock is ticking ever louder. ®