Re-export core public types from the package root#15
Merged
Conversation
User code and notebooks had to reach into submodules for the most-used
types, e.g.:
from standard_e2e.data_structures.frame_data import TransformedFrameData
from standard_e2e.enums import Modality, TrajectoryComponent
Re-export a curated set from the package root so this works:
from standard_e2e import TransformedFrameData, Modality, TrajectoryComponent
Surfaces the frame containers (StandardFrameData / TransformedFrameData,
CameraData, LidarData, LidarPointCloud, HDMap, MapElement, Detection3D,
FrameDetections3D, Trajectory) and the user-facing enums (Modality,
TrajectoryComponent, CameraDirection, Intent, DetectionType,
MapElementType, LidarComponent), alongside the existing
UnifiedE2EDataset.
These are additive aliases — the submodule paths keep working and point
at the same objects. No new import cost (the package already imports
torch via unified_dataset; data_structures / enums are lightweight and
already loaded transitively). Internal types (adapters, converters,
processors) are intentionally not surfaced.
Adds tests/test_public_api.py guarding that the re-exports resolve to
the canonical objects and that every __all__ name is importable.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
The most-used public types had to be imported from deep submodule paths:
Re-export a curated set from the package root so this works:
What's surfaced
Alongside the existing
UnifiedE2EDataset:StandardFrameData,TransformedFrameData,CameraData,LidarData,LidarPointCloud,HDMap,MapElement,Detection3D,FrameDetections3D,TrajectoryModality,TrajectoryComponent,CameraDirection,Intent,DetectionType,MapElementType,LidarComponentInternal types (adapters, converters, processors) are intentionally left
out so the top-level namespace stays meaningful.
Notes
same objects — nothing is moved, nothing breaks.
unified_dataset;data_structures/enumsare lightweight and werealready loaded transitively. TensorFlow is still not imported.
tests/test_public_api.pyasserting the re-exports resolve to thecanonical objects and that every
__all__name is importable.