Fix synchros2
aliasing as bdai_ros2_wrappers
#135
Merged
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.
Proposed changes
Follow-up to #133. This one caught me off guard. It turns out it's not enough to alias the top-level package, otherwise CPython will liberally duplicate subpackages and modules, wreaking havoc in any code that relies on globals (like
synchros2.scope
andsynchros2.process
).Thus, this patch eagerly and recursively imports and aliases
synchros2
and all its subpackages and modules. This effectively makesimport bdai_ros2_wrappers
a slower operation, but the penalty is not significant and we will eventually deprecate and remove this alias.Checklist