Skip to content

Maintenance: Support for Python 3.13 #5411

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
2 tasks done
leandrodamascena opened this issue Oct 20, 2024 · 3 comments · Fixed by #5527
Closed
2 tasks done

Maintenance: Support for Python 3.13 #5411

leandrodamascena opened this issue Oct 20, 2024 · 3 comments · Fixed by #5527
Assignees
Labels
internal Maintenance changes

Comments

@leandrodamascena
Copy link
Contributor

Why is this needed?

According to the official AWS documentation, the AWS Lambda Python 3.13 runtime will be released in November 2024, and considering that Python 3.13 has had some changes in this release, we need to start working to detect and fix any issues and be ready when this runtime is released.

*This date is indicative only and subject to change.

Image

Which area does this relate to?

No response

Solution

Use this playbook to add support for Python 3.13.

Steps

1. Prerequisites

2. Testing locally

  • Must install the new Python runtime version and run all the tests and linters locally to see if anything is breaking, by running make pr

3. Adding the new supported runtime in the layer construct

On the CDK Layer constructor, do:

  • Bump the CDK version to support the new AWS Lambda Python runtime version
  • Change the supported runtimes to include the new runtime
  • Make sure tests still pass by running poetry run pytest tests
  • Submit and merge a PR with the changes

4. Updating workflows and templates

  • Update all files inside the .github directory to include the new runtime version. This includes the e2e workflow

5. Layer

6. SAR

  • Add the new runtime to the layer_v3/sar/template.txt

7. Change the PyPi metadata

8. Open a PR and run E2E tests

  • Open a new PR with the changes made in steps 4, 5, 6 and 7.
  • Wait for the automated tests to pass (so the tests run against the new runtime)
  • Manually schedule an E2E workflow on that branch (so the automated tests run against the new runtime)

9. Examples

  • Update the SAM/Terraform examples to use the latest version of the supported runtime.

10. Merge and release

  • If everything is green you should be able to merge the PR and release a new version, which will generate and publish the new Layer and SAR template.
  • Celebrate and start using this new runtime! 🍺 🎉

Acknowledgment

@leandrodamascena leandrodamascena added internal Maintenance changes triage Pending triage from maintainers labels Oct 20, 2024
@leandrodamascena leandrodamascena self-assigned this Oct 20, 2024
@leandrodamascena leandrodamascena removed the triage Pending triage from maintainers label Oct 20, 2024
@leandrodamascena
Copy link
Contributor Author

So far we have 2 open issues on projects that Python Powertools depends on:

pydantic/pydantic#10699 (comment)
DataDog/dd-trace-py#10932 (comment)

None of these issues are blocking this release, we can have a workaround without any breaking changes for our customers if the upstream project doesn't resolve them.

Copy link
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.

@github-actions github-actions bot added the pending-release Fix or implementation already in dev waiting to be released label Nov 14, 2024
Copy link
Contributor

This is now released under 3.3.0 version!

@github-actions github-actions bot removed the pending-release Fix or implementation already in dev waiting to be released label Nov 14, 2024
@leandrodamascena leandrodamascena moved this from Coming soon to Shipped in Powertools for AWS Lambda (Python) Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Maintenance changes
Projects
Status: Shipped
Development

Successfully merging a pull request may close this issue.

1 participant