Repository navigation
Description
Latest official update for anyone who missed it in the wall of comments:
We have today [2023-02-28] published a Lambda container base image for Python 3.10, for both x86_64 and arm64 architectures. This image is suitable for production workloads.
Instructions for how to use Lambda container base images for Python are given in the ‘Usage’ tab at https://gallery.ecr.aws/lambda/python.
We expect to publish managed runtime support for Python 3.10 within 90 days.
Previous official update:
We recognize the extended delay in providing Python 3.10 support in AWS Lambda, and apologize for the inconvenience this has caused. Our plan is to publish a base container images for Python 3.10 this month [February 2023], with the managed runtime and tooling support (SAM CLI, CFN, CDK, AWS CLI, console, etc) support to follow. We will provide an ETA for the managed runtime when we publish the container image.
Python 3.10 was released on 2021-10-04
- Announcement: https://pythoninsider.blogspot.com/2021/10/python-3100-is-available.html
- 3.10.1 announcement: https://pythoninsider.blogspot.com/2021/12/python-3101-is-available.html
- 3.10.2 announcement: https://pythoninsider.blogspot.com/2022/01/python-3102-3910-and-3110a4-are-now.html
- 3.10.3 announcement: https://pythoninsider.blogspot.com/2022/03/python-3103-3911-3813-and-3713-are-now.html
- 3.10.4 announcement: https://pythoninsider.blogspot.com/2022/03/python-3104-and-3912-are-now-available.html
- 3.10.5 announcement: https://pythoninsider.blogspot.com/2022/06/python-3105-is-available_6.html
- 3.10.6 announcement: https://pythoninsider.blogspot.com/2022/08/python-3106-is-available.html
- 3.10.7 announcement: https://pythoninsider.blogspot.com/2022/09/python-releases-3107-3914-3814-and-3714.html
- 3.10.8 announcement: https://pythoninsider.blogspot.com/2022/10/python-versions-3108-3915-3815-3715-now.html
- 3.10.9 announcement: https://pythoninsider.blogspot.com/2022/12/python-3111-3109-3916-3816-3716-and.html
- 3.10.10 announcement: https://pythoninsider.blogspot.com/2023/02/python-3112-python-31010-and-3120-alpha.html
- 3.10.11 announcement: https://pythoninsider.blogspot.com/2023/04/its-time-for-another-set-of-python.html
- Release schedule: https://www.python.org/dev/peps/pep-0619/
- What’s new in Python 3.10: https://docs.python.org/3.10/whatsnew/3.10.html
Activity
andreif commentedon Feb 8, 2022
Please?
volphy commentedon Feb 10, 2022
Any implementation timeline?
nikitajz commentedon Feb 17, 2022
some features look interesting, looking forward!
leslie-alldridge commentedon Feb 25, 2022
keen !
fadesibert commentedon Mar 2, 2022
+1
as much as I love building python from source - maybe 3.7 is a little long in the tooth to be the standard...
alimcmaster1 commentedon Mar 10, 2022
Agree - looks like @jbesw did the work for 3.9... maybe he can help with 3.10 support?
https://aws.amazon.com/blogs/compute/python-3-9-runtime-now-available-in-aws-lambda/
jtuliani commentedon Mar 14, 2022
Thank you everyone for your feedback regarding AWS Lambda support for Python 3.10. We are aware of the ask, however, we don't currently have a timeline to share.
acdha commentedon May 17, 2022
Python 3.9 just hit the security-only stage of its maintenance lifecycle:
https://pythoninsider.blogspot.com/2022/05/python-3913-is-now-available.html
HWiese1980 commentedon May 18, 2022
Two months since the last update. Any (hopefully good) news here? @jtuliani
jwgstr commentedon May 19, 2022
I had a desire to update my lambda builds to 3.10 the other day and began looking into this more. Since this issue has been open for a little while I thought I might take a stab at building this from the amazonlinux base image (as the python 3.9 builds are). None of the guides I found quite made this copy / paste possible.
So I came up with this, which I tested and seems to work just fine at least for my use cases which includes things like numpy. But depending on your project complexity your mileage may vary. It doesn't follow all the same conventions with putting task logic in
/var/taskor app logic in/var/runtimebut that didn't cause any conflicts for me. It's kind of a hodgepodge of various AWS docs and articles I found. Wouldn't surprise me if it can be cleaned up a bit.I don't think I have access to contribute this back anywhere otherwise I would create PR. @jtuliani please feel free to point me in the right direction for that and I'm happy to help iterate on a better vetted and reviewed 3.10 image.
In the meantime I hope this helps others.
matthewdeanmartin commentedon May 24, 2022
@jwgstr - can you post this Dockerfile as a gist or repo so I can discuss issues with it w/o cluttering the main thread? (in particular,
yum updatefails on a self-hosted Gitlab.)jwgstr commentedon May 24, 2022
excellent idea: https://gist.github.com/jwgstr/4dcc9f16c52529486de0f6fa78c55aef
sjzabel commentedon Jun 15, 2022
This is now an issue for users of Gitlab who use the Docker:latest image to build lambda images using DinD. The Docker image is built off of Alpine 3.16 which now only supports python3.10 natively.
Our workaround is to use pyenv to install a python 3.9 version... but that adds significant time to our builds.
BjoernPetersen commentedon Jun 15, 2022
You could also just not use the
latesttag and continue with the older image (e.g. thedocker:20.10.16-dind-alpine3.15tag). Using thelatesttag is generally not a great idea, because it'll often lead to issues like these in the worst possible moment.Not saying that it isn't ridiculous for AWS to still not support Python 3.10 in Lambdas, just offering my opinion on best practices when using container images.
sjzabel commentedon Jun 15, 2022
Let me try that. (Thanks, I had gone through the list of available Docker tags and I didn't see that one.)
Ty,
Stephen
138 remaining items
alxsavard commentedon Apr 18, 2023
Seems like the api for creating functions don't know about 3.10 yet. Hopefully it won't take too long to be added, I couldn't find the info in the blog post 🤞
acbellini commentedon Apr 18, 2023
Chiming in with @jpmatusik, kudos for the release!
quinnypig commentedon Apr 18, 2023
Very glad to see this, dismayed at a few comments not keeping it "above the belt" with the criticism of the delay. There are humans on both ends here.
sdaves commentedon Apr 18, 2023
@jtuliani Thank you AWS team for releasing this update. I would love to hear the details of what was the blocker, it would make a great postmortem to prevent this in the future.
HWiese1980 commentedon Apr 19, 2023
Finally... We Germans like to say "Was lange währt, wird endlich gut". Thank you, AWS, for basically doing your job. It's not easy sometimes, I know.
But seriously, AWS, you should really, I mean, like, REALLY check on and fix your delivery/upgrade process. There's something terribly flawed and smelly if a from the viewpoint of your customers pretty simple upgrade to a new runtime version takes one and a half year.
BTripp1986 commentedon Apr 19, 2023
This would be great, even if we just got the fully digested conclusions of the postmortem. I doubt that it was the runtime itself causing the issue, which would make a postmortem even more insightful for those of us on the outside. I suspect that this took so long because it wasn't just an update to the Python Lambda runtime, but a massive update across a large part of the system(evidenced by the large number of updates that came with this, and the fact that the 3.11 base image is already in preview).
It would be great if we could learn with AWS about what the stumbling blocks were so that when we need to plan for a massive update at our own companies we can apply those lessons.
kinghuang commentedon Apr 19, 2023
As a customer, it’s worrying that it’s taking AWS more than 12 months to update for a system that has a fixed 12 month upgrade cycle. If AWS continues the way they have for Python 3.9 and 3.10, Lambda is going to continually fall further and further behind on Python versions.
fitzoh commentedon Apr 19, 2023
I'm not gonna be the one to do it, but for the people requesting some kind of post-mortem it might make sense to open a new top level issue.
This one is now closed and probably less likely to receive a substantial response.
jtuliani commentedon Apr 19, 2023
@alxsavard Thanks for flagging the doc issue, we're looking into that. However, this should be a documentation issue only, the CreateFunction API does support Python 3.10. Are you seeing an error when calling the API? If so, in which region?
alxsavard commentedon Apr 19, 2023
@jtuliani I did get an error yesterday (in us-east-1) but it seems to be fixed now! Thanks for asking!
jtuliani commentedon Apr 19, 2023
@alxsavard Thanks for confirming. It takes quite a while to roll out a runtime release safely across all regions (which is why folks on this thread found the release before the official announcement). I expect you tried it before the us-east-1 deployment was complete. We appreciate the quick follow-up, thank you.
michael-k commentedon Apr 20, 2023
Is there an ETA for Python 3.10 on Lambda@Edge? The announcement doesn't mention Lambda@Edge and the documentation doesn't list Python 3.10 (but might be outdated).
Or do I have to ask the CloudFront team?
AntonKyrychekCrit commentedon May 11, 2023
@Felixoid you need to bump TF version to =>0.13.2 and aws provider version =>4.64 then you will see it
UPD sorry missed a part with Lambda@Edge
Felixoid commentedon May 11, 2023
Kindly excuse me, but it's the web console.
update
the message was deleted. There was a screenshot about the inability to use python 3.10 as a lambda@edge function
mcdonnnj commentedon May 11, 2023
@AntonKyrychekCrit They are trying to create a Lambda@Edge function which has further restrictions. Please see the Lambda@Edge supported runtimes and note that Python 3.10 is not listed.