-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add types to duration.py #1233
Add types to duration.py #1233
Conversation
The problem with that solution is without making some custom type alias mypy, and pylance have to treat _rclpy.rcl_duration_t as type Any which weakens the type inference. For example since the _duration_handle is type Any it cannot reason about the type of the nanoseconds field. rclpy/rclpy/duration.py:44: error: Returning Any from function declared to return "int" [no-any-return] @property
def nanoseconds(self) -> int:
return self._duration_handle.nanoseconds |
* add types to logging_service Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
@InvincibleRMC thanks for working on this. the reason i do not start CI is to wait for 2nd review. once we have 2nd approval, i will start the CI. (So are other PRs) |
No problem. Thanks so much for the prompt reviews. |
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
* Add types to logging_service.py (ros2#1227) * add types to logging_service * Add types to duration.py * Add newlines for class definintions * update type alias name * Update to use Protocols Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
* First draft of generics Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix Generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add legacy Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix import order Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * fix import order Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add generics support to Node Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update type_support.py Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to expand_topic_name (#1238) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Creates Enum wrapper for ClockType and ClockChange (#1235) * Testing out Enum wrapper for ClockType * convert to rcl_clock_type_t * Update create_time_point Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types (#1231) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to exceptions.py (#1241) * Add types to exception * Add type checking guard * Fix NotInitializedException * Add missing defualt Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * added python3-yaml (#1242) Signed-off-by: SnIcK <ido.samuelson@gmail.com> Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to duration.py (#1233) * Add types to logging_service.py (#1227) * add types to logging_service * Add types to duration.py * Add newlines for class definintions * update type alias name * Update to use Protocols Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Static Typing to Validate files (#1230) * Add types to validate files Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * remove type annotations from docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * removed other type annotated docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to TypeHash and moved away from __slots__ usage (#1232) * Add types to TypeHash and moved away from __slots__ usage Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * remove docstring types Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Time.py Types (#1237) * Start typing time.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Testing out Enum wrapper for ClockType Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * convert to rcl_clock_type_t Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Undo Change to time_point.cpp Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update create_time_point Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Lint fixes Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add debug message Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Remove test file Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Try extending the type assert Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to logging_service.py (#1227) * add types to logging_service Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to duration.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add newlines for class definintions Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * update type alias name Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Remove newline Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Merge? Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix failed merge Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update to use Protocols Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix import error Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to time.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Linty Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Revert "Add types to TypeHash and moved away from __slots__ usage (#1232)" (#1243) This reverts commit b06baef. Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add back Type hash __slots__ and add test cases. (#1245) * Add types to TypeHash and add test cases Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to context.py (#1240) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * fix pub and sub Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update LifecyclePublisher Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix docstring Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * serialization generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * serialization generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update type_support.py Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> Signed-off-by: SnIcK <ido.samuelson@gmail.com> Signed-off-by: Shane Loretz <sloretz@intrinsic.ai> Co-authored-by: SnIcK <ido.samuelson@gmail.com> Co-authored-by: Chris Lalancette <clalancette@gmail.com> Co-authored-by: Shane Loretz <sloretz@intrinsic.ai>
* First draft of generics Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix Generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add legacy Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix import order Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * fix import order Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add generics support to Node Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update type_support.py Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to expand_topic_name (#1238) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Creates Enum wrapper for ClockType and ClockChange (#1235) * Testing out Enum wrapper for ClockType * convert to rcl_clock_type_t * Update create_time_point Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types (#1231) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to exceptions.py (#1241) * Add types to exception * Add type checking guard * Fix NotInitializedException * Add missing defualt Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * added python3-yaml (#1242) Signed-off-by: SnIcK <ido.samuelson@gmail.com> Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to duration.py (#1233) * Add types to logging_service.py (#1227) * add types to logging_service * Add types to duration.py * Add newlines for class definintions * update type alias name * Update to use Protocols Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add Static Typing to Validate files (#1230) * Add types to validate files Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * remove type annotations from docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * removed other type annotated docstrings Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to TypeHash and moved away from __slots__ usage (#1232) * Add types to TypeHash and moved away from __slots__ usage Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * remove docstring types Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Time.py Types (#1237) * Start typing time.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Testing out Enum wrapper for ClockType Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * convert to rcl_clock_type_t Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Undo Change to time_point.cpp Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update create_time_point Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Lint fixes Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add debug message Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Remove test file Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Try extending the type assert Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to logging_service.py (#1227) * add types to logging_service Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to duration.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add newlines for class definintions Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * update type alias name Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Remove newline Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Merge? Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix failed merge Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update to use Protocols Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix import error Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to time.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Linty Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Revert "Add types to TypeHash and moved away from __slots__ usage (#1232)" (#1243) This reverts commit b06baef. Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add back Type hash __slots__ and add test cases. (#1245) * Add types to TypeHash and add test cases Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add types to context.py (#1240) Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * fix pub and sub Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update LifecyclePublisher Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix docstring Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Start implementation Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Ungeneric? Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Stuff Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * serialization generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * serialization generic Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update type_support.py Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> * Client Service Generic Implementation Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Fix debug relative import Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update imports Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Add generics to node.py Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Update import order Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> * Remove double bracket Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> --------- Signed-off-by: Michael Carlstrom <rmc@carlstrom.com> Signed-off-by: Michael Carlstrom <36806982+InvincibleRMC@users.noreply.github.com> Signed-off-by: SnIcK <ido.samuelson@gmail.com> Co-authored-by: SnIcK <ido.samuelson@gmail.com> Co-authored-by: Chris Lalancette <clalancette@gmail.com> Co-authored-by: Shane Loretz <sloretz@intrinsic.ai>
Adds types to duration.py. Also adds an RCLDuration Type/Object Alias so type inference can be on the _duration_handle.