Skip to content

Maintenance: Deprecate Python 3.7 #3615

Closed
@leandrodamascena

Description

@leandrodamascena

Why is this needed?

AWS Lambda runtime will fully deprecate Python 3.7 on February 8th. This means, 3.7 functions will be unable to be updated.

Additionally, AWS SDK for Python (Boto3 and Botocore), AWS Command Line Interface (AWS CLI), and AWS CDK no longer offers support for Python 3.7 as well. The same happens with typing extensions, a library used extensively throughout this project that dropped support for Python3.7 in version 4.7.1.

We need to measure the impact of this and make the decision to remove support for Python 3.7. Keep the Python3.7 support directly impacts our supply chain in terms of preventing us from receiving new features and potential security bug fixes.

Minor or major release?

We started writing the roadmap for Powertools V3, however, we are still many steps away from having a roadmap to define new features/codebase for v3, write the RFC for V3, listen to the community, and refactor/rewrite everything necessary. So, will we deprecate Python 3.7 in a v2 minor release or wait until Powertools v3?

Is this a breaking change?

While I agree that this changes behavior and may prevent someone from receiving new Powertools updates, I think the impact is minimal for anyone using Managed Runtime Python 3.7. They will not be able to update their Python 3.7 functions from Feb/8, so those who need to update their functions will be forced to update Python to 3.8 and will not be affected by this.

Running Powertools on Lambda with OCI, and other containers platforms in general

These customers may be impacted by being blocked from receiving new Powertools updates if they use Python 3.7.
I don't think they will have problems building the containers in general, because package management tools like pip, poetry, anaconda and others will pin Powertools dependency on the latest version supported by Python 3.7.

Other runtimes

Powertools for AWS Lambda (TypeScript) dropped support for nodejs14.x along with the deprecation of Lambda nodejs14.x.

I may be missing something in my points and I would like to hear your considerations before we move forward with this decision.

Update 11/01

Which area does this relate to?

Other

Solution

Drop support for Python 3.7

Acknowledgment

  • Should this be considered in other Powertools for AWS Lambda languages? i.e. Java, TypeScript, and .NET

Activity

moved this from Triage to Pending review in Powertools for AWS Lambda (Python)on Jan 10, 2024
rubenfonseca

rubenfonseca commented on Jan 11, 2024

@rubenfonseca
Contributor

I'm in favor of dropping python 3.7 support after the date with a minor version. Even if there are security updates, the customer won't be able to update their Lambdas anyway.

moved this from Pending review to Working on it in Powertools for AWS Lambda (Python)on Jan 11, 2024
github-actions

github-actions commented on Feb 5, 2024

@github-actions
Contributor

⚠️COMMENT VISIBILITY WARNING⚠️

This issue is now closed. Please be mindful that future comments are hard for our team to see.

If you need more assistance, please either tag a team member or open a new issue that references this one.

If you wish to keep having a conversation with other community members under this issue feel free to do so.

unpinned this issue on Feb 9, 2024
moved this from Coming soon to Shipped in Powertools for AWS Lambda (Python)on Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

help wantedCould use a second pair of eyes/handsinternalMaintenance changes

Type

No type

Projects

Status

Shipped

Relationships

None yet

    Development

    Participants

    @rubenfonseca@leandrodamascena

    Issue actions

      Maintenance: Deprecate Python 3.7 · Issue #3615 · aws-powertools/powertools-lambda-python