white-balloon-205
adventurous-butcher-54166
07/09/2024, 11:15 AMTypedDict
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).adventurous-butcher-54166
07/09/2024, 11:35 AMwhite-balloon-205
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.