fix(pacmak): Generate Relative Module Imports in Python #3181
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal of this PR is, to find a way for generated Python code to work with namespaced modules regardless of the way it is consumed. While the current implementation of submodule imports seem to work fine when distributed as packages, it's breaking apart when the generated code is imported relatively as part of a single code base. That's what we do in cdktf and the reason why we have locked jsii to
1.37.0
at the moment.The general idea is, to generate relative imports rather than fqn imports in Python. This could be a potential way to address #3078
Besides from a few snapshots being changed, it seems like the tests are still working with this change. However, I'm not sure about the general implications. So, this entire PR is really meant to be a conversation starter.
I have confirmed that an import like
import . from some_aws_namespace
would work for us in cdktf.References
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.