Cross-posting for the Python users here! <https:/...
# python
w
a
Nice improvements, I really like the direction of
TypedDict
instead of Args classes. But due to the sheer size of many autogenerated provider SDKs and number of symbols/objects the IDE has to analyze, it had become almost impossible to enable type analysis a while ago without the language server hitting a memory limit and blowing up. I've been hanging in there not wanting to disable type analysis/indexing and having to restart VScode multiple times per day but with the addition of TypedDicts and Args classes still present the number of symbols have increased even more (f.x. +30k in
pulumi-azure-native
). This is now sometimes causing the VSCode Python language server in my case to crash within few minutes of coding. I think the biggest improvement you could do to improve the typing experience in Python is splitting provider SDKs by cloud API namespaces (or other means).
And when will you be adding variants for newer Python versions to pulumi-docker-containers? The current Python image is still using Python 3.9 and major typing improvements have been introduced in every release since. There's even an open pull request which adds builds for 3.10 and 3.11 but 3.12 should be added since has been the newest major release since October last year. Also, now that support for Poetry has been added the Python runners will need that installed (at least in a seperate variant). Don't want to sound unthankful – I'm truly a happy Pulumi user. Thanks for the awesome work 🙏🏻
w
Hey @adventurous-butcher-54166. Definitely hear you on the feedback around the size of
azure-native
in particular. This is top of mind, and something we plan to address as part of the V3 release of
azure-native
that we are planning for now.
I think the biggest improvement you could do to improve the typing experience in Python is splitting provider SDKs by cloud API namespaces (or other means)
Notably, we did already split up the
azure-native
package for Go into multiple packages, and we are looking at doing something similar for all other languages, including Python. Our belief is absolutely that you should be able to use the best of Python tooling (including new TypedDict-based type checking) with all of the Python SDKs, including
azure-native
. We're tracking this work in https://github.com/pulumi/pulumi-azure-native/issues/3422.
And when will you be adding variants for newer Python versions to pulumi-docker-containers?
We have plans to release a larger matrix of Pulumi-managed docker containers this coming quarter. In the past, we've had issues where updating major versions of various language tools inside these containers breaks some users. So we need to be a ltitle more careful here than just directly updating the single image. Instead, we will need to offer a matrix of builds that enable users to pin to older versions during their support window. We're working through the details on how to do this at manageable scale now. We're tracking this work in https://github.com/pulumi/pulumi-docker-containers/issues/204.