Skip to content
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

Python 3.11 Support #2053

Closed
devinmatte opened this issue Jul 14, 2023 · 12 comments
Closed

Python 3.11 Support #2053

devinmatte opened this issue Jul 14, 2023 · 12 comments

Comments

@devinmatte
Copy link

devinmatte commented Jul 14, 2023

Lambda base images for Python 3.11 are released now: aws/aws-lambda-base-images#62 (comment)

And Lambda 3.11 runtime is fully released: https://aws.amazon.com/about-aws/whats-new/2023/07/aws-lambda-python-3-11/

It would be great if ahead of that release Chalice was ready with support to release for 3.11 so that Chalice users can update their applications

Thanks 😄

@devinmatte
Copy link
Author

devinmatte commented Aug 1, 2023

Lambda 3.11 runtime is released: https://aws.amazon.com/about-aws/whats-new/2023/07/aws-lambda-python-3-11/

Chalice support would be greatly appreciated

cc @jamesls

@catsclaw
Copy link

Currently the documentation says "Chalice supports all versions of python supported by AWS Lambda, which is currently Python 3.6 and greater. You can see the list of supported python versions for Lambda in their docs" which does include Python 3.11 but if you deploy you get nasty messages like "You are currently running python3.11, but the closest supported version on AWS Lambda is python3.10" which is flat out wrong, and Chalice will deploy to 3.10.

Maybe fix the documentation so it's not lying to people?

@sayajin101
Copy link

Please add 3.11 python support for Chalice

@forgebench
Copy link

Another vote for 3.11 support. Thank you!

dch90 added a commit to dch90/media-insights-on-aws that referenced this issue Oct 25, 2023
…d default operators to use Python 3.11. Also included lambda layer for python 3.10

Background
==========

AWS Lambda now supports Python 3.11, and Media Insights will upgrade its lambda functions to use the latest version.
Additionally, Pre-built lambda layer for Python 3.10 and 3.11 is supported.

Deployment of Lambda layers have been revamped in this new version. In the past pre-built lambda layers were pushed to s3://solutions-${region}/<solution-name>/layers s3 location.
One issue with this deployment method is that we don't have permissions to freely update the folder, and maintainance of layer versions is also nearly impossible.
With the new method, the lambda layers will be built within CodeBuild, which in turn will push the layer zip file along with the rest of the source code.

Changes
=======

- buildspec.yml updated
  - now it uses python 3.11 and node 18 runtime versions
  - --no-layer flag is removed so that CodeBuild can build the lambda layer instead of downloading pre-built layers
  - does not update npm to latest
- deployment/build-s3-dist.sh updated
  - to download pre-built layers from regional source folder instead of layers folder
    - users can also specify the layer version they want to download using the new --layer-version parameter
  - solution version used from cdk package.json file version is appended to lambda layer source code zip files
    - this is necessary for Cloudformation to detect changes in newer lambda layer versions
  - improved maintainability by using array of supported python versions
- added python 3.10 and 3.11 support for lambda layer factory
- updated lambda functions to use python3.11 runtime along with appropriate python version for lambda layers
- manually set python3.11 for dataplaneapi and workflowapi as chalice only sets up to 3.10 runtime. (aws/chalice#2053)
- downgraded jsonschema from 4.18.4 to 4.17.3. newer jsonschema versions are not compatible with lambdas running python 3.11 (https://stackoverflow.com/questions/76667202/aws-lambda-function-cant-find-module)
  - have tried with latest version 4.19.0 but the issue persists
- updated e2e test to include lambda layer 310 and 311 in existing resources
- refactored deployment/lambda_layer_factory/build-lambda-layer.sh
  - removed deployment logic as it is not needed in this script
  - other minor improvements in script's logic
- remove failOn flag from .viperlightrc
- cdk snapshots updated
- removed .viperlightrc file
@Steve-Groner
Copy link

Another vote for 3.11. I have to manually change my Lambda after deploy to make some of my packages work.

@toringe
Copy link

toringe commented Nov 2, 2023

My vote to support 3.11

@Steve-Groner
Copy link

@jamesls Any way this can get pushed into prod. This is painful to have to update the lambda to 3.11 after chalice pushes it to AWS as 3.10.

@devinmatte
Copy link
Author

Hate to be annoying about this but it's been now 107 days since Python 3.11 Support was added to Lambda without Chalice getting an update
https://aws.amazon.com/about-aws/whats-new/2023/07/aws-lambda-python-3-11/

@ventz
Copy link

ventz commented Nov 18, 2023

Adding 3.11 would be nice!

@devinmatte
Copy link
Author

Completed in #2063

@devinmatte
Copy link
Author

Reopening until the release is available in pypi, which hopefully will be soon

@ventz
Copy link

ventz commented Dec 14, 2023

@ogrodnek Thanks for adding!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants