Closed
Description
Summary
AWS Lambda runtime will fully deprecate Python 3.6 on August 17th. This means, 3.6 functions will be unable to be updated.
This also means we will need to cut a major version (v2). We've decided to not pursue breaking changes in v2 besides 3.6 as there are tons of operational excellence work to be completed (e.g., E2E testing). We can create an issue for v3 to discuss modularization and properly document future breaking changes (and how to resolve).
Tasks:
- Python 3.6 deprecation: Revisit
jmespath
dependency #1376 - Python 3.6 deprecation: Revisit
boto3
dependency #1377 - Python 3.6 deprecation: Add
cfn-lint
as a dev dependency and updatepython_docs
GH workflow #1378 - Python 3.6 deprecation: Launch a new Lambda Layer
AWSLambdaPowertoolsPythonV2
#1379 - Python 3.6 deprecation: Revisit forward references
str
available in 3.7 (import future) #1380 - Python 3.6 deprecation: Simplify Tracer async code to use
asyncio.run
#1381 - Python 3.6 deprecation: Drop 3.6 from GitHub Actions workflows #1394
Python 3.7 changes: https://realpython.com/python37-new-features/
Why is this needed?
Because Lambda will prohibit customers from updating their Lambda functions. We also had to lock or disable certain dependencies as they dropped 3.6 (jmespath
, boto3
, etc.).
Which area does this relate to?
Governance
Solution
No response
Acknowledgment
- This request meets Lambda Powertools Tenets
- Should this be considered in other Lambda Powertools languages? i.e. Java, TypeScript