Package Summary
Tags | No category tags. |
Version | 3.3.15 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-11-25 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shane Loretz
- Aditya Pande
- Jacob Perron
Authors
- Esteve Fernandez
- William Woodall
- Ivan Paunovic
Changelog for package rclpy
3.3.15 (2024-11-25)
- TestClient.test_service_timestamps failing consistently. (#1364) (#1365)
- Fixes spin_until_future_complete inside callback (#1316) (#1343)
- Install signal handlers after context is initialized. (#1333) (#1335)
- Avoid causing infinite loop when message is empty (#935) (#1334)
- Contributors: mergify[bot]
3.3.14 (2024-07-26)
- Fix a bad bug in fetching the lifecycle transitions. (#1321) (#1324)
- add missing Optionals to function declarations (#1306)
- Support wait for message backport humble (#1272)
- [Humble] Fix AttributeError _logger in Action Server (#1299)
- Fix incorrect comparsion on whether parameter type is NOT_SET (#1032) (#1283)
- Contributors: Shane Loretz, Tomoya Fujita, alberthli, mergify[bot], xueying
3.3.13 (2024-05-15)
- update RCL_RET_TIMEOUT error handling with action service response. (#1258) (#1276)
- Contributors: mergify[bot]
3.3.12 (2024-02-16)
3.3.11 (2023-11-13)
- Use timeout object to avoid callback losing in wait_for_ready_callbacks (backport #1165) (#1185)
- unregister_sigterm_signal_handler should be called. (#1170) (#1176)
- Contributors: mergify[bot]
3.3.10 (2023-09-19)
- Avoid generating the exception when rcl_send_response times out. (#1136) (#1152)
- Contributors: mergify[bot]
3.3.9 (2023-07-18)
3.3.8 (2023-04-25)
- Deal with ParameterUninitializedException for parameter service (backport #1033) (#1041)
- Fix #983 by saving future and checking for + raising any exceptions (#1073) (#1088)
- Contributors: Tomoya Fujita, mergify[bot]
3.3.7 (2023-01-13)
- Fix [test_publisher]{.title-ref} linter for pydocstyle 6.2.2 (backport #1063) (#1066)
- Contributors: mergify[bot]
3.3.6 (2023-01-10)
- decorator should not be callable. (#1050) (#1051)
- Add parallel callback test (#1044) (#1052)
- Contributors: mergify[bot]
3.3.5 (2022-11-07)
- Waitable should check callback_group if it can be executed. (#1001) (#1013)
- Revert "Raise user handler exception in MultiThreadedExecutor. (#984)" (#1017) (#1023)
- support wildcard matching for params file (#987) (#1002)
- Raise user handler exception in MultiThreadedExecutor. (#984) (#990)
- fix gcc 7.5 build errors (#977) (#980)
- Contributors: mergify[bot]
3.3.4 (2022-05-17)
3.3.3 (2022-05-10)
3.3.2 (2022-04-08)
- Make rclpy dependencies explicit (#906)
- Contributors: Chris Lalancette
3.3.1 (2022-03-24)
- Avoid exception in Node constructor when use override for 'use_sim_time' (#896)
- time_until_next_call returns max if timer is canceled. (#910)
- Contributors: Artem Shumov, Ivan Santiago Paunovic, Tomoya Fujita
3.3.0 (2022-03-01)
- Properly implement action server/client handle cleanup. (#905)
- Make sure to take out contexts on Action{Client,Server}. (#904)
- Make sure to free the goal_status_array when done using it. (#902)
- Bugfix to Node.destroy_rate() result (#901)
- Remove fastrtps customization on tests (#895)
- fix typo (#890)
- Document that Future.result() may return None (#884)
- update doc release number (#885)
- Contributors: Anthony, Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Miguel Company
3.2.1 (2022-01-14)
- Fix multi-threaded race condition in client.call_async (#871)
- Fix include order for cpplint (#877)
- Bugfix/duration to msg precision (#876)
- Update to pybind11 2.7.1 (#874)
- QoS history depth is only available with KEEP_LAST (#869)
- Contributors: Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Tomoya Fujita
3.2.0 (2021-12-23)
- Implement managed nodes. (#865)
- Make rclpy.try_shutdown() behavior to follow rclpy.shutdown() more closely. (#868)
- Update TopicEndpointTypeEnum.__str_() method to include history kind and history depth. (#849)
- Add Clock.sleep_for() using Clock.sleep_until(). (#864)
- Add Clock.sleep_until() (#858)
- Add __enter_ and __exit_ to JumpHandle. (#862)
- Don't override rclpy._rclpy_pybind11 docs. (#863)
- Improve JumpThreshold documentation and forbid zero durations. (#861)
- Fix time.py and clock.py circular import. (#860)
- Make context.on_shutdown() allow free functions. (#859)
- Fix automatically declared parameters descriptor type. (#853)
- Shutdown asynchronously when sigint is received. (#844)
- Update maintainers. (#845)
- Add entities to callback group before making them available to the executor to avoid a race condition. (#839)
- Avoid race condition in client.call(). (#838)
- Contributors: Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Tomoya Fujita
3.1.0 (2021-10-22)
- Handle sigterm. (#830)
- Use pybind11 for signal handling, and delete now unused rclpy_common, pycapsule, and handle code. (#814)
- Fix memory leak in <Service::take_request>() and Client::take_response(). (#828)
- Add Publisher.wait_for_all_acked(). (#793)
- Only add one done callback to a future in Executor. (#816)
- Add convert function from ParameterValue to Python builtin. (#819)
- Call Context._logging_fini() in Context.try_shutdown(). (#800)
- Lift LoggingSeverity enum as common dependency to logging and rcutils_logger modules (#785)
- Set Context.__context to None in __init_(). (#812)
- Remove unused function make_mock_subscription. (#809)
- Contributors: Barry Xu, Chris Lalancette, Ivan Santiago Paunovic, Jacob Perron, Lei Liu, Louise Poubel, Shane Loretz, ksuszka
3.0.1 (2021-06-11)
- Removed common.c/h (#789)
- Contributors: Alejandro Hernández Cordero
3.0.0 (2021-05-19)
- Allow declaring uninitialized parameters (#798)
- Reject cancel request if failed to transit to CANCEL_GOAL state (#791)
- Deleted handle as it should no longer be used (#786)
- Removed some functions in common.c and replaced them in utils.cpp (#787)
- Moved exception.cpp/hpp to the _rclpy_pybind11 module (#788)
- Contributors: Alejandro Hernández Cordero, Jacob Perron, Tomoya Fujita
2.0.0 (2021-05-10)
- Print 'Infinite' for infinite durations in topic endpoint info (#722)
- Break log function execution ASAP if configured severity is too high (#776)
- Convert Node and Context to use C++ Classes (#771)
- Misc action server improvements (#774)
- Misc action goal handle improvements (#767)
- Convert Guardcondition to use C++ classes (#772)
- Removed unused structs
rclpy_client_t
andrclpy_service_t
(#770) - Convert WaitSet to use C++ Classes (#769)
- Convert ActionServer to use C++ Classes (#766)
- Convert ActionClient to use C++ classes (#759)
- Use py::class_ for rcl_action_goal_handle_t (#751)
- Convert Publisher and Subscription to use C++ Classes (#756)
- Contributors: Alejandro Hernández Cordero, Emerson Knapp, Greg Balke, Shane Loretz, ksuszka
1.8.1 (2021-04-12)
- typo fix. (#768)
- Restore exceptions for Connext and message timestamps on Windows (#765)
- Use correct type when creating test publisher (#764)
- Add a test for destroy_node while spinning (#663)
- Add __enter_ and __exit_ to Waitable (#761)
- Check if shutdown callback weak method is valid before calling it (#754)
- Contributors: Andrea Sorbini, Ivan Santiago Paunovic, Scott K Logan, Shane Loretz, Tomoya Fujita
1.8.0 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#755)
- Use py::class_ for rcl_event_t (#750)
- Convert Clock to use a C++ Class (#749)
- Convert Service to use C++ Class (#747)
- Fix windows warning by using consistent types (#753)
- Use py::class_ for rmw_service_info_t and rmw_request_id_t (#748)
- Convert Timer to use a C++ Class (#745)
- Add PythonAllocator (#746)
- Use py::class_ for rmw_qos_profile_t (#741)
- Combine pybind11 modules into one (#743)
- Use py::class_ for rcl_duration_t (#744)
- Fix bug in unique_ptr type argument (#742)
- Convert Client to use C++ Class (#739)
- Converting last of _rclpy.c to pybind11 (#738)
- Make sure only non-empty std::vector of arguments are indexed (#740)
- Use py::class_ for rcl_time_point_t (#737)
- Convert logging mutex functions to pybind11 (#735)
- Document misuse of of parameter callbacks (#734)
- Convert QoS APIs to pybind11 (#736)
- Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Chris Lalancette, Greg Balke, Jacob Perron, Michel Hidalgo, Shane Loretz
1.7.0 (2021-03-25)
- Add API for checking QoS profile compatibility (#708)
- Replace rmw_connext_cpp with rmw_connextdds (#698)
- Convert last of pub/sub getters to pybind11 (#733)
- Pybind 11: count_subscribers and count_publishers (#732)
- Convert more node accessors to pybind11 (#730)
- Pybind11-ify rclpy_get_node_parameters (#718)
- Modify parameter service behavior when allow_undeclared_parameters is false and the requested parameter doesn't exist (#661)
- Include pybind11 first to fix windows debug warning (#731)
- Convert init/shutdown to pybind11 (#715)
- Convert take API to pybind11 (#721)
- Migrate qos event APIs to pybind11 (#723)
- Remove pybind11 from rclpy common (#727)
- Look up pybind11 package once (#726)
- typo fix. (#729)
- [pybind11] Node Accessors (#719)
- Contributors: Alejandro Hernández Cordero, Andrea Sorbini, Audrow Nash, Greg Balke, Michel Hidalgo, Shane Loretz, Tomoya Fujita
1.6.0 (2021-03-18)
- Convert serialize/deserialize to pybind11 (#712)
- Convert names_and_types graph APIs to pybind11 (#717)
- Use Pybind11 for name functions (#709)
- Better checks for valid msg and srv types (#714)
- Convert duration to pybind11 (#716)
- Convert wait_set functions to pybind11 (#706)
- Explicitly populate tuple with None (#711)
- Change the time jump time type to just rcl_time_jump_t. (#707)
- Convert rclpy service functions to pybind11 (#703)
- Bump the cppcheck timeout by 2 minutes (#705)
- Convert subscription functions to pybind11 (#696)
- Convert rclpy client functions to pybind11 (#701)
- Fix static typing when allow undeclared (#702)
- Convert publisher functions to pybind11 (#695)
- Convert clock and time functions to pybind11 (#699)
- Set destructor on QoS Profile struct (#700)
- Convert timer functions to pybind11 (#693)
- Convert guard conditions functions to pybind11 (#692)
- Convert service info functions to pybind11 (#694)
- Enforce static parameter types when dynamic typing is not specified (#683)
- rclpy_ok and rclpy_create_context to pybind11 (#691)
- Include Pybind11 before Python.h (#690)
- Clean up exceptions in _rclpy_action (#685)
- Clean windows flags on _rclpy_pybind11 and _rclpy_action (#688)
- Use pybind11 for _rclpy_handle (#668)
- Split rclpy module for easier porting to pybind11 (#675)
- Use Pybind11 to generate _rclpy_logging (#659)
- Copy windows debug fixes for pybind11 (#681)
- Use pybind11 for _rclpy_action (#678)
- Update just pycapsule lib to use pybind11 (#652)
- remove maintainer (#682)
- Use Pybind11's CMake code (#667)
- Don't call destroy_node while spinning (#674)
- Check the rcl_action return value on cleanup. (#672)
- Fix the NULL check for destroy_ros_message. (#677)
- Use Py_XDECREF for pynode_names_and_namespaces (#673)
- Use Py_XDECREF for pyresult_list. (#670)
- Contributors: Chris Lalancette, Claire Wang, Ivan Santiago Paunovic, Michel Hidalgo, Scott K Logan, Shane Loretz
1.5.0 (2021-01-25)
- Fix dead stores. (#669)
- Fix two clang static analysis warnings. (#664)
- Add method to get the current logging directory (#657)
- Fix docstring indent error in create_node (#655)
- use only True to avoid confusion in autodoc config
- document QoS profile constants
- Merge pull request #649 from ros2/clalancette/dont-except-while-sleep
- Fixes from review/CI.
- Make sure to catch the ROSInterruptException when calling rate.sleep.
- memory leak (#643) (#645)
- Don't throw an exception if timer canceled while sleeping.
- Wake executor in Node.create_subscription() (#647)
- Contributors: Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tully Foote, ssumoo, tomoya
1.4.0 (2020-12-08)
- Fix Enum not being comparable with ints in get_parameter_types service
- Qos configurability (#635)
- Use Py_XDECREF for pytopic_names_and_types. (#638)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, tomoya
1.3.0 (2020-11-02)
- qos_policy_name_from_kind() should accept either a QoSPolicyKind or an int (#637)
- Add method in Node to resolve a topic or service name (#636)
- Contributors: Ivan Santiago Paunovic
1.2.1 (2020-10-28)
- Deprecate verbose qos policy value names (#634)
- Remove deprecated set_parameters_callback (#633)
- Make sure to use Py_XDECREF in rclpy_get_service_names_and_types (#632)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic
1.2.0 (2020-10-19)
- Update maintainers (#627)
- Add in semicolon on RCUTILS_LOGGING_AUTOINIT. (#624)
- Add in the topic name when QoS events are fired. (#621)
- Use best effort, keep last, history depth 1 QoS Profile for '/clock' subscriptions (#619)
- PARAM_REL_TOL documentation fix (#559)
- Node get fully qualified name (#598)
- MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605)
- skip test relying on source timestamps with Connext (#615)
- Use the rpyutils shared import_c_library function. (#610)
- Add ability to configure domain ID (#596)
- Use absolute parameter events topic name (#612)
- Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603)
- Default incompatible qos callback should be set when there's no user specified callback (#601)
- relax rate jitter test for individual periods (#602)
- add QoSProfile.__str_ (#593)
- Add useful debug info when trying to publish the wrong type (#581)
- Pass rcutils_include_dirs to cppcheck (#577)
- wrap lines to shorten line length (#586)
- fix moved troubleshooting url (#579)
- improve error message if rclpy C extensions are not found (#580)
- Contributors: Barry Xu, Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Emerson Knapp, Ivan Santiago Paunovic, Loy, Zhen Ju
1.1.0 (2020-06-18)
- Add message lost subscription event (#572)
- Fix executor behavior on shutdown (#574)
- Add missing rcutils/macros.h header (#573)
- Add [topic_name]{.title-ref} property to Subscription (#571)
- Add [topic_name]{.title-ref} property to publisher (#568)
- Fix and document rclpy_handle_get_pointer_from_capsule() (#569)
- Fix docstrings (#566)
- Contributors: Audrow, Audrow Nash, Claire Wang, Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Zhen Ju
1.0.2 (2020-06-01)
- Protect access to global logging calls with a mutex (#562)
- Ensure executors' spinning API handles shutdown properly (#563)
- Contributors: Michel Hidalgo, William Woodall
1.0.1 (2020-05-18)
- Explicitly add DLL directories for Windows before importing (#558)
- Contributors: Jacob Perron
1.0.0 (2020-05-12)
- Remove MANUAL_BY_NODE liveliness API (#556)
- Fix bug that not to get expected data because use less timeout (#548)
- Contributors: Barry Xu, Ivan Santiago Paunovic
0.9.1 (2020-05-08)
- Fix bad rmw_time_t to nanoseconds conversion. (#555)
- Skip flaky timer test on windows (#554)
- Cleanup rmw publisher/subscription on exception (#553)
- Contributors: Ivan Santiago Paunovic, Miaofei Mei, Michel Hidalgo
0.9.0 (2020-04-29)
- Fix flaky test expecting wrong return type of rclpy_take (#552)
- Fix warning about pytaken_msg maybe being uninitialized (#551)
- Handle a failed rcl_take() call in rclpy_take() (#550)
- Enforce a precedence for wildcard matching in parameter overrides (#547)
- Feature/services timestamps (#545)
- Add method to take with message_info (#542)
- Ensure logging is initialized only once (#518)
- Update includes to use non-entry point headers from detail subdir (#541)
- Create a default warning for qos incompatibility (#536)
- Add enclaves introspection method in [Node]{.title-ref} (#538)
- Rename rosidl_generator_c namespace to rosidl_runtime_c (#540)
- Use f-string to fix flake8 warning (#539)
- Don't persist node and context between tests (#526)
- Avoid unsigned/signed comparison (#535)
- Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#459)
- Switch to slightly more generic isinstance
- Add capability to publish serialized messages (#509)
- Set context when creating Timer (#525)
- Don't check lifespan on subscriber QoS (#523)
- Deprecate set_parameters_callback API (#504)
- Add env var to filter available RMW implementations (#522)
- Fix object destruction order (#497)
- Fixed flake8 rclpy test utilities (#519)
- Fixes max_jitter calculation (#512)
- Included get_available_rmw_implementations (#517)
- Embolden warning about Client.call() potentially deadlocking (#516)
- Enable test_get_publishers_subscriptions_info_by_topic() unit test for more rmw_implementations (#511)
- Change sizes to Py_ssize_t (#514)
- Rename rmw_topic_endpoint_info_array count to size (#510)
- Implement functions to get publisher and subcription informations like QoS policies from topic name (#454)
- Call init and shutdown thread safely (#508)
- Support multiple "on parameter set" callbacks (#457)
- Code style only: wrap after open parenthesis if not in one line (#500)
- Add wrappers for RMW serialize and deserialize functions (#495)
- Move logic for getting type support into a common function (#492)
- Find test dependency rosidl_generator_py (#493)
- Avoid reference cycle between Node and ParameterService (#490)
- Avoid a reference cycle between Node and TimeSource (#488)
- Fix typo (#489)
- Handle unknown global ROS arguments (#485)
- Fix the type annotation on get_parameters_by_prefix (#482)
- Replace RuntimeError with new custom exception RCLError (#478)
- Update constructor docstrings to use imperative mood (#480)
- Use absolute topic name for rosout (#479)
- Guard against unexpected action responses (#474)
- Fix test_action_client.py failures (#471)
- Enable/disable rosout logging in each node individually (#469)
- Make use of rcutils log severity defined enum instead of duplicating code (#468)
- Provide logging severity for string (#458)
- Send feedback callbacks properly in send_goal() of action client (#451)
- Contributors: Abhinav Singh, Alejandro Hernández Cordero, Barry Xu, Brian Marchi, Chris Lalancette, Dan Rose, Dirk Thomas, Donghee Ye, Emerson Knapp, Felix Divo, Ingo Lütkebohle, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Michel Hidalgo, Shane Loretz, Stephen Brawner, Steven! Ragnarök, Suyash Behera, Tully Foote, Werner Neubauer
0.8.3 (2019-11-18)
- Future invokes done callbacks when done (#461)
- Make short key of a QoS policy accessible (#463)
- Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)
- Contributors: Dirk Thomas, Shane Loretz
0.8.2 (2019-11-13)
- Explicitly destroy a node's objects before the node. (#456)
- Get proper parameters with prefixes without dot separator. (#455)
- Fix import to use builtin_interfaces.msg (#453)
- Add missing exec depend on rcl_interfaces (#452)
- Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök
0.8.1 (2019-10-23)
- Fix the unicode test string for opensplice rmw implementation (#447)
- Expand test timeout to deflake rmw_connext (#449)
- Support array parameter types (#444)
- Make use of Clock class for throttling logs (#441)
- Drop rclpy test_remove_ros_args_empty test case. (#445)
- Add Rate (#443)
- Action server: catch exception from user execute callback (#437)
- Make cppcheck happy (#438)
- Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz
0.8.0 (2019-09-26)
- Take parameter overrides provided through the CLI. (#434)
- Changelog version to master (#410)
- Remove deprecated QoS functionality (#431)
- Remove comment (#432)
- Provide subscription count from Publisher #418 (#429)
- Raise custom error when node name is not found (#413)
- Timer uses ROS time by default (#419)
- Fix _rclpy.c formatting. (#421)
- Fail on invalid and unknown ROS specific arguments (#415)
- Force explicit --ros-args in cli args. (#416)
- Make Future result() and __await_ raise exceptions (#412)
- Use of -r/--remap flags where appropriate. (#411)
- Awake waitables on shutdown, check if context is valid (#403)
- Accept tuples as parameter arrays (#389)
- Adapt to '--ros-args ... [--]'-based ROS args extraction (#405)
- Replace 'NULL == ' with ! (#404)
- Declaring 'use_sim_time' when attaching node to time source. (#396)
- Adding ignore_override parameter to declare_parameter(s). (#392)
- fix missing 'raise'
- Adding get_parameters_by_prefix method to Node. (#386)
- remove whitespace (#385)
- Added clients by node implementation from rcl (#383)
- Allowing parameter declaration without a given value. (#382)
- Make flake8 happy on windows (#381)
- Rename QoS*Policy enum's to *Policy (#379)
- Fixing namespace expansion for declare_parameters. (#377)
- Use params from node '/**' from parameter YAML file (#370)
- [executors] don't convert a timeout_sec to nsecs (#372)
- Fix API documentation related to ROS graph methods (#366)
- Treat warnings as test failures and fix warnings (#365)
- Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)
- Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321
0.7.6 (2019-08-28)
- Fix missing raise (#390)
- Fix time conversion for big nanoseconds value (#384)
- Contributors: Daniel Wang, Vinnam Kim
0.7.5 (2019-08-01)
- Updated to use params from node '/**' from parameter YAML file. (#399)
- Updated to declare 'use_sim_time' when attaching node to time source. (#401)
- Fixed an errant conversion to nsecs in executors timeout.[ (]{.title-ref}#397 <<https://github.com/ros2/rclpy/issues/397>>`_)
- Fixed parameter handling issues. (#394)
- Contributors: Juan Ignacio Ubeira, Scott K Logan
0.7.4 (2019-06-12)
- Fix API documentation related to ROS graph methods (#366)
- Contributors: Jacob Perron
0.7.3 (2019-05-29)
- Rename parameter options
(#363)
- rename the initial_parameters option to parameter_overrides
- rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
- update allow_undeclared_parameters docs
- Consolidate create_publisher arguments (#362)
- Enforcing parameter ranges. (#357)
- Initialize QoSProfile with values from rmw_qos_profile_default (#356)
- Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall
0.7.2 (2019-05-20)
- Add convenience name translations for use by commandline utilities etc. (#352)
- Wait for nodes to discover each other in test_action_graph.py (#354)
- Destroy publishers after test is done (#355)
- Create RLock() early to avoid exception at shutdown (#351)
- Fix qos event argument being wrapped in list. It shouldn't have been (#349)
- Parameter flexibility enhancements (#347)
- Update troubleshooting reference to index.ros.org (#348)
- Update test since unicode characters are allowed now (#346)
- Parameter handling improvements. (#345)
- Encourage users to always provide a QoS history depth (#344)
- QoS - API and implementation for Liveliness and Deadline event callbacks (#316)
- Ignore flake8 error 'imported but unused' (#343)
- Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz
0.7.1 (2019-05-08)
- Update tests to include namespace in ROS types (#294)
- Capsule available at self.handle (#340)
- Wake executor when entities created or destroyed (#336)
- Setting automatic declaration for initial parameters to False. (#339)
- Improve signal handling (#338)
- Parameter API enhancements (#325)
- QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)
- Minimal change to build against new rcl API (#305)
- Remove extra references to node handle (#335)
- API updates for RMW preallocation work. (#337)
- Make pub/sub/cli/srv/etc lists use \@property on node (#333)
- Ignore ValueError in SignalHandlerGuardCondition.__del_ (#334)
- Use new test interface definitions (#332)
- Thread safe node.destroy_* (#319)
- Make [destroy_node]{.title-ref} thread safe (#330)
- Remove most of the timing checks in test_executor (#329)
- Prevent rcutils_log from accessing invalid memory (#326)
- Wait set uses pointers to rcl types not rcl->impl types (#324)
- QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)
- Remove __eq_ and __hash_ from Subscription (#323)
- Fix subscription pycapsule not being destroyed (#320)
- Make destroy_subscription thread safe (#318)
- enforce correct message type is passed to various API (#317)
- Every executor gets its own SIGINT guard condition (#308)
- add missing error handling and cleanup (#315)
- Rename action state transitions (#300)
- Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard
0.7.0 (2019-04-14)
- Added action graph API. (#306)
- Added timeout to executor_spin_until_future_complete. (#301)
- Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)
- Set QoS profile to default values to future-proof against uninitialized data if new fields are added
- Fixed executor bug by refreshing nodes when executor is woken. (#310)
- Updated so executor exits immediately when shut down. (#309)
- Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)
- Added param callback to time_source. (#297)
- Updated tests to pass with numpy arrays. (#292)
- Improved error handling to avoid memory leaks in C extension. (#278)
- Fixed sigint guard condition's lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)
- Improved documentation.
(#277)
- Document node.py.
- Fix C extension documentation.
- Document init, shutdown, and spinning.
- Document Publisher and Subscription.
- Document Client and Service.
- Add warnings to constructors of client and service.
- Document executors and callback groups.
- Use typing,TYPE_CHECKING variable for condition imports used by annotations.
- Add instructions for building docs to README.
- Clarify doc briefs for graph discovery functions.
- Added RcutilsLogger.warning. (#284)
- Changed logger.warn (deprecated) to logger.warning. (#283)
- Updated to use separated action types. (#274)
- Updated to guard against failed take when taking action messages. (#281)
- Enabled test using MultiThreadedExecutor. (#280)
- Added ActionServer. (#270)
- Changed error raised by executor dict interface to KeyError. (#276)
- Abstracted type conversions into functions (#269)
- Fixed Node's reference to executor. (#275)
- Updated to enforce UTF8 argv on rclpy.init(). (#273)
- Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)
- Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)
- Added Action Client. (#262)
- Updated to pass context to wait set. (#258)
- Added Waitable to callback group. (#265)
- Fixed flake8 error. (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py. (#259)
- Added rclpy raw subscriptions. (#242)
- Added a test for invalid string checks on publishing. (#256)
- Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 4.1.7 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-11-08 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shane Loretz
- Aditya Pande
Authors
- Esteve Fernandez
- Ivan Paunovic
- Jacob Perron
- William Woodall
Changelog for package rclpy
4.1.7 (2024-11-09)
- TestClient.test_service_timestamps failing consistently. (#1366)
- Fixes spin_until_future_complete inside callback (#1342)
- Install signal handlers after context is initialized. (#1336)
- Fix a bad bug in fetching the lifecycle transitions. (#1323)
- Contributors: Chris Lalancette, Jonathan, Shane Loretz, Tomoya Fujita
4.1.6 (2024-07-10)
- update RCL_RET_TIMEOUT error handling with action service response. (#1277)
- Contributors: Tomoya Fujita
4.1.5 (2024-04-19)
- Fix an inherent race in execution vs. destruction. (#1256)
- Don't crash the action server if the client goes away. (#1217)
- Contributors: Chris Lalancette, Tim Clephas
4.1.4 (2023-11-17)
- Use timeout object to avoid callback losing in wait_for_ready_callbacks (#1184)
- Unregister_sigterm_signal_handler should be called. (#1175)
- Fix wait_for_message accumulating CPU load after repeated calls (#1183)
- Handle take failure in wait_for_message (#1174)
- Contributors: KKSTB, mhidalgo-bdai, Tomoya Fujita
4.1.3 (2023-09-08)
- Fix get_type_description service bug and add a unit test (#1157)
- Avoid generating the exception when rcl_send_response times out. (#1151)
- get_type_description service (#1140)
- Contributors: Emerson Knapp, Tomoya Fujita
4.1.2 (2023-07-14)
- Include type hash in topic endpoint info (#1134)
- Contributors: Hans-Joachim Krauch
4.1.1 (2023-05-11)
4.1.0 (2023-04-18)
- Logging service support (#1102)
- Use custom sourcedir for conf.py (#1109)
- ServerGoalHandle should be destroyed before removing. (#1113)
- Fix unnecessary list comprehension flake8 (#1112)
- Contributors: Barry Xu, Michael Carroll, Tomoya Fujita, Yadu
4.0.0 (2023-04-12)
- Stub type hash value line in TopicEndpointInfo string (#1110)
- Support documentation generation using rosdoc2 (#1103)
- Fix Time and Duration raising exception when compared to another type (#1007)
- Make rcl_interfaces a build and exec dependency. (#1100)
- Solving Atomic undefined on OSX with clang (#1096)
- Implement matched event (#1083)
- Update service.py documentation (#1094)
- Allow space or empty strings when using ros2 param set (#1093)
- Hook up the incompatible type event inside of rclpy (#1058)
- Switch to using module instead of module_ (#1090)
- Add in subscription.get_publisher_count() (#1089)
- Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Erki Suurjaak, Felix Divo, GuiHome, Lucas Wendland, Yadu
3.10.0 (2023-03-01)
- Service introspection (#988)
- Contributors: Brian
3.9.0 (2023-02-24)
- to create a sublogger while getting child of Logger (#1084)
- Fix #983 by saving future and checking for + raising any exceptions (#1073)
- Contributors: Achille Verheye, Chen Lihui
3.8.0 (2023-02-13)
- Force C++17 support on. (#1076)
- Use RCPPUTILS_SCOPE_EXIT to cleanup unparsed_indices_c. (#1075)
- Explicitly link atomic when building with Clang (#1065)
- Fix test_publisher linter for pydocstyle 6.2.2 (#1063)
- Add default preset qos profile (#1062)
- Add on_parameter_event method to the AsyncParameterClient. (#1061)
- Add documentation page for rclpy.clock (#1055)
- Rewrite test code without depending on parameter client (#1045)
- Add parallel callback test (#1044)
- decorator should not be callable. (#1050)
- typo fix. (#1049)
- Add in a warning for a depth of 0 with KEEP_LAST. (#1048)
- Add feature of wait for message (#953). (#960)
- Document rclpy.time.Time class (#1040)
- Deal with ParameterUninitializedException for parameter service (#1033)
- Improve documentation in rclpy.utilities (#1038)
- Document rclpy.utilities.remove_ros_args (#1036)
- Fix incorrect comparsion on whether parameter type is NOT_SET (#1032)
- [rolling] Update maintainers (#1035)
- Contributors: Audrow Nash, Barry Xu, Chris Lalancette, Cristóbal Arroyo, Florian Vahl, Ivan Santiago Paunovic, Lei Liu, Sebastian Freitag, Shane Loretz, Tomoya Fujita
3.7.1 (2022-11-02)
- Set the default number of threads of the MultiThreadedExecutor to 2 (#1031)
- Update the rclpy method documentation. (#1026)
- Revert "Raise user handler exception in MultiThreadedExecutor. (#984)" (#1017)
- Waitable should check callback_group if it can be executed. (#1001)
- Contributors: Chris Lalancette, Tomoya Fujita
3.7.0 (2022-09-13)
- support wildcard matching for params file (#987)
- Raise user handler exception in MultiThreadedExecutor. (#984)
- Add wait_for_node method (#930)
- Create sublogger for action server and action client (#982)
- Support for pre-set and post-set parameter callback. (#966)
- fix gcc 7.5 build errors (#977)
- make _on_parameter_event return result correctly (#817)
- Fix a small typo in documentation. (#967)
- Contributors: Chen Lihui, Chris Lalancette, Deepanshu Bansal, Gonzo, Seulbae Kim, Steve Nogar, Tomoya Fujita, Tony Najjar
3.6.0 (2022-07-14)
- Add Parameter Client (#959)
- Change sphinx theme to readthedocs (#950)
- Name and type in descriptor(s) is ignored via declare_parameter(s). (#957)
- Typo fix (#951)
- Add py.typed to package (#946)
- Fix rclpy.shutdown() from hanging when triggered from callback (#947)
- Check if the context is already shutdown. (#939)
- Contributors: Brian Chen, Tomoya Fujita, Yuki Igarashi
3.5.0 (2022-05-03)
- Avoid causing infinite loop when message is empty (#935)
- Expose 'best available' QoS policies (#928)
- Contributors: Jacob Perron, Takeshi Ishita
3.4.0 (2022-04-29)
- remove feedback callback when the goal has been completed. (#927)
- Allow to create a subscription with a callback that also receives the message info (#922)
- Contributors: Ivan Santiago Paunovic, Tomoya Fujita
3.3.2 (2022-04-08)
- Make rclpy dependencies explicit (#906)
- Contributors: Chris Lalancette
3.3.1 (2022-03-24)
- Avoid exception in Node constructor when use override for 'use_sim_time' (#896)
- time_until_next_call returns max if timer is canceled. (#910)
- Contributors: Artem Shumov, Ivan Santiago Paunovic, Tomoya Fujita
3.3.0 (2022-03-01)
- Properly implement action server/client handle cleanup. (#905)
- Make sure to take out contexts on Action{Client,Server}. (#904)
- Make sure to free the goal_status_array when done using it. (#902)
- Bugfix to Node.destroy_rate() result (#901)
- Remove fastrtps customization on tests (#895)
- fix typo (#890)
- Document that Future.result() may return None (#884)
- update doc release number (#885)
- Contributors: Anthony, Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Miguel Company
3.2.1 (2022-01-14)
- Fix multi-threaded race condition in client.call_async (#871)
- Fix include order for cpplint (#877)
- Bugfix/duration to msg precision (#876)
- Update to pybind11 2.7.1 (#874)
- QoS history depth is only available with KEEP_LAST (#869)
- Contributors: Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Tomoya Fujita
3.2.0 (2021-12-23)
- Implement managed nodes. (#865)
- Make rclpy.try_shutdown() behavior to follow rclpy.shutdown() more closely. (#868)
- Update TopicEndpointTypeEnum.__str_() method to include history kind and history depth. (#849)
- Add Clock.sleep_for() using Clock.sleep_until(). (#864)
- Add Clock.sleep_until() (#858)
- Add __enter_ and __exit_ to JumpHandle. (#862)
- Don't override rclpy._rclpy_pybind11 docs. (#863)
- Improve JumpThreshold documentation and forbid zero durations. (#861)
- Fix time.py and clock.py circular import. (#860)
- Make context.on_shutdown() allow free functions. (#859)
- Fix automatically declared parameters descriptor type. (#853)
- Shutdown asynchronously when sigint is received. (#844)
- Update maintainers. (#845)
- Add entities to callback group before making them available to the executor to avoid a race condition. (#839)
- Avoid race condition in client.call(). (#838)
- Contributors: Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Tomoya Fujita
3.1.0 (2021-10-22)
- Handle sigterm. (#830)
- Use pybind11 for signal handling, and delete now unused rclpy_common, pycapsule, and handle code. (#814)
- Fix memory leak in <Service::take_request>() and Client::take_response(). (#828)
- Add Publisher.wait_for_all_acked(). (#793)
- Only add one done callback to a future in Executor. (#816)
- Add convert function from ParameterValue to Python builtin. (#819)
- Call Context._logging_fini() in Context.try_shutdown(). (#800)
- Lift LoggingSeverity enum as common dependency to logging and rcutils_logger modules (#785)
- Set Context.__context to None in __init_(). (#812)
- Remove unused function make_mock_subscription. (#809)
- Contributors: Barry Xu, Chris Lalancette, Ivan Santiago Paunovic, Jacob Perron, Lei Liu, Louise Poubel, Shane Loretz, ksuszka
3.0.1 (2021-06-11)
- Removed common.c/h (#789)
- Contributors: Alejandro Hernández Cordero
3.0.0 (2021-05-19)
- Allow declaring uninitialized parameters (#798)
- Reject cancel request if failed to transit to CANCEL_GOAL state (#791)
- Deleted handle as it should no longer be used (#786)
- Removed some functions in common.c and replaced them in utils.cpp (#787)
- Moved exception.cpp/hpp to the _rclpy_pybind11 module (#788)
- Contributors: Alejandro Hernández Cordero, Jacob Perron, Tomoya Fujita
2.0.0 (2021-05-10)
- Print 'Infinite' for infinite durations in topic endpoint info (#722)
- Break log function execution ASAP if configured severity is too high (#776)
- Convert Node and Context to use C++ Classes (#771)
- Misc action server improvements (#774)
- Misc action goal handle improvements (#767)
- Convert Guardcondition to use C++ classes (#772)
- Removed unused structs
rclpy_client_t
andrclpy_service_t
(#770) - Convert WaitSet to use C++ Classes (#769)
- Convert ActionServer to use C++ Classes (#766)
- Convert ActionClient to use C++ classes (#759)
- Use py::class_ for rcl_action_goal_handle_t (#751)
- Convert Publisher and Subscription to use C++ Classes (#756)
- Contributors: Alejandro Hernández Cordero, Emerson Knapp, Greg Balke, Shane Loretz, ksuszka
1.8.1 (2021-04-12)
- typo fix. (#768)
- Restore exceptions for Connext and message timestamps on Windows (#765)
- Use correct type when creating test publisher (#764)
- Add a test for destroy_node while spinning (#663)
- Add __enter_ and __exit_ to Waitable (#761)
- Check if shutdown callback weak method is valid before calling it (#754)
- Contributors: Andrea Sorbini, Ivan Santiago Paunovic, Scott K Logan, Shane Loretz, Tomoya Fujita
1.8.0 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#755)
- Use py::class_ for rcl_event_t (#750)
- Convert Clock to use a C++ Class (#749)
- Convert Service to use C++ Class (#747)
- Fix windows warning by using consistent types (#753)
- Use py::class_ for rmw_service_info_t and rmw_request_id_t (#748)
- Convert Timer to use a C++ Class (#745)
- Add PythonAllocator (#746)
- Use py::class_ for rmw_qos_profile_t (#741)
- Combine pybind11 modules into one (#743)
- Use py::class_ for rcl_duration_t (#744)
- Fix bug in unique_ptr type argument (#742)
- Convert Client to use C++ Class (#739)
- Converting last of _rclpy.c to pybind11 (#738)
- Make sure only non-empty std::vector of arguments are indexed (#740)
- Use py::class_ for rcl_time_point_t (#737)
- Convert logging mutex functions to pybind11 (#735)
- Document misuse of of parameter callbacks (#734)
- Convert QoS APIs to pybind11 (#736)
- Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Chris Lalancette, Greg Balke, Jacob Perron, Michel Hidalgo, Shane Loretz
1.7.0 (2021-03-25)
- Add API for checking QoS profile compatibility (#708)
- Replace rmw_connext_cpp with rmw_connextdds (#698)
- Convert last of pub/sub getters to pybind11 (#733)
- Pybind 11: count_subscribers and count_publishers (#732)
- Convert more node accessors to pybind11 (#730)
- Pybind11-ify rclpy_get_node_parameters (#718)
- Modify parameter service behavior when allow_undeclared_parameters is false and the requested parameter doesn't exist (#661)
- Include pybind11 first to fix windows debug warning (#731)
- Convert init/shutdown to pybind11 (#715)
- Convert take API to pybind11 (#721)
- Migrate qos event APIs to pybind11 (#723)
- Remove pybind11 from rclpy common (#727)
- Look up pybind11 package once (#726)
- typo fix. (#729)
- [pybind11] Node Accessors (#719)
- Contributors: Alejandro Hernández Cordero, Andrea Sorbini, Audrow Nash, Greg Balke, Michel Hidalgo, Shane Loretz, Tomoya Fujita
1.6.0 (2021-03-18)
- Convert serialize/deserialize to pybind11 (#712)
- Convert names_and_types graph APIs to pybind11 (#717)
- Use Pybind11 for name functions (#709)
- Better checks for valid msg and srv types (#714)
- Convert duration to pybind11 (#716)
- Convert wait_set functions to pybind11 (#706)
- Explicitly populate tuple with None (#711)
- Change the time jump time type to just rcl_time_jump_t. (#707)
- Convert rclpy service functions to pybind11 (#703)
- Bump the cppcheck timeout by 2 minutes (#705)
- Convert subscription functions to pybind11 (#696)
- Convert rclpy client functions to pybind11 (#701)
- Fix static typing when allow undeclared (#702)
- Convert publisher functions to pybind11 (#695)
- Convert clock and time functions to pybind11 (#699)
- Set destructor on QoS Profile struct (#700)
- Convert timer functions to pybind11 (#693)
- Convert guard conditions functions to pybind11 (#692)
- Convert service info functions to pybind11 (#694)
- Enforce static parameter types when dynamic typing is not specified (#683)
- rclpy_ok and rclpy_create_context to pybind11 (#691)
- Include Pybind11 before Python.h (#690)
- Clean up exceptions in _rclpy_action (#685)
- Clean windows flags on _rclpy_pybind11 and _rclpy_action (#688)
- Use pybind11 for _rclpy_handle (#668)
- Split rclpy module for easier porting to pybind11 (#675)
- Use Pybind11 to generate _rclpy_logging (#659)
- Copy windows debug fixes for pybind11 (#681)
- Use pybind11 for _rclpy_action (#678)
- Update just pycapsule lib to use pybind11 (#652)
- remove maintainer (#682)
- Use Pybind11's CMake code (#667)
- Don't call destroy_node while spinning (#674)
- Check the rcl_action return value on cleanup. (#672)
- Fix the NULL check for destroy_ros_message. (#677)
- Use Py_XDECREF for pynode_names_and_namespaces (#673)
- Use Py_XDECREF for pyresult_list. (#670)
- Contributors: Chris Lalancette, Claire Wang, Ivan Santiago Paunovic, Michel Hidalgo, Scott K Logan, Shane Loretz
1.5.0 (2021-01-25)
- Fix dead stores. (#669)
- Fix two clang static analysis warnings. (#664)
- Add method to get the current logging directory (#657)
- Fix docstring indent error in create_node (#655)
- use only True to avoid confusion in autodoc config
- document QoS profile constants
- Merge pull request #649 from ros2/clalancette/dont-except-while-sleep
- Fixes from review/CI.
- Make sure to catch the ROSInterruptException when calling rate.sleep.
- memory leak (#643) (#645)
- Don't throw an exception if timer canceled while sleeping.
- Wake executor in Node.create_subscription() (#647)
- Contributors: Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tully Foote, ssumoo, tomoya
1.4.0 (2020-12-08)
- Fix Enum not being comparable with ints in get_parameter_types service
- Qos configurability (#635)
- Use Py_XDECREF for pytopic_names_and_types. (#638)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, tomoya
1.3.0 (2020-11-02)
- qos_policy_name_from_kind() should accept either a QoSPolicyKind or an int (#637)
- Add method in Node to resolve a topic or service name (#636)
- Contributors: Ivan Santiago Paunovic
1.2.1 (2020-10-28)
- Deprecate verbose qos policy value names (#634)
- Remove deprecated set_parameters_callback (#633)
- Make sure to use Py_XDECREF in rclpy_get_service_names_and_types (#632)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic
1.2.0 (2020-10-19)
- Update maintainers (#627)
- Add in semicolon on RCUTILS_LOGGING_AUTOINIT. (#624)
- Add in the topic name when QoS events are fired. (#621)
- Use best effort, keep last, history depth 1 QoS Profile for '/clock' subscriptions (#619)
- PARAM_REL_TOL documentation fix (#559)
- Node get fully qualified name (#598)
- MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605)
- skip test relying on source timestamps with Connext (#615)
- Use the rpyutils shared import_c_library function. (#610)
- Add ability to configure domain ID (#596)
- Use absolute parameter events topic name (#612)
- Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603)
- Default incompatible qos callback should be set when there's no user specified callback (#601)
- relax rate jitter test for individual periods (#602)
- add QoSProfile.__str_ (#593)
- Add useful debug info when trying to publish the wrong type (#581)
- Pass rcutils_include_dirs to cppcheck (#577)
- wrap lines to shorten line length (#586)
- fix moved troubleshooting url (#579)
- improve error message if rclpy C extensions are not found (#580)
- Contributors: Barry Xu, Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Emerson Knapp, Ivan Santiago Paunovic, Loy, Zhen Ju
1.1.0 (2020-06-18)
- Add message lost subscription event (#572)
- Fix executor behavior on shutdown (#574)
- Add missing rcutils/macros.h header (#573)
- Add [topic_name]{.title-ref} property to Subscription (#571)
- Add [topic_name]{.title-ref} property to publisher (#568)
- Fix and document rclpy_handle_get_pointer_from_capsule() (#569)
- Fix docstrings (#566)
- Contributors: Audrow, Audrow Nash, Claire Wang, Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Zhen Ju
1.0.2 (2020-06-01)
- Protect access to global logging calls with a mutex (#562)
- Ensure executors' spinning API handles shutdown properly (#563)
- Contributors: Michel Hidalgo, William Woodall
1.0.1 (2020-05-18)
- Explicitly add DLL directories for Windows before importing (#558)
- Contributors: Jacob Perron
1.0.0 (2020-05-12)
- Remove MANUAL_BY_NODE liveliness API (#556)
- Fix bug that not to get expected data because use less timeout (#548)
- Contributors: Barry Xu, Ivan Santiago Paunovic
0.9.1 (2020-05-08)
- Fix bad rmw_time_t to nanoseconds conversion. (#555)
- Skip flaky timer test on windows (#554)
- Cleanup rmw publisher/subscription on exception (#553)
- Contributors: Ivan Santiago Paunovic, Miaofei Mei, Michel Hidalgo
0.9.0 (2020-04-29)
- Fix flaky test expecting wrong return type of rclpy_take (#552)
- Fix warning about pytaken_msg maybe being uninitialized (#551)
- Handle a failed rcl_take() call in rclpy_take() (#550)
- Enforce a precedence for wildcard matching in parameter overrides (#547)
- Feature/services timestamps (#545)
- Add method to take with message_info (#542)
- Ensure logging is initialized only once (#518)
- Update includes to use non-entry point headers from detail subdir (#541)
- Create a default warning for qos incompatibility (#536)
- Add enclaves introspection method in [Node]{.title-ref} (#538)
- Rename rosidl_generator_c namespace to rosidl_runtime_c (#540)
- Use f-string to fix flake8 warning (#539)
- Don't persist node and context between tests (#526)
- Avoid unsigned/signed comparison (#535)
- Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#459)
- Switch to slightly more generic isinstance
- Add capability to publish serialized messages (#509)
- Set context when creating Timer (#525)
- Don't check lifespan on subscriber QoS (#523)
- Deprecate set_parameters_callback API (#504)
- Add env var to filter available RMW implementations (#522)
- Fix object destruction order (#497)
- Fixed flake8 rclpy test utilities (#519)
- Fixes max_jitter calculation (#512)
- Included get_available_rmw_implementations (#517)
- Embolden warning about Client.call() potentially deadlocking (#516)
- Enable test_get_publishers_subscriptions_info_by_topic() unit test for more rmw_implementations (#511)
- Change sizes to Py_ssize_t (#514)
- Rename rmw_topic_endpoint_info_array count to size (#510)
- Implement functions to get publisher and subcription informations like QoS policies from topic name (#454)
- Call init and shutdown thread safely (#508)
- Support multiple "on parameter set" callbacks (#457)
- Code style only: wrap after open parenthesis if not in one line (#500)
- Add wrappers for RMW serialize and deserialize functions (#495)
- Move logic for getting type support into a common function (#492)
- Find test dependency rosidl_generator_py (#493)
- Avoid reference cycle between Node and ParameterService (#490)
- Avoid a reference cycle between Node and TimeSource (#488)
- Fix typo (#489)
- Handle unknown global ROS arguments (#485)
- Fix the type annotation on get_parameters_by_prefix (#482)
- Replace RuntimeError with new custom exception RCLError (#478)
- Update constructor docstrings to use imperative mood (#480)
- Use absolute topic name for rosout (#479)
- Guard against unexpected action responses (#474)
- Fix test_action_client.py failures (#471)
- Enable/disable rosout logging in each node individually (#469)
- Make use of rcutils log severity defined enum instead of duplicating code (#468)
- Provide logging severity for string (#458)
- Send feedback callbacks properly in send_goal() of action client (#451)
- Contributors: Abhinav Singh, Alejandro Hernández Cordero, Barry Xu, Brian Marchi, Chris Lalancette, Dan Rose, Dirk Thomas, Donghee Ye, Emerson Knapp, Felix Divo, Ingo Lütkebohle, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Michel Hidalgo, Shane Loretz, Stephen Brawner, Steven! Ragnarök, Suyash Behera, Tully Foote, Werner Neubauer
0.8.3 (2019-11-18)
- Future invokes done callbacks when done (#461)
- Make short key of a QoS policy accessible (#463)
- Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)
- Contributors: Dirk Thomas, Shane Loretz
0.8.2 (2019-11-13)
- Explicitly destroy a node's objects before the node. (#456)
- Get proper parameters with prefixes without dot separator. (#455)
- Fix import to use builtin_interfaces.msg (#453)
- Add missing exec depend on rcl_interfaces (#452)
- Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök
0.8.1 (2019-10-23)
- Fix the unicode test string for opensplice rmw implementation (#447)
- Expand test timeout to deflake rmw_connext (#449)
- Support array parameter types (#444)
- Make use of Clock class for throttling logs (#441)
- Drop rclpy test_remove_ros_args_empty test case. (#445)
- Add Rate (#443)
- Action server: catch exception from user execute callback (#437)
- Make cppcheck happy (#438)
- Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz
0.8.0 (2019-09-26)
- Take parameter overrides provided through the CLI. (#434)
- Changelog version to master (#410)
- Remove deprecated QoS functionality (#431)
- Remove comment (#432)
- Provide subscription count from Publisher #418 (#429)
- Raise custom error when node name is not found (#413)
- Timer uses ROS time by default (#419)
- Fix _rclpy.c formatting. (#421)
- Fail on invalid and unknown ROS specific arguments (#415)
- Force explicit --ros-args in cli args. (#416)
- Make Future result() and __await_ raise exceptions (#412)
- Use of -r/--remap flags where appropriate. (#411)
- Awake waitables on shutdown, check if context is valid (#403)
- Accept tuples as parameter arrays (#389)
- Adapt to '--ros-args ... [--]'-based ROS args extraction (#405)
- Replace 'NULL == ' with ! (#404)
- Declaring 'use_sim_time' when attaching node to time source. (#396)
- Adding ignore_override parameter to declare_parameter(s). (#392)
- fix missing 'raise'
- Adding get_parameters_by_prefix method to Node. (#386)
- remove whitespace (#385)
- Added clients by node implementation from rcl (#383)
- Allowing parameter declaration without a given value. (#382)
- Make flake8 happy on windows (#381)
- Rename QoS*Policy enum's to *Policy (#379)
- Fixing namespace expansion for declare_parameters. (#377)
- Use params from node '/**' from parameter YAML file (#370)
- [executors] don't convert a timeout_sec to nsecs (#372)
- Fix API documentation related to ROS graph methods (#366)
- Treat warnings as test failures and fix warnings (#365)
- Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)
- Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321
0.7.6 (2019-08-28)
- Fix missing raise (#390)
- Fix time conversion for big nanoseconds value (#384)
- Contributors: Daniel Wang, Vinnam Kim
0.7.5 (2019-08-01)
- Updated to use params from node '/**' from parameter YAML file. (#399)
- Updated to declare 'use_sim_time' when attaching node to time source. (#401)
- Fixed an errant conversion to nsecs in executors timeout.[ (]{.title-ref}#397 <<https://github.com/ros2/rclpy/issues/397>>`_)
- Fixed parameter handling issues. (#394)
- Contributors: Juan Ignacio Ubeira, Scott K Logan
0.7.4 (2019-06-12)
- Fix API documentation related to ROS graph methods (#366)
- Contributors: Jacob Perron
0.7.3 (2019-05-29)
- Rename parameter options
(#363)
- rename the initial_parameters option to parameter_overrides
- rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
- update allow_undeclared_parameters docs
- Consolidate create_publisher arguments (#362)
- Enforcing parameter ranges. (#357)
- Initialize QoSProfile with values from rmw_qos_profile_default (#356)
- Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall
0.7.2 (2019-05-20)
- Add convenience name translations for use by commandline utilities etc. (#352)
- Wait for nodes to discover each other in test_action_graph.py (#354)
- Destroy publishers after test is done (#355)
- Create RLock() early to avoid exception at shutdown (#351)
- Fix qos event argument being wrapped in list. It shouldn't have been (#349)
- Parameter flexibility enhancements (#347)
- Update troubleshooting reference to index.ros.org (#348)
- Update test since unicode characters are allowed now (#346)
- Parameter handling improvements. (#345)
- Encourage users to always provide a QoS history depth (#344)
- QoS - API and implementation for Liveliness and Deadline event callbacks (#316)
- Ignore flake8 error 'imported but unused' (#343)
- Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz
0.7.1 (2019-05-08)
- Update tests to include namespace in ROS types (#294)
- Capsule available at self.handle (#340)
- Wake executor when entities created or destroyed (#336)
- Setting automatic declaration for initial parameters to False. (#339)
- Improve signal handling (#338)
- Parameter API enhancements (#325)
- QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)
- Minimal change to build against new rcl API (#305)
- Remove extra references to node handle (#335)
- API updates for RMW preallocation work. (#337)
- Make pub/sub/cli/srv/etc lists use \@property on node (#333)
- Ignore ValueError in SignalHandlerGuardCondition.__del_ (#334)
- Use new test interface definitions (#332)
- Thread safe node.destroy_* (#319)
- Make [destroy_node]{.title-ref} thread safe (#330)
- Remove most of the timing checks in test_executor (#329)
- Prevent rcutils_log from accessing invalid memory (#326)
- Wait set uses pointers to rcl types not rcl->impl types (#324)
- QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)
- Remove __eq_ and __hash_ from Subscription (#323)
- Fix subscription pycapsule not being destroyed (#320)
- Make destroy_subscription thread safe (#318)
- enforce correct message type is passed to various API (#317)
- Every executor gets its own SIGINT guard condition (#308)
- add missing error handling and cleanup (#315)
- Rename action state transitions (#300)
- Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard
0.7.0 (2019-04-14)
- Added action graph API. (#306)
- Added timeout to executor_spin_until_future_complete. (#301)
- Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)
- Set QoS profile to default values to future-proof against uninitialized data if new fields are added
- Fixed executor bug by refreshing nodes when executor is woken. (#310)
- Updated so executor exits immediately when shut down. (#309)
- Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)
- Added param callback to time_source. (#297)
- Updated tests to pass with numpy arrays. (#292)
- Improved error handling to avoid memory leaks in C extension. (#278)
- Fixed sigint guard condition's lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)
- Improved documentation.
(#277)
- Document node.py.
- Fix C extension documentation.
- Document init, shutdown, and spinning.
- Document Publisher and Subscription.
- Document Client and Service.
- Add warnings to constructors of client and service.
- Document executors and callback groups.
- Use typing,TYPE_CHECKING variable for condition imports used by annotations.
- Add instructions for building docs to README.
- Clarify doc briefs for graph discovery functions.
- Added RcutilsLogger.warning. (#284)
- Changed logger.warn (deprecated) to logger.warning. (#283)
- Updated to use separated action types. (#274)
- Updated to guard against failed take when taking action messages. (#281)
- Enabled test using MultiThreadedExecutor. (#280)
- Added ActionServer. (#270)
- Changed error raised by executor dict interface to KeyError. (#276)
- Abstracted type conversions into functions (#269)
- Fixed Node's reference to executor. (#275)
- Updated to enforce UTF8 argv on rclpy.init(). (#273)
- Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)
- Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)
- Added Action Client. (#262)
- Updated to pass context to wait set. (#258)
- Added Waitable to callback group. (#265)
- Fixed flake8 error. (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py. (#259)
- Added rclpy raw subscriptions. (#242)
- Added a test for invalid string checks on publishing. (#256)
- Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 7.1.2 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-27 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shane Loretz
- Aditya Pande
Authors
- Esteve Fernandez
- Ivan Paunovic
- Jacob Perron
- William Woodall
Changelog for package rclpy
7.1.2 (2024-09-06)
- Fixes spin_until_future_complete inside callback (#1316) (#1341) Closes rclpy:#1313 Current if spin_unitl_future_complete is called inside a nodes callback it removes the node from the executor This results in any subsiquent waitables to never be checked by the node since the node is no longer in the executor This aims to fix that by only removing the node from the executor if it wasn't already present Co-authored-by: mergify[bot] <37929162+mergify[bot]\@users.noreply.github.com> (cherry picked from commit 47346ef9688039b890ae19c499d4b51587a7305b) Co-authored-by: Jonathan <<jmblixt3@gmail.com>>
- Install signal handlers after context is initialized. (#1333) Co-authored-by: Shane Loretz <<shane.loretz@gmail.com>>
- Fix a bad bug in fetching the lifecycle transitions. (#1321) (#1322) We were fetching one more lifecycle transition than existed in the source list (i.e. we should use < instead of <=). In turn, this allows us to enable the test_lifecycle.py test, and to fix the spurious "empty" string in the expected states. (cherry picked from commit 2a8f23ed1b52ea2355658cce09d7045b955f417a) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- Contributors: Tomoya Fujita, mergify[bot]
7.1.1 (2024-04-16)
- Clock.py types.
(#1244)
- Start typing time.py
- Testing out Enum wrapper for ClockType
- convert to rcl_clock_type_t
- Update create_time_point
- add types to logging_service
- Add types to duration.py
- Add newlines for class definintions
- update type alias name
- Update to use Protocols
- Add types to time.py
- Add types
- Fix import order
- Started typing clock.py
- Move typealias import
- pybind11 definition doc typo fixes. (#1270)
- Fix small flake8 error in rclpy. (#1267) Newer versions of flake8 complain that using 'str' as a variable shadows a builtin. Just make it 's'.
- Contributors: Chris Lalancette, Michael Carlstrom, Tomoya Fujita
7.1.0 (2024-03-28)
- Allow specifying qos (#1225)
- update RCL_RET_TIMEOUT error handling with action service response. (#1258)
- Add types to time_source.py (#1259)
- Small fixes for modern flake8. (#1264)
- Add types to qos_overriding_options.py (#1248)
- Add types to context.py (#1240)
- Add back Type hash __slots_ and add test cases. (#1245)
- Revert "Add types to TypeHash and moved away from __slots_ usage (#1232)" (#1243)
- Time.py Types (#1237)
- Add types to TypeHash and moved away from __slots_ usage (#1232)
- Add Static Typing to Validate files (#1230)
- Add types to duration.py (#1233)
- added python3-yaml (#1242)
- Add types to exceptions.py (#1241)
- Add types (#1231)
- Creates Enum wrapper for ClockType and ClockChange (#1235)
- Add types to expand_topic_name (#1238)
- Add types to logging_service.py (#1227)
- Add types to logging.py (#1226)
- forbid parameter to be declared statically without initialization. (#1216)
- Contributors: Chris Lalancette, Michael Carlstrom, SnIcK, Tim Clephas, Tomoya Fujita
7.0.1 (2024-02-07)
- Remove parentheses from assert statements. (#1213)
- Contributors: Chris Lalancette
7.0.0 (2023-12-26)
- Add doc-string warnings for destroy methods for services. (#1205)
- Add doc-string warnings for destroy() methods (#1204)
- Add an optional timeout_sec input to Client.call() to fix issue https://github.com/ros2/rclpy/issues/1181 (#1188)
- aligh with rcl that a rosout publisher of a node might not exist (#1196)
- call ok() to see if rclpy and context is initialized. (#1198)
- Contributors: Chen Lihui, KKSTB, Steve Peters, Tomoya Fujita
6.0.0 (2023-11-06)
- Adjust python usage of the type_description service API (#1192)
- Document that spin_once() should not be called from multiple threads (#1079)
- making optional things Optional (#1182)
- Use timeout object to avoid callback losing in wait_for_ready_callbacks (#1165)
- Contributors: AndyZe, Anton Kesy, Barry Xu, Michael Carroll
5.4.0 (2023-10-09)
- Fix to issue https://github.com/ros2/rclpy/issues/1179 (#1180)
- Add count services, clients & test (#1024)
- Contributors: KKSTB, Minju, Lee
5.3.0 (2023-10-04)
- 1105 parameter event handler (#1135)
- unregister_sigterm_signal_handler should be called. (#1170)
- Handle take failure in wait_for_message (#1172)
- Decouple rosout publisher init from node init. (#1121)
- Fix _list_parameters_callback & test (#1161)
- Contributors: EsipovPA, Minju, Lee, Tomoya Fujita, mhidalgo-bdai
5.2.0 (2023-09-08)
- add list_parameters & test (#1124)
- Contributors: Minju, Lee
5.1.0 (2023-09-07)
- Support to get remapped service name (#1156)
- a couple of typo fixes. (#1158)
- Fix get_type_description service bug and add a unit test (#1155)
- Fix an inherent race in execution vs. destruction. (#1150)
- Cleanup of test_node.py. (#1153)
- Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Tomoya Fujita
5.0.1 (2023-08-21)
- Avoid generating the exception when rcl_send_response times out. (#1136)
- Store time source clocks in a set (#1146)
- Fix spin_once_until_future_complete to quit when the future finishes. (#1143)
- Contributors: Chris Lalancette, Luca Della Vedova, Tomoya Fujita
5.0.0 (2023-07-11)
- get_type_description service (#1139)
- Add in the ability to start timers paused. (#1138)
- Modifies ros_timer_init for ros_timer_init2 (#999)
- Fix/param namespace association 894 (#1132)
- Include type hash in topic endpoint info (#1104)
- Contributors: Chris Lalancette, Eloy Briceno, Emerson Knapp, Hans-Joachim Krauch, M. Hofstätter
4.2.2 (2023-06-07)
- Fix iteration over modified list (#1129)
- making optional things Optional (#974)
- Fix type signature of Client.wait_for_service (#1128)
- Contributors: Brian, Felix Divo
4.2.1 (2023-05-11)
- Fix action server crash when the client goes away. (#1114)
- Turn Executor into a ContextManager (#1118)
- Turn Context into a ContextManager (#1117)
- Fix type in Node init args (#1115)
- Contributors: Chris Lalancette, Felix Divo, Russ
4.2.0 (2023-04-27)
4.1.0 (2023-04-18)
- Logging service support (#1102)
- Use custom sourcedir for conf.py (#1109)
- ServerGoalHandle should be destroyed before removing. (#1113)
- Fix unnecessary list comprehension flake8 (#1112)
- Contributors: Barry Xu, Michael Carroll, Tomoya Fujita, Yadu
4.0.0 (2023-04-12)
- Stub type hash value line in TopicEndpointInfo string (#1110)
- Support documentation generation using rosdoc2 (#1103)
- Fix Time and Duration raising exception when compared to another type (#1007)
- Make rcl_interfaces a build and exec dependency. (#1100)
- Solving Atomic undefined on OSX with clang (#1096)
- Implement matched event (#1083)
- Update service.py documentation (#1094)
- Allow space or empty strings when using ros2 param set (#1093)
- Hook up the incompatible type event inside of rclpy (#1058)
- Switch to using module instead of module_ (#1090)
- Add in subscription.get_publisher_count() (#1089)
- Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Erki Suurjaak, Felix Divo, GuiHome, Lucas Wendland, Yadu
3.10.0 (2023-03-01)
- Service introspection (#988)
- Contributors: Brian
3.9.0 (2023-02-24)
- to create a sublogger while getting child of Logger (#1084)
- Fix #983 by saving future and checking for + raising any exceptions (#1073)
- Contributors: Achille Verheye, Chen Lihui
3.8.0 (2023-02-13)
- Force C++17 support on. (#1076)
- Use RCPPUTILS_SCOPE_EXIT to cleanup unparsed_indices_c. (#1075)
- Explicitly link atomic when building with Clang (#1065)
- Fix test_publisher linter for pydocstyle 6.2.2 (#1063)
- Add default preset qos profile (#1062)
- Add on_parameter_event method to the AsyncParameterClient. (#1061)
- Add documentation page for rclpy.clock (#1055)
- Rewrite test code without depending on parameter client (#1045)
- Add parallel callback test (#1044)
- decorator should not be callable. (#1050)
- typo fix. (#1049)
- Add in a warning for a depth of 0 with KEEP_LAST. (#1048)
- Add feature of wait for message (#953). (#960)
- Document rclpy.time.Time class (#1040)
- Deal with ParameterUninitializedException for parameter service (#1033)
- Improve documentation in rclpy.utilities (#1038)
- Document rclpy.utilities.remove_ros_args (#1036)
- Fix incorrect comparsion on whether parameter type is NOT_SET (#1032)
- [rolling] Update maintainers (#1035)
- Contributors: Audrow Nash, Barry Xu, Chris Lalancette, Cristóbal Arroyo, Florian Vahl, Ivan Santiago Paunovic, Lei Liu, Sebastian Freitag, Shane Loretz, Tomoya Fujita
3.7.1 (2022-11-02)
- Set the default number of threads of the MultiThreadedExecutor to 2 (#1031)
- Update the rclpy method documentation. (#1026)
- Revert "Raise user handler exception in MultiThreadedExecutor. (#984)" (#1017)
- Waitable should check callback_group if it can be executed. (#1001)
- Contributors: Chris Lalancette, Tomoya Fujita
3.7.0 (2022-09-13)
- support wildcard matching for params file (#987)
- Raise user handler exception in MultiThreadedExecutor. (#984)
- Add wait_for_node method (#930)
- Create sublogger for action server and action client (#982)
- Support for pre-set and post-set parameter callback. (#966)
- fix gcc 7.5 build errors (#977)
- make _on_parameter_event return result correctly (#817)
- Fix a small typo in documentation. (#967)
- Contributors: Chen Lihui, Chris Lalancette, Deepanshu Bansal, Gonzo, Seulbae Kim, Steve Nogar, Tomoya Fujita, Tony Najjar
3.6.0 (2022-07-14)
- Add Parameter Client (#959)
- Change sphinx theme to readthedocs (#950)
- Name and type in descriptor(s) is ignored via declare_parameter(s). (#957)
- Typo fix (#951)
- Add py.typed to package (#946)
- Fix rclpy.shutdown() from hanging when triggered from callback (#947)
- Check if the context is already shutdown. (#939)
- Contributors: Brian Chen, Tomoya Fujita, Yuki Igarashi
3.5.0 (2022-05-03)
- Avoid causing infinite loop when message is empty (#935)
- Expose 'best available' QoS policies (#928)
- Contributors: Jacob Perron, Takeshi Ishita
3.4.0 (2022-04-29)
- remove feedback callback when the goal has been completed. (#927)
- Allow to create a subscription with a callback that also receives the message info (#922)
- Contributors: Ivan Santiago Paunovic, Tomoya Fujita
3.3.2 (2022-04-08)
- Make rclpy dependencies explicit (#906)
- Contributors: Chris Lalancette
3.3.1 (2022-03-24)
- Avoid exception in Node constructor when use override for 'use_sim_time' (#896)
- time_until_next_call returns max if timer is canceled. (#910)
- Contributors: Artem Shumov, Ivan Santiago Paunovic, Tomoya Fujita
3.3.0 (2022-03-01)
- Properly implement action server/client handle cleanup. (#905)
- Make sure to take out contexts on Action{Client,Server}. (#904)
- Make sure to free the goal_status_array when done using it. (#902)
- Bugfix to Node.destroy_rate() result (#901)
- Remove fastrtps customization on tests (#895)
- fix typo (#890)
- Document that Future.result() may return None (#884)
- update doc release number (#885)
- Contributors: Anthony, Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Miguel Company
3.2.1 (2022-01-14)
- Fix multi-threaded race condition in client.call_async (#871)
- Fix include order for cpplint (#877)
- Bugfix/duration to msg precision (#876)
- Update to pybind11 2.7.1 (#874)
- QoS history depth is only available with KEEP_LAST (#869)
- Contributors: Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Tomoya Fujita
3.2.0 (2021-12-23)
- Implement managed nodes. (#865)
- Make rclpy.try_shutdown() behavior to follow rclpy.shutdown() more closely. (#868)
- Update TopicEndpointTypeEnum.__str_() method to include history kind and history depth. (#849)
- Add Clock.sleep_for() using Clock.sleep_until(). (#864)
- Add Clock.sleep_until() (#858)
- Add __enter_ and __exit_ to JumpHandle. (#862)
- Don't override rclpy._rclpy_pybind11 docs. (#863)
- Improve JumpThreshold documentation and forbid zero durations. (#861)
- Fix time.py and clock.py circular import. (#860)
- Make context.on_shutdown() allow free functions. (#859)
- Fix automatically declared parameters descriptor type. (#853)
- Shutdown asynchronously when sigint is received. (#844)
- Update maintainers. (#845)
- Add entities to callback group before making them available to the executor to avoid a race condition. (#839)
- Avoid race condition in client.call(). (#838)
- Contributors: Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Tomoya Fujita
3.1.0 (2021-10-22)
- Handle sigterm. (#830)
- Use pybind11 for signal handling, and delete now unused rclpy_common, pycapsule, and handle code. (#814)
- Fix memory leak in <Service::take_request>() and Client::take_response(). (#828)
- Add Publisher.wait_for_all_acked(). (#793)
- Only add one done callback to a future in Executor. (#816)
- Add convert function from ParameterValue to Python builtin. (#819)
- Call Context._logging_fini() in Context.try_shutdown(). (#800)
- Lift LoggingSeverity enum as common dependency to logging and rcutils_logger modules (#785)
- Set Context.__context to None in __init_(). (#812)
- Remove unused function make_mock_subscription. (#809)
- Contributors: Barry Xu, Chris Lalancette, Ivan Santiago Paunovic, Jacob Perron, Lei Liu, Louise Poubel, Shane Loretz, ksuszka
3.0.1 (2021-06-11)
- Removed common.c/h (#789)
- Contributors: Alejandro Hernández Cordero
3.0.0 (2021-05-19)
- Allow declaring uninitialized parameters (#798)
- Reject cancel request if failed to transit to CANCEL_GOAL state (#791)
- Deleted handle as it should no longer be used (#786)
- Removed some functions in common.c and replaced them in utils.cpp (#787)
- Moved exception.cpp/hpp to the _rclpy_pybind11 module (#788)
- Contributors: Alejandro Hernández Cordero, Jacob Perron, Tomoya Fujita
2.0.0 (2021-05-10)
- Print 'Infinite' for infinite durations in topic endpoint info (#722)
- Break log function execution ASAP if configured severity is too high (#776)
- Convert Node and Context to use C++ Classes (#771)
- Misc action server improvements (#774)
- Misc action goal handle improvements (#767)
- Convert Guardcondition to use C++ classes (#772)
- Removed unused structs
rclpy_client_t
andrclpy_service_t
(#770) - Convert WaitSet to use C++ Classes (#769)
- Convert ActionServer to use C++ Classes (#766)
- Convert ActionClient to use C++ classes (#759)
- Use py::class_ for rcl_action_goal_handle_t (#751)
- Convert Publisher and Subscription to use C++ Classes (#756)
- Contributors: Alejandro Hernández Cordero, Emerson Knapp, Greg Balke, Shane Loretz, ksuszka
1.8.1 (2021-04-12)
- typo fix. (#768)
- Restore exceptions for Connext and message timestamps on Windows (#765)
- Use correct type when creating test publisher (#764)
- Add a test for destroy_node while spinning (#663)
- Add __enter_ and __exit_ to Waitable (#761)
- Check if shutdown callback weak method is valid before calling it (#754)
- Contributors: Andrea Sorbini, Ivan Santiago Paunovic, Scott K Logan, Shane Loretz, Tomoya Fujita
1.8.0 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#755)
- Use py::class_ for rcl_event_t (#750)
- Convert Clock to use a C++ Class (#749)
- Convert Service to use C++ Class (#747)
- Fix windows warning by using consistent types (#753)
- Use py::class_ for rmw_service_info_t and rmw_request_id_t (#748)
- Convert Timer to use a C++ Class (#745)
- Add PythonAllocator (#746)
- Use py::class_ for rmw_qos_profile_t (#741)
- Combine pybind11 modules into one (#743)
- Use py::class_ for rcl_duration_t (#744)
- Fix bug in unique_ptr type argument (#742)
- Convert Client to use C++ Class (#739)
- Converting last of _rclpy.c to pybind11 (#738)
- Make sure only non-empty std::vector of arguments are indexed (#740)
- Use py::class_ for rcl_time_point_t (#737)
- Convert logging mutex functions to pybind11 (#735)
- Document misuse of of parameter callbacks (#734)
- Convert QoS APIs to pybind11 (#736)
- Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Chris Lalancette, Greg Balke, Jacob Perron, Michel Hidalgo, Shane Loretz
1.7.0 (2021-03-25)
- Add API for checking QoS profile compatibility (#708)
- Replace rmw_connext_cpp with rmw_connextdds (#698)
- Convert last of pub/sub getters to pybind11 (#733)
- Pybind 11: count_subscribers and count_publishers (#732)
- Convert more node accessors to pybind11 (#730)
- Pybind11-ify rclpy_get_node_parameters (#718)
- Modify parameter service behavior when allow_undeclared_parameters is false and the requested parameter doesn't exist (#661)
- Include pybind11 first to fix windows debug warning (#731)
- Convert init/shutdown to pybind11 (#715)
- Convert take API to pybind11 (#721)
- Migrate qos event APIs to pybind11 (#723)
- Remove pybind11 from rclpy common (#727)
- Look up pybind11 package once (#726)
- typo fix. (#729)
- [pybind11] Node Accessors (#719)
- Contributors: Alejandro Hernández Cordero, Andrea Sorbini, Audrow Nash, Greg Balke, Michel Hidalgo, Shane Loretz, Tomoya Fujita
1.6.0 (2021-03-18)
- Convert serialize/deserialize to pybind11 (#712)
- Convert names_and_types graph APIs to pybind11 (#717)
- Use Pybind11 for name functions (#709)
- Better checks for valid msg and srv types (#714)
- Convert duration to pybind11 (#716)
- Convert wait_set functions to pybind11 (#706)
- Explicitly populate tuple with None (#711)
- Change the time jump time type to just rcl_time_jump_t. (#707)
- Convert rclpy service functions to pybind11 (#703)
- Bump the cppcheck timeout by 2 minutes (#705)
- Convert subscription functions to pybind11 (#696)
- Convert rclpy client functions to pybind11 (#701)
- Fix static typing when allow undeclared (#702)
- Convert publisher functions to pybind11 (#695)
- Convert clock and time functions to pybind11 (#699)
- Set destructor on QoS Profile struct (#700)
- Convert timer functions to pybind11 (#693)
- Convert guard conditions functions to pybind11 (#692)
- Convert service info functions to pybind11 (#694)
- Enforce static parameter types when dynamic typing is not specified (#683)
- rclpy_ok and rclpy_create_context to pybind11 (#691)
- Include Pybind11 before Python.h (#690)
- Clean up exceptions in _rclpy_action (#685)
- Clean windows flags on _rclpy_pybind11 and _rclpy_action (#688)
- Use pybind11 for _rclpy_handle (#668)
- Split rclpy module for easier porting to pybind11 (#675)
- Use Pybind11 to generate _rclpy_logging (#659)
- Copy windows debug fixes for pybind11 (#681)
- Use pybind11 for _rclpy_action (#678)
- Update just pycapsule lib to use pybind11 (#652)
- remove maintainer (#682)
- Use Pybind11's CMake code (#667)
- Don't call destroy_node while spinning (#674)
- Check the rcl_action return value on cleanup. (#672)
- Fix the NULL check for destroy_ros_message. (#677)
- Use Py_XDECREF for pynode_names_and_namespaces (#673)
- Use Py_XDECREF for pyresult_list. (#670)
- Contributors: Chris Lalancette, Claire Wang, Ivan Santiago Paunovic, Michel Hidalgo, Scott K Logan, Shane Loretz
1.5.0 (2021-01-25)
- Fix dead stores. (#669)
- Fix two clang static analysis warnings. (#664)
- Add method to get the current logging directory (#657)
- Fix docstring indent error in create_node (#655)
- use only True to avoid confusion in autodoc config
- document QoS profile constants
- Merge pull request #649 from ros2/clalancette/dont-except-while-sleep
- Fixes from review/CI.
- Make sure to catch the ROSInterruptException when calling rate.sleep.
- memory leak (#643) (#645)
- Don't throw an exception if timer canceled while sleeping.
- Wake executor in Node.create_subscription() (#647)
- Contributors: Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tully Foote, ssumoo, tomoya
1.4.0 (2020-12-08)
- Fix Enum not being comparable with ints in get_parameter_types service
- Qos configurability (#635)
- Use Py_XDECREF for pytopic_names_and_types. (#638)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, tomoya
1.3.0 (2020-11-02)
- qos_policy_name_from_kind() should accept either a QoSPolicyKind or an int (#637)
- Add method in Node to resolve a topic or service name (#636)
- Contributors: Ivan Santiago Paunovic
1.2.1 (2020-10-28)
- Deprecate verbose qos policy value names (#634)
- Remove deprecated set_parameters_callback (#633)
- Make sure to use Py_XDECREF in rclpy_get_service_names_and_types (#632)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic
1.2.0 (2020-10-19)
- Update maintainers (#627)
- Add in semicolon on RCUTILS_LOGGING_AUTOINIT. (#624)
- Add in the topic name when QoS events are fired. (#621)
- Use best effort, keep last, history depth 1 QoS Profile for '/clock' subscriptions (#619)
- PARAM_REL_TOL documentation fix (#559)
- Node get fully qualified name (#598)
- MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605)
- skip test relying on source timestamps with Connext (#615)
- Use the rpyutils shared import_c_library function. (#610)
- Add ability to configure domain ID (#596)
- Use absolute parameter events topic name (#612)
- Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603)
- Default incompatible qos callback should be set when there's no user specified callback (#601)
- relax rate jitter test for individual periods (#602)
- add QoSProfile.__str_ (#593)
- Add useful debug info when trying to publish the wrong type (#581)
- Pass rcutils_include_dirs to cppcheck (#577)
- wrap lines to shorten line length (#586)
- fix moved troubleshooting url (#579)
- improve error message if rclpy C extensions are not found (#580)
- Contributors: Barry Xu, Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Emerson Knapp, Ivan Santiago Paunovic, Loy, Zhen Ju
1.1.0 (2020-06-18)
- Add message lost subscription event (#572)
- Fix executor behavior on shutdown (#574)
- Add missing rcutils/macros.h header (#573)
- Add [topic_name]{.title-ref} property to Subscription (#571)
- Add [topic_name]{.title-ref} property to publisher (#568)
- Fix and document rclpy_handle_get_pointer_from_capsule() (#569)
- Fix docstrings (#566)
- Contributors: Audrow, Audrow Nash, Claire Wang, Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Zhen Ju
1.0.2 (2020-06-01)
- Protect access to global logging calls with a mutex (#562)
- Ensure executors' spinning API handles shutdown properly (#563)
- Contributors: Michel Hidalgo, William Woodall
1.0.1 (2020-05-18)
- Explicitly add DLL directories for Windows before importing (#558)
- Contributors: Jacob Perron
1.0.0 (2020-05-12)
- Remove MANUAL_BY_NODE liveliness API (#556)
- Fix bug that not to get expected data because use less timeout (#548)
- Contributors: Barry Xu, Ivan Santiago Paunovic
0.9.1 (2020-05-08)
- Fix bad rmw_time_t to nanoseconds conversion. (#555)
- Skip flaky timer test on windows (#554)
- Cleanup rmw publisher/subscription on exception (#553)
- Contributors: Ivan Santiago Paunovic, Miaofei Mei, Michel Hidalgo
0.9.0 (2020-04-29)
- Fix flaky test expecting wrong return type of rclpy_take (#552)
- Fix warning about pytaken_msg maybe being uninitialized (#551)
- Handle a failed rcl_take() call in rclpy_take() (#550)
- Enforce a precedence for wildcard matching in parameter overrides (#547)
- Feature/services timestamps (#545)
- Add method to take with message_info (#542)
- Ensure logging is initialized only once (#518)
- Update includes to use non-entry point headers from detail subdir (#541)
- Create a default warning for qos incompatibility (#536)
- Add enclaves introspection method in [Node]{.title-ref} (#538)
- Rename rosidl_generator_c namespace to rosidl_runtime_c (#540)
- Use f-string to fix flake8 warning (#539)
- Don't persist node and context between tests (#526)
- Avoid unsigned/signed comparison (#535)
- Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#459)
- Switch to slightly more generic isinstance
- Add capability to publish serialized messages (#509)
- Set context when creating Timer (#525)
- Don't check lifespan on subscriber QoS (#523)
- Deprecate set_parameters_callback API (#504)
- Add env var to filter available RMW implementations (#522)
- Fix object destruction order (#497)
- Fixed flake8 rclpy test utilities (#519)
- Fixes max_jitter calculation (#512)
- Included get_available_rmw_implementations (#517)
- Embolden warning about Client.call() potentially deadlocking (#516)
- Enable test_get_publishers_subscriptions_info_by_topic() unit test for more rmw_implementations (#511)
- Change sizes to Py_ssize_t (#514)
- Rename rmw_topic_endpoint_info_array count to size (#510)
- Implement functions to get publisher and subcription informations like QoS policies from topic name (#454)
- Call init and shutdown thread safely (#508)
- Support multiple "on parameter set" callbacks (#457)
- Code style only: wrap after open parenthesis if not in one line (#500)
- Add wrappers for RMW serialize and deserialize functions (#495)
- Move logic for getting type support into a common function (#492)
- Find test dependency rosidl_generator_py (#493)
- Avoid reference cycle between Node and ParameterService (#490)
- Avoid a reference cycle between Node and TimeSource (#488)
- Fix typo (#489)
- Handle unknown global ROS arguments (#485)
- Fix the type annotation on get_parameters_by_prefix (#482)
- Replace RuntimeError with new custom exception RCLError (#478)
- Update constructor docstrings to use imperative mood (#480)
- Use absolute topic name for rosout (#479)
- Guard against unexpected action responses (#474)
- Fix test_action_client.py failures (#471)
- Enable/disable rosout logging in each node individually (#469)
- Make use of rcutils log severity defined enum instead of duplicating code (#468)
- Provide logging severity for string (#458)
- Send feedback callbacks properly in send_goal() of action client (#451)
- Contributors: Abhinav Singh, Alejandro Hernández Cordero, Barry Xu, Brian Marchi, Chris Lalancette, Dan Rose, Dirk Thomas, Donghee Ye, Emerson Knapp, Felix Divo, Ingo Lütkebohle, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Michel Hidalgo, Shane Loretz, Stephen Brawner, Steven! Ragnarök, Suyash Behera, Tully Foote, Werner Neubauer
0.8.3 (2019-11-18)
- Future invokes done callbacks when done (#461)
- Make short key of a QoS policy accessible (#463)
- Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)
- Contributors: Dirk Thomas, Shane Loretz
0.8.2 (2019-11-13)
- Explicitly destroy a node's objects before the node. (#456)
- Get proper parameters with prefixes without dot separator. (#455)
- Fix import to use builtin_interfaces.msg (#453)
- Add missing exec depend on rcl_interfaces (#452)
- Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök
0.8.1 (2019-10-23)
- Fix the unicode test string for opensplice rmw implementation (#447)
- Expand test timeout to deflake rmw_connext (#449)
- Support array parameter types (#444)
- Make use of Clock class for throttling logs (#441)
- Drop rclpy test_remove_ros_args_empty test case. (#445)
- Add Rate (#443)
- Action server: catch exception from user execute callback (#437)
- Make cppcheck happy (#438)
- Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz
0.8.0 (2019-09-26)
- Take parameter overrides provided through the CLI. (#434)
- Changelog version to master (#410)
- Remove deprecated QoS functionality (#431)
- Remove comment (#432)
- Provide subscription count from Publisher #418 (#429)
- Raise custom error when node name is not found (#413)
- Timer uses ROS time by default (#419)
- Fix _rclpy.c formatting. (#421)
- Fail on invalid and unknown ROS specific arguments (#415)
- Force explicit --ros-args in cli args. (#416)
- Make Future result() and __await_ raise exceptions (#412)
- Use of -r/--remap flags where appropriate. (#411)
- Awake waitables on shutdown, check if context is valid (#403)
- Accept tuples as parameter arrays (#389)
- Adapt to '--ros-args ... [--]'-based ROS args extraction (#405)
- Replace 'NULL == ' with ! (#404)
- Declaring 'use_sim_time' when attaching node to time source. (#396)
- Adding ignore_override parameter to declare_parameter(s). (#392)
- fix missing 'raise'
- Adding get_parameters_by_prefix method to Node. (#386)
- remove whitespace (#385)
- Added clients by node implementation from rcl (#383)
- Allowing parameter declaration without a given value. (#382)
- Make flake8 happy on windows (#381)
- Rename QoS*Policy enum's to *Policy (#379)
- Fixing namespace expansion for declare_parameters. (#377)
- Use params from node '/**' from parameter YAML file (#370)
- [executors] don't convert a timeout_sec to nsecs (#372)
- Fix API documentation related to ROS graph methods (#366)
- Treat warnings as test failures and fix warnings (#365)
- Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)
- Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321
0.7.6 (2019-08-28)
- Fix missing raise (#390)
- Fix time conversion for big nanoseconds value (#384)
- Contributors: Daniel Wang, Vinnam Kim
0.7.5 (2019-08-01)
- Updated to use params from node '/**' from parameter YAML file. (#399)
- Updated to declare 'use_sim_time' when attaching node to time source. (#401)
- Fixed an errant conversion to nsecs in executors timeout.[ (]{.title-ref}#397 <<https://github.com/ros2/rclpy/issues/397>>`_)
- Fixed parameter handling issues. (#394)
- Contributors: Juan Ignacio Ubeira, Scott K Logan
0.7.4 (2019-06-12)
- Fix API documentation related to ROS graph methods (#366)
- Contributors: Jacob Perron
0.7.3 (2019-05-29)
- Rename parameter options
(#363)
- rename the initial_parameters option to parameter_overrides
- rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
- update allow_undeclared_parameters docs
- Consolidate create_publisher arguments (#362)
- Enforcing parameter ranges. (#357)
- Initialize QoSProfile with values from rmw_qos_profile_default (#356)
- Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall
0.7.2 (2019-05-20)
- Add convenience name translations for use by commandline utilities etc. (#352)
- Wait for nodes to discover each other in test_action_graph.py (#354)
- Destroy publishers after test is done (#355)
- Create RLock() early to avoid exception at shutdown (#351)
- Fix qos event argument being wrapped in list. It shouldn't have been (#349)
- Parameter flexibility enhancements (#347)
- Update troubleshooting reference to index.ros.org (#348)
- Update test since unicode characters are allowed now (#346)
- Parameter handling improvements. (#345)
- Encourage users to always provide a QoS history depth (#344)
- QoS - API and implementation for Liveliness and Deadline event callbacks (#316)
- Ignore flake8 error 'imported but unused' (#343)
- Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz
0.7.1 (2019-05-08)
- Update tests to include namespace in ROS types (#294)
- Capsule available at self.handle (#340)
- Wake executor when entities created or destroyed (#336)
- Setting automatic declaration for initial parameters to False. (#339)
- Improve signal handling (#338)
- Parameter API enhancements (#325)
- QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)
- Minimal change to build against new rcl API (#305)
- Remove extra references to node handle (#335)
- API updates for RMW preallocation work. (#337)
- Make pub/sub/cli/srv/etc lists use \@property on node (#333)
- Ignore ValueError in SignalHandlerGuardCondition.__del_ (#334)
- Use new test interface definitions (#332)
- Thread safe node.destroy_* (#319)
- Make [destroy_node]{.title-ref} thread safe (#330)
- Remove most of the timing checks in test_executor (#329)
- Prevent rcutils_log from accessing invalid memory (#326)
- Wait set uses pointers to rcl types not rcl->impl types (#324)
- QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)
- Remove __eq_ and __hash_ from Subscription (#323)
- Fix subscription pycapsule not being destroyed (#320)
- Make destroy_subscription thread safe (#318)
- enforce correct message type is passed to various API (#317)
- Every executor gets its own SIGINT guard condition (#308)
- add missing error handling and cleanup (#315)
- Rename action state transitions (#300)
- Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard
0.7.0 (2019-04-14)
- Added action graph API. (#306)
- Added timeout to executor_spin_until_future_complete. (#301)
- Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)
- Set QoS profile to default values to future-proof against uninitialized data if new fields are added
- Fixed executor bug by refreshing nodes when executor is woken. (#310)
- Updated so executor exits immediately when shut down. (#309)
- Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)
- Added param callback to time_source. (#297)
- Updated tests to pass with numpy arrays. (#292)
- Improved error handling to avoid memory leaks in C extension. (#278)
- Fixed sigint guard condition's lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)
- Improved documentation.
(#277)
- Document node.py.
- Fix C extension documentation.
- Document init, shutdown, and spinning.
- Document Publisher and Subscription.
- Document Client and Service.
- Add warnings to constructors of client and service.
- Document executors and callback groups.
- Use typing,TYPE_CHECKING variable for condition imports used by annotations.
- Add instructions for building docs to README.
- Clarify doc briefs for graph discovery functions.
- Added RcutilsLogger.warning. (#284)
- Changed logger.warn (deprecated) to logger.warning. (#283)
- Updated to use separated action types. (#274)
- Updated to guard against failed take when taking action messages. (#281)
- Enabled test using MultiThreadedExecutor. (#280)
- Added ActionServer. (#270)
- Changed error raised by executor dict interface to KeyError. (#276)
- Abstracted type conversions into functions (#269)
- Fixed Node's reference to executor. (#275)
- Updated to enforce UTF8 argv on rclpy.init(). (#273)
- Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)
- Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)
- Added Action Client. (#262)
- Updated to pass context to wait set. (#258)
- Added Waitable to callback group. (#265)
- Fixed flake8 error. (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py. (#259)
- Added rclpy raw subscriptions. (#242)
- Added a test for invalid string checks on publishing. (#256)
- Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 7.7.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-11-26 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shane Loretz
- Aditya Pande
Authors
- Esteve Fernandez
- Ivan Paunovic
- Jacob Perron
- William Woodall
Changelog for package rclpy
7.7.0 (2024-11-20)
- Fix the race condition while calling rcl_shutdown (#1353)
- Use \@deprecated to mark deprecated APIs for type checkers. (#1350)
- init (#1358)
- Avoid redundant done callbacks of the future while repeatedly calling spin_until_future_complete (#1374)
- Clean qos zenoh tests (#1369)
- adjust warn message that requested goal is already expired. (#1363)
- Adds types to Lifecycle Objects (#1338)
- Remove python_cmake_module use (#1220)
- Contributors: Alejandro Hernández Cordero, Barry Xu, Chris Lalancette, Michael Carlstrom, Tomoya Fujita
7.6.0 (2024-10-03)
- TestClient.test_service_timestamps failing consistently. (#1364)
- Revert "Add types to Action Server and Action Client (#1349)" (#1359)
- Revert "Executors types (#1345)" (#1360)
- remove mock_compat (#1357)
- Executors types (#1345)
- Add types to Action Server and Action Client (#1349)
- Remove TODO for OpenSplice DDS issue. (#1354)
- Add types to parameter_client.py (#1348)
- Add types to Node.py (#1346)
- Add types to signals.py (#1344)
- Fixes spin_until_future_complete inside callback (#1316)
- add types (#1339)
- Add types to wait_for_message.py and moves Handles into type stubs (#1325)
- Add types to waitable.py (#1328)
- Replace rclpyHandle with type stubs (#1326)
- Fix time subtraction (#1312)
- Adds types to TypeDescriptionService. (#1329)
- Import DurationHandle not DurationType (#1332)
- Creates PublisherHandle and updates publisher.py (#1310)
- Subscription types (#1281)
- Add types to qos.py (#1255)
- minor improvements (#1330)
- Initialize signal handlers after context (#1331)
- shutdown ThreadPoolExecutor in MultiThreadedExecutor. (#1309)
- Generics Services and Clients (#1275)
- Add types to ParameterService (#1262)
- Add types to timer.py (#1260)
- Add types to rcutils_logger.py (#1249)
- Add types to topic_endpoint_info.oy (#1253)
- Add types to parameter.py. (#1246)
- Guard condition types. (#1252)
- Add types to callback_groups.py (#1251)
- Utilities.py types. (#1250)
- reduce result_timeout to 10 secs from 15 mins. (#1171)
- Add TimerInfo to timer callback. (#1292)
- Contributors: Jonathan, Michael Carlstrom, Shane Loretz, Tomoya Fujita
7.5.0 (2024-07-29)
- Add types to task.py (#1254)
- Fix a bad bug in fetching the lifecycle transitions. (#1321)
- Fix a bug when using multiple rclpy.init context managers. (#1314)
- Executor executes the tasks in FIFO order. (#1304)
- Contributors: Chris Lalancette, Michael Carlstrom, Tomoya Fujita
7.4.0 (2024-06-25)
- Add top-level try_shutdown method. (#1302)
- Make rclpy initialization context-manager aware. (#1298)
- Contributors: Chris Lalancette
7.3.0 (2024-06-17)
- Docstring specifying proper destruction and creation of Rate, Timer and GuardCondition (#1286)
- Make timers context-aware. (#1296)
- Make service lients context-aware. (#1295)
- Make service servers context-manager aware. (#1294)
- Make nodes context-manager aware. (#1293)
- Make subscriptions context-manager aware. (#1291)
- Make publishers context-manager aware. (#1289)
- (NumberOfEntities) improve performance (#1285)
- Using Generics for messages (#1239)
- Contributors: Chris Lalancette, Elian NEPPEL, Matthijs van der Burgh, Michael Carlstrom
7.2.0 (2024-04-26)
7.1.1 (2024-04-16)
- Clock.py types.
(#1244)
- Start typing time.py
- Testing out Enum wrapper for ClockType
- convert to rcl_clock_type_t
- Update create_time_point
- add types to logging_service
- Add types to duration.py
- Add newlines for class definintions
- update type alias name
- Update to use Protocols
- Add types to time.py
- Add types
- Fix import order
- Started typing clock.py
- Move typealias import
- pybind11 definition doc typo fixes. (#1270)
- Fix small flake8 error in rclpy. (#1267) Newer versions of flake8 complain that using 'str' as a variable shadows a builtin. Just make it 's'.
- Contributors: Chris Lalancette, Michael Carlstrom, Tomoya Fujita
7.1.0 (2024-03-28)
- Allow specifying qos (#1225)
- update RCL_RET_TIMEOUT error handling with action service response. (#1258)
- Add types to time_source.py (#1259)
- Small fixes for modern flake8. (#1264)
- Add types to qos_overriding_options.py (#1248)
- Add types to context.py (#1240)
- Add back Type hash __slots_ and add test cases. (#1245)
- Revert "Add types to TypeHash and moved away from __slots_ usage (#1232)" (#1243)
- Time.py Types (#1237)
- Add types to TypeHash and moved away from __slots_ usage (#1232)
- Add Static Typing to Validate files (#1230)
- Add types to duration.py (#1233)
- added python3-yaml (#1242)
- Add types to exceptions.py (#1241)
- Add types (#1231)
- Creates Enum wrapper for ClockType and ClockChange (#1235)
- Add types to expand_topic_name (#1238)
- Add types to logging_service.py (#1227)
- Add types to logging.py (#1226)
- forbid parameter to be declared statically without initialization. (#1216)
- Contributors: Chris Lalancette, Michael Carlstrom, SnIcK, Tim Clephas, Tomoya Fujita
7.0.1 (2024-02-07)
- Remove parentheses from assert statements. (#1213)
- Contributors: Chris Lalancette
7.0.0 (2023-12-26)
- Add doc-string warnings for destroy methods for services. (#1205)
- Add doc-string warnings for destroy() methods (#1204)
- Add an optional timeout_sec input to Client.call() to fix issue https://github.com/ros2/rclpy/issues/1181 (#1188)
- aligh with rcl that a rosout publisher of a node might not exist (#1196)
- call ok() to see if rclpy and context is initialized. (#1198)
- Contributors: Chen Lihui, KKSTB, Steve Peters, Tomoya Fujita
6.0.0 (2023-11-06)
- Adjust python usage of the type_description service API (#1192)
- Document that spin_once() should not be called from multiple threads (#1079)
- making optional things Optional (#1182)
- Use timeout object to avoid callback losing in wait_for_ready_callbacks (#1165)
- Contributors: AndyZe, Anton Kesy, Barry Xu, Michael Carroll
5.4.0 (2023-10-09)
- Fix to issue https://github.com/ros2/rclpy/issues/1179 (#1180)
- Add count services, clients & test (#1024)
- Contributors: KKSTB, Minju, Lee
5.3.0 (2023-10-04)
- 1105 parameter event handler (#1135)
- unregister_sigterm_signal_handler should be called. (#1170)
- Handle take failure in wait_for_message (#1172)
- Decouple rosout publisher init from node init. (#1121)
- Fix _list_parameters_callback & test (#1161)
- Contributors: EsipovPA, Minju, Lee, Tomoya Fujita, mhidalgo-bdai
5.2.0 (2023-09-08)
- add list_parameters & test (#1124)
- Contributors: Minju, Lee
5.1.0 (2023-09-07)
- Support to get remapped service name (#1156)
- a couple of typo fixes. (#1158)
- Fix get_type_description service bug and add a unit test (#1155)
- Fix an inherent race in execution vs. destruction. (#1150)
- Cleanup of test_node.py. (#1153)
- Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Tomoya Fujita
5.0.1 (2023-08-21)
- Avoid generating the exception when rcl_send_response times out. (#1136)
- Store time source clocks in a set (#1146)
- Fix spin_once_until_future_complete to quit when the future finishes. (#1143)
- Contributors: Chris Lalancette, Luca Della Vedova, Tomoya Fujita
5.0.0 (2023-07-11)
- get_type_description service (#1139)
- Add in the ability to start timers paused. (#1138)
- Modifies ros_timer_init for ros_timer_init2 (#999)
- Fix/param namespace association 894 (#1132)
- Include type hash in topic endpoint info (#1104)
- Contributors: Chris Lalancette, Eloy Briceno, Emerson Knapp, Hans-Joachim Krauch, M. Hofstätter
4.2.2 (2023-06-07)
- Fix iteration over modified list (#1129)
- making optional things Optional (#974)
- Fix type signature of Client.wait_for_service (#1128)
- Contributors: Brian, Felix Divo
4.2.1 (2023-05-11)
- Fix action server crash when the client goes away. (#1114)
- Turn Executor into a ContextManager (#1118)
- Turn Context into a ContextManager (#1117)
- Fix type in Node init args (#1115)
- Contributors: Chris Lalancette, Felix Divo, Russ
4.2.0 (2023-04-27)
4.1.0 (2023-04-18)
- Logging service support (#1102)
- Use custom sourcedir for conf.py (#1109)
- ServerGoalHandle should be destroyed before removing. (#1113)
- Fix unnecessary list comprehension flake8 (#1112)
- Contributors: Barry Xu, Michael Carroll, Tomoya Fujita, Yadu
4.0.0 (2023-04-12)
- Stub type hash value line in TopicEndpointInfo string (#1110)
- Support documentation generation using rosdoc2 (#1103)
- Fix Time and Duration raising exception when compared to another type (#1007)
- Make rcl_interfaces a build and exec dependency. (#1100)
- Solving Atomic undefined on OSX with clang (#1096)
- Implement matched event (#1083)
- Update service.py documentation (#1094)
- Allow space or empty strings when using ros2 param set (#1093)
- Hook up the incompatible type event inside of rclpy (#1058)
- Switch to using module instead of module_ (#1090)
- Add in subscription.get_publisher_count() (#1089)
- Contributors: Barry Xu, Chris Lalancette, Emerson Knapp, Erki Suurjaak, Felix Divo, GuiHome, Lucas Wendland, Yadu
3.10.0 (2023-03-01)
- Service introspection (#988)
- Contributors: Brian
3.9.0 (2023-02-24)
- to create a sublogger while getting child of Logger (#1084)
- Fix #983 by saving future and checking for + raising any exceptions (#1073)
- Contributors: Achille Verheye, Chen Lihui
3.8.0 (2023-02-13)
- Force C++17 support on. (#1076)
- Use RCPPUTILS_SCOPE_EXIT to cleanup unparsed_indices_c. (#1075)
- Explicitly link atomic when building with Clang (#1065)
- Fix test_publisher linter for pydocstyle 6.2.2 (#1063)
- Add default preset qos profile (#1062)
- Add on_parameter_event method to the AsyncParameterClient. (#1061)
- Add documentation page for rclpy.clock (#1055)
- Rewrite test code without depending on parameter client (#1045)
- Add parallel callback test (#1044)
- decorator should not be callable. (#1050)
- typo fix. (#1049)
- Add in a warning for a depth of 0 with KEEP_LAST. (#1048)
- Add feature of wait for message (#953). (#960)
- Document rclpy.time.Time class (#1040)
- Deal with ParameterUninitializedException for parameter service (#1033)
- Improve documentation in rclpy.utilities (#1038)
- Document rclpy.utilities.remove_ros_args (#1036)
- Fix incorrect comparsion on whether parameter type is NOT_SET (#1032)
- [rolling] Update maintainers (#1035)
- Contributors: Audrow Nash, Barry Xu, Chris Lalancette, Cristóbal Arroyo, Florian Vahl, Ivan Santiago Paunovic, Lei Liu, Sebastian Freitag, Shane Loretz, Tomoya Fujita
3.7.1 (2022-11-02)
- Set the default number of threads of the MultiThreadedExecutor to 2 (#1031)
- Update the rclpy method documentation. (#1026)
- Revert "Raise user handler exception in MultiThreadedExecutor. (#984)" (#1017)
- Waitable should check callback_group if it can be executed. (#1001)
- Contributors: Chris Lalancette, Tomoya Fujita
3.7.0 (2022-09-13)
- support wildcard matching for params file (#987)
- Raise user handler exception in MultiThreadedExecutor. (#984)
- Add wait_for_node method (#930)
- Create sublogger for action server and action client (#982)
- Support for pre-set and post-set parameter callback. (#966)
- fix gcc 7.5 build errors (#977)
- make _on_parameter_event return result correctly (#817)
- Fix a small typo in documentation. (#967)
- Contributors: Chen Lihui, Chris Lalancette, Deepanshu Bansal, Gonzo, Seulbae Kim, Steve Nogar, Tomoya Fujita, Tony Najjar
3.6.0 (2022-07-14)
- Add Parameter Client (#959)
- Change sphinx theme to readthedocs (#950)
- Name and type in descriptor(s) is ignored via declare_parameter(s). (#957)
- Typo fix (#951)
- Add py.typed to package (#946)
- Fix rclpy.shutdown() from hanging when triggered from callback (#947)
- Check if the context is already shutdown. (#939)
- Contributors: Brian Chen, Tomoya Fujita, Yuki Igarashi
3.5.0 (2022-05-03)
- Avoid causing infinite loop when message is empty (#935)
- Expose 'best available' QoS policies (#928)
- Contributors: Jacob Perron, Takeshi Ishita
3.4.0 (2022-04-29)
- remove feedback callback when the goal has been completed. (#927)
- Allow to create a subscription with a callback that also receives the message info (#922)
- Contributors: Ivan Santiago Paunovic, Tomoya Fujita
3.3.2 (2022-04-08)
- Make rclpy dependencies explicit (#906)
- Contributors: Chris Lalancette
3.3.1 (2022-03-24)
- Avoid exception in Node constructor when use override for 'use_sim_time' (#896)
- time_until_next_call returns max if timer is canceled. (#910)
- Contributors: Artem Shumov, Ivan Santiago Paunovic, Tomoya Fujita
3.3.0 (2022-03-01)
- Properly implement action server/client handle cleanup. (#905)
- Make sure to take out contexts on Action{Client,Server}. (#904)
- Make sure to free the goal_status_array when done using it. (#902)
- Bugfix to Node.destroy_rate() result (#901)
- Remove fastrtps customization on tests (#895)
- fix typo (#890)
- Document that Future.result() may return None (#884)
- update doc release number (#885)
- Contributors: Anthony, Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Miguel Company
3.2.1 (2022-01-14)
- Fix multi-threaded race condition in client.call_async (#871)
- Fix include order for cpplint (#877)
- Bugfix/duration to msg precision (#876)
- Update to pybind11 2.7.1 (#874)
- QoS history depth is only available with KEEP_LAST (#869)
- Contributors: Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Tomoya Fujita
3.2.0 (2021-12-23)
- Implement managed nodes. (#865)
- Make rclpy.try_shutdown() behavior to follow rclpy.shutdown() more closely. (#868)
- Update TopicEndpointTypeEnum.__str_() method to include history kind and history depth. (#849)
- Add Clock.sleep_for() using Clock.sleep_until(). (#864)
- Add Clock.sleep_until() (#858)
- Add __enter_ and __exit_ to JumpHandle. (#862)
- Don't override rclpy._rclpy_pybind11 docs. (#863)
- Improve JumpThreshold documentation and forbid zero durations. (#861)
- Fix time.py and clock.py circular import. (#860)
- Make context.on_shutdown() allow free functions. (#859)
- Fix automatically declared parameters descriptor type. (#853)
- Shutdown asynchronously when sigint is received. (#844)
- Update maintainers. (#845)
- Add entities to callback group before making them available to the executor to avoid a race condition. (#839)
- Avoid race condition in client.call(). (#838)
- Contributors: Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Tomoya Fujita
3.1.0 (2021-10-22)
- Handle sigterm. (#830)
- Use pybind11 for signal handling, and delete now unused rclpy_common, pycapsule, and handle code. (#814)
- Fix memory leak in <Service::take_request>() and Client::take_response(). (#828)
- Add Publisher.wait_for_all_acked(). (#793)
- Only add one done callback to a future in Executor. (#816)
- Add convert function from ParameterValue to Python builtin. (#819)
- Call Context._logging_fini() in Context.try_shutdown(). (#800)
- Lift LoggingSeverity enum as common dependency to logging and rcutils_logger modules (#785)
- Set Context.__context to None in __init_(). (#812)
- Remove unused function make_mock_subscription. (#809)
- Contributors: Barry Xu, Chris Lalancette, Ivan Santiago Paunovic, Jacob Perron, Lei Liu, Louise Poubel, Shane Loretz, ksuszka
3.0.1 (2021-06-11)
- Removed common.c/h (#789)
- Contributors: Alejandro Hernández Cordero
3.0.0 (2021-05-19)
- Allow declaring uninitialized parameters (#798)
- Reject cancel request if failed to transit to CANCEL_GOAL state (#791)
- Deleted handle as it should no longer be used (#786)
- Removed some functions in common.c and replaced them in utils.cpp (#787)
- Moved exception.cpp/hpp to the _rclpy_pybind11 module (#788)
- Contributors: Alejandro Hernández Cordero, Jacob Perron, Tomoya Fujita
2.0.0 (2021-05-10)
- Print 'Infinite' for infinite durations in topic endpoint info (#722)
- Break log function execution ASAP if configured severity is too high (#776)
- Convert Node and Context to use C++ Classes (#771)
- Misc action server improvements (#774)
- Misc action goal handle improvements (#767)
- Convert Guardcondition to use C++ classes (#772)
- Removed unused structs
rclpy_client_t
andrclpy_service_t
(#770) - Convert WaitSet to use C++ Classes (#769)
- Convert ActionServer to use C++ Classes (#766)
- Convert ActionClient to use C++ classes (#759)
- Use py::class_ for rcl_action_goal_handle_t (#751)
- Convert Publisher and Subscription to use C++ Classes (#756)
- Contributors: Alejandro Hernández Cordero, Emerson Knapp, Greg Balke, Shane Loretz, ksuszka
1.8.1 (2021-04-12)
- typo fix. (#768)
- Restore exceptions for Connext and message timestamps on Windows (#765)
- Use correct type when creating test publisher (#764)
- Add a test for destroy_node while spinning (#663)
- Add __enter_ and __exit_ to Waitable (#761)
- Check if shutdown callback weak method is valid before calling it (#754)
- Contributors: Andrea Sorbini, Ivan Santiago Paunovic, Scott K Logan, Shane Loretz, Tomoya Fujita
1.8.0 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#755)
- Use py::class_ for rcl_event_t (#750)
- Convert Clock to use a C++ Class (#749)
- Convert Service to use C++ Class (#747)
- Fix windows warning by using consistent types (#753)
- Use py::class_ for rmw_service_info_t and rmw_request_id_t (#748)
- Convert Timer to use a C++ Class (#745)
- Add PythonAllocator (#746)
- Use py::class_ for rmw_qos_profile_t (#741)
- Combine pybind11 modules into one (#743)
- Use py::class_ for rcl_duration_t (#744)
- Fix bug in unique_ptr type argument (#742)
- Convert Client to use C++ Class (#739)
- Converting last of _rclpy.c to pybind11 (#738)
- Make sure only non-empty std::vector of arguments are indexed (#740)
- Use py::class_ for rcl_time_point_t (#737)
- Convert logging mutex functions to pybind11 (#735)
- Document misuse of of parameter callbacks (#734)
- Convert QoS APIs to pybind11 (#736)
- Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Chris Lalancette, Greg Balke, Jacob Perron, Michel Hidalgo, Shane Loretz
1.7.0 (2021-03-25)
- Add API for checking QoS profile compatibility (#708)
- Replace rmw_connext_cpp with rmw_connextdds (#698)
- Convert last of pub/sub getters to pybind11 (#733)
- Pybind 11: count_subscribers and count_publishers (#732)
- Convert more node accessors to pybind11 (#730)
- Pybind11-ify rclpy_get_node_parameters (#718)
- Modify parameter service behavior when allow_undeclared_parameters is false and the requested parameter doesn't exist (#661)
- Include pybind11 first to fix windows debug warning (#731)
- Convert init/shutdown to pybind11 (#715)
- Convert take API to pybind11 (#721)
- Migrate qos event APIs to pybind11 (#723)
- Remove pybind11 from rclpy common (#727)
- Look up pybind11 package once (#726)
- typo fix. (#729)
- [pybind11] Node Accessors (#719)
- Contributors: Alejandro Hernández Cordero, Andrea Sorbini, Audrow Nash, Greg Balke, Michel Hidalgo, Shane Loretz, Tomoya Fujita
1.6.0 (2021-03-18)
- Convert serialize/deserialize to pybind11 (#712)
- Convert names_and_types graph APIs to pybind11 (#717)
- Use Pybind11 for name functions (#709)
- Better checks for valid msg and srv types (#714)
- Convert duration to pybind11 (#716)
- Convert wait_set functions to pybind11 (#706)
- Explicitly populate tuple with None (#711)
- Change the time jump time type to just rcl_time_jump_t. (#707)
- Convert rclpy service functions to pybind11 (#703)
- Bump the cppcheck timeout by 2 minutes (#705)
- Convert subscription functions to pybind11 (#696)
- Convert rclpy client functions to pybind11 (#701)
- Fix static typing when allow undeclared (#702)
- Convert publisher functions to pybind11 (#695)
- Convert clock and time functions to pybind11 (#699)
- Set destructor on QoS Profile struct (#700)
- Convert timer functions to pybind11 (#693)
- Convert guard conditions functions to pybind11 (#692)
- Convert service info functions to pybind11 (#694)
- Enforce static parameter types when dynamic typing is not specified (#683)
- rclpy_ok and rclpy_create_context to pybind11 (#691)
- Include Pybind11 before Python.h (#690)
- Clean up exceptions in _rclpy_action (#685)
- Clean windows flags on _rclpy_pybind11 and _rclpy_action (#688)
- Use pybind11 for _rclpy_handle (#668)
- Split rclpy module for easier porting to pybind11 (#675)
- Use Pybind11 to generate _rclpy_logging (#659)
- Copy windows debug fixes for pybind11 (#681)
- Use pybind11 for _rclpy_action (#678)
- Update just pycapsule lib to use pybind11 (#652)
- remove maintainer (#682)
- Use Pybind11's CMake code (#667)
- Don't call destroy_node while spinning (#674)
- Check the rcl_action return value on cleanup. (#672)
- Fix the NULL check for destroy_ros_message. (#677)
- Use Py_XDECREF for pynode_names_and_namespaces (#673)
- Use Py_XDECREF for pyresult_list. (#670)
- Contributors: Chris Lalancette, Claire Wang, Ivan Santiago Paunovic, Michel Hidalgo, Scott K Logan, Shane Loretz
1.5.0 (2021-01-25)
- Fix dead stores. (#669)
- Fix two clang static analysis warnings. (#664)
- Add method to get the current logging directory (#657)
- Fix docstring indent error in create_node (#655)
- use only True to avoid confusion in autodoc config
- document QoS profile constants
- Merge pull request #649 from ros2/clalancette/dont-except-while-sleep
- Fixes from review/CI.
- Make sure to catch the ROSInterruptException when calling rate.sleep.
- memory leak (#643) (#645)
- Don't throw an exception if timer canceled while sleeping.
- Wake executor in Node.create_subscription() (#647)
- Contributors: Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tully Foote, ssumoo, tomoya
1.4.0 (2020-12-08)
- Fix Enum not being comparable with ints in get_parameter_types service
- Qos configurability (#635)
- Use Py_XDECREF for pytopic_names_and_types. (#638)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, tomoya
1.3.0 (2020-11-02)
- qos_policy_name_from_kind() should accept either a QoSPolicyKind or an int (#637)
- Add method in Node to resolve a topic or service name (#636)
- Contributors: Ivan Santiago Paunovic
1.2.1 (2020-10-28)
- Deprecate verbose qos policy value names (#634)
- Remove deprecated set_parameters_callback (#633)
- Make sure to use Py_XDECREF in rclpy_get_service_names_and_types (#632)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic
1.2.0 (2020-10-19)
- Update maintainers (#627)
- Add in semicolon on RCUTILS_LOGGING_AUTOINIT. (#624)
- Add in the topic name when QoS events are fired. (#621)
- Use best effort, keep last, history depth 1 QoS Profile for '/clock' subscriptions (#619)
- PARAM_REL_TOL documentation fix (#559)
- Node get fully qualified name (#598)
- MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605)
- skip test relying on source timestamps with Connext (#615)
- Use the rpyutils shared import_c_library function. (#610)
- Add ability to configure domain ID (#596)
- Use absolute parameter events topic name (#612)
- Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603)
- Default incompatible qos callback should be set when there's no user specified callback (#601)
- relax rate jitter test for individual periods (#602)
- add QoSProfile.__str_ (#593)
- Add useful debug info when trying to publish the wrong type (#581)
- Pass rcutils_include_dirs to cppcheck (#577)
- wrap lines to shorten line length (#586)
- fix moved troubleshooting url (#579)
- improve error message if rclpy C extensions are not found (#580)
- Contributors: Barry Xu, Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Emerson Knapp, Ivan Santiago Paunovic, Loy, Zhen Ju
1.1.0 (2020-06-18)
- Add message lost subscription event (#572)
- Fix executor behavior on shutdown (#574)
- Add missing rcutils/macros.h header (#573)
- Add [topic_name]{.title-ref} property to Subscription (#571)
- Add [topic_name]{.title-ref} property to publisher (#568)
- Fix and document rclpy_handle_get_pointer_from_capsule() (#569)
- Fix docstrings (#566)
- Contributors: Audrow, Audrow Nash, Claire Wang, Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Zhen Ju
1.0.2 (2020-06-01)
- Protect access to global logging calls with a mutex (#562)
- Ensure executors' spinning API handles shutdown properly (#563)
- Contributors: Michel Hidalgo, William Woodall
1.0.1 (2020-05-18)
- Explicitly add DLL directories for Windows before importing (#558)
- Contributors: Jacob Perron
1.0.0 (2020-05-12)
- Remove MANUAL_BY_NODE liveliness API (#556)
- Fix bug that not to get expected data because use less timeout (#548)
- Contributors: Barry Xu, Ivan Santiago Paunovic
0.9.1 (2020-05-08)
- Fix bad rmw_time_t to nanoseconds conversion. (#555)
- Skip flaky timer test on windows (#554)
- Cleanup rmw publisher/subscription on exception (#553)
- Contributors: Ivan Santiago Paunovic, Miaofei Mei, Michel Hidalgo
0.9.0 (2020-04-29)
- Fix flaky test expecting wrong return type of rclpy_take (#552)
- Fix warning about pytaken_msg maybe being uninitialized (#551)
- Handle a failed rcl_take() call in rclpy_take() (#550)
- Enforce a precedence for wildcard matching in parameter overrides (#547)
- Feature/services timestamps (#545)
- Add method to take with message_info (#542)
- Ensure logging is initialized only once (#518)
- Update includes to use non-entry point headers from detail subdir (#541)
- Create a default warning for qos incompatibility (#536)
- Add enclaves introspection method in [Node]{.title-ref} (#538)
- Rename rosidl_generator_c namespace to rosidl_runtime_c (#540)
- Use f-string to fix flake8 warning (#539)
- Don't persist node and context between tests (#526)
- Avoid unsigned/signed comparison (#535)
- Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#459)
- Switch to slightly more generic isinstance
- Add capability to publish serialized messages (#509)
- Set context when creating Timer (#525)
- Don't check lifespan on subscriber QoS (#523)
- Deprecate set_parameters_callback API (#504)
- Add env var to filter available RMW implementations (#522)
- Fix object destruction order (#497)
- Fixed flake8 rclpy test utilities (#519)
- Fixes max_jitter calculation (#512)
- Included get_available_rmw_implementations (#517)
- Embolden warning about Client.call() potentially deadlocking (#516)
- Enable test_get_publishers_subscriptions_info_by_topic() unit test for more rmw_implementations (#511)
- Change sizes to Py_ssize_t (#514)
- Rename rmw_topic_endpoint_info_array count to size (#510)
- Implement functions to get publisher and subcription informations like QoS policies from topic name (#454)
- Call init and shutdown thread safely (#508)
- Support multiple "on parameter set" callbacks (#457)
- Code style only: wrap after open parenthesis if not in one line (#500)
- Add wrappers for RMW serialize and deserialize functions (#495)
- Move logic for getting type support into a common function (#492)
- Find test dependency rosidl_generator_py (#493)
- Avoid reference cycle between Node and ParameterService (#490)
- Avoid a reference cycle between Node and TimeSource (#488)
- Fix typo (#489)
- Handle unknown global ROS arguments (#485)
- Fix the type annotation on get_parameters_by_prefix (#482)
- Replace RuntimeError with new custom exception RCLError (#478)
- Update constructor docstrings to use imperative mood (#480)
- Use absolute topic name for rosout (#479)
- Guard against unexpected action responses (#474)
- Fix test_action_client.py failures (#471)
- Enable/disable rosout logging in each node individually (#469)
- Make use of rcutils log severity defined enum instead of duplicating code (#468)
- Provide logging severity for string (#458)
- Send feedback callbacks properly in send_goal() of action client (#451)
- Contributors: Abhinav Singh, Alejandro Hernández Cordero, Barry Xu, Brian Marchi, Chris Lalancette, Dan Rose, Dirk Thomas, Donghee Ye, Emerson Knapp, Felix Divo, Ingo Lütkebohle, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Michel Hidalgo, Shane Loretz, Stephen Brawner, Steven! Ragnarök, Suyash Behera, Tully Foote, Werner Neubauer
0.8.3 (2019-11-18)
- Future invokes done callbacks when done (#461)
- Make short key of a QoS policy accessible (#463)
- Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)
- Contributors: Dirk Thomas, Shane Loretz
0.8.2 (2019-11-13)
- Explicitly destroy a node's objects before the node. (#456)
- Get proper parameters with prefixes without dot separator. (#455)
- Fix import to use builtin_interfaces.msg (#453)
- Add missing exec depend on rcl_interfaces (#452)
- Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök
0.8.1 (2019-10-23)
- Fix the unicode test string for opensplice rmw implementation (#447)
- Expand test timeout to deflake rmw_connext (#449)
- Support array parameter types (#444)
- Make use of Clock class for throttling logs (#441)
- Drop rclpy test_remove_ros_args_empty test case. (#445)
- Add Rate (#443)
- Action server: catch exception from user execute callback (#437)
- Make cppcheck happy (#438)
- Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz
0.8.0 (2019-09-26)
- Take parameter overrides provided through the CLI. (#434)
- Changelog version to master (#410)
- Remove deprecated QoS functionality (#431)
- Remove comment (#432)
- Provide subscription count from Publisher #418 (#429)
- Raise custom error when node name is not found (#413)
- Timer uses ROS time by default (#419)
- Fix _rclpy.c formatting. (#421)
- Fail on invalid and unknown ROS specific arguments (#415)
- Force explicit --ros-args in cli args. (#416)
- Make Future result() and __await_ raise exceptions (#412)
- Use of -r/--remap flags where appropriate. (#411)
- Awake waitables on shutdown, check if context is valid (#403)
- Accept tuples as parameter arrays (#389)
- Adapt to '--ros-args ... [--]'-based ROS args extraction (#405)
- Replace 'NULL == ' with ! (#404)
- Declaring 'use_sim_time' when attaching node to time source. (#396)
- Adding ignore_override parameter to declare_parameter(s). (#392)
- fix missing 'raise'
- Adding get_parameters_by_prefix method to Node. (#386)
- remove whitespace (#385)
- Added clients by node implementation from rcl (#383)
- Allowing parameter declaration without a given value. (#382)
- Make flake8 happy on windows (#381)
- Rename QoS*Policy enum's to *Policy (#379)
- Fixing namespace expansion for declare_parameters. (#377)
- Use params from node '/**' from parameter YAML file (#370)
- [executors] don't convert a timeout_sec to nsecs (#372)
- Fix API documentation related to ROS graph methods (#366)
- Treat warnings as test failures and fix warnings (#365)
- Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)
- Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321
0.7.6 (2019-08-28)
- Fix missing raise (#390)
- Fix time conversion for big nanoseconds value (#384)
- Contributors: Daniel Wang, Vinnam Kim
0.7.5 (2019-08-01)
- Updated to use params from node '/**' from parameter YAML file. (#399)
- Updated to declare 'use_sim_time' when attaching node to time source. (#401)
- Fixed an errant conversion to nsecs in executors timeout.[ (]{.title-ref}#397 <<https://github.com/ros2/rclpy/issues/397>>`_)
- Fixed parameter handling issues. (#394)
- Contributors: Juan Ignacio Ubeira, Scott K Logan
0.7.4 (2019-06-12)
- Fix API documentation related to ROS graph methods (#366)
- Contributors: Jacob Perron
0.7.3 (2019-05-29)
- Rename parameter options
(#363)
- rename the initial_parameters option to parameter_overrides
- rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
- update allow_undeclared_parameters docs
- Consolidate create_publisher arguments (#362)
- Enforcing parameter ranges. (#357)
- Initialize QoSProfile with values from rmw_qos_profile_default (#356)
- Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall
0.7.2 (2019-05-20)
- Add convenience name translations for use by commandline utilities etc. (#352)
- Wait for nodes to discover each other in test_action_graph.py (#354)
- Destroy publishers after test is done (#355)
- Create RLock() early to avoid exception at shutdown (#351)
- Fix qos event argument being wrapped in list. It shouldn't have been (#349)
- Parameter flexibility enhancements (#347)
- Update troubleshooting reference to index.ros.org (#348)
- Update test since unicode characters are allowed now (#346)
- Parameter handling improvements. (#345)
- Encourage users to always provide a QoS history depth (#344)
- QoS - API and implementation for Liveliness and Deadline event callbacks (#316)
- Ignore flake8 error 'imported but unused' (#343)
- Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz
0.7.1 (2019-05-08)
- Update tests to include namespace in ROS types (#294)
- Capsule available at self.handle (#340)
- Wake executor when entities created or destroyed (#336)
- Setting automatic declaration for initial parameters to False. (#339)
- Improve signal handling (#338)
- Parameter API enhancements (#325)
- QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)
- Minimal change to build against new rcl API (#305)
- Remove extra references to node handle (#335)
- API updates for RMW preallocation work. (#337)
- Make pub/sub/cli/srv/etc lists use \@property on node (#333)
- Ignore ValueError in SignalHandlerGuardCondition.__del_ (#334)
- Use new test interface definitions (#332)
- Thread safe node.destroy_* (#319)
- Make [destroy_node]{.title-ref} thread safe (#330)
- Remove most of the timing checks in test_executor (#329)
- Prevent rcutils_log from accessing invalid memory (#326)
- Wait set uses pointers to rcl types not rcl->impl types (#324)
- QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)
- Remove __eq_ and __hash_ from Subscription (#323)
- Fix subscription pycapsule not being destroyed (#320)
- Make destroy_subscription thread safe (#318)
- enforce correct message type is passed to various API (#317)
- Every executor gets its own SIGINT guard condition (#308)
- add missing error handling and cleanup (#315)
- Rename action state transitions (#300)
- Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard
0.7.0 (2019-04-14)
- Added action graph API. (#306)
- Added timeout to executor_spin_until_future_complete. (#301)
- Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)
- Set QoS profile to default values to future-proof against uninitialized data if new fields are added
- Fixed executor bug by refreshing nodes when executor is woken. (#310)
- Updated so executor exits immediately when shut down. (#309)
- Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)
- Added param callback to time_source. (#297)
- Updated tests to pass with numpy arrays. (#292)
- Improved error handling to avoid memory leaks in C extension. (#278)
- Fixed sigint guard condition's lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)
- Improved documentation.
(#277)
- Document node.py.
- Fix C extension documentation.
- Document init, shutdown, and spinning.
- Document Publisher and Subscription.
- Document Client and Service.
- Add warnings to constructors of client and service.
- Document executors and callback groups.
- Use typing,TYPE_CHECKING variable for condition imports used by annotations.
- Add instructions for building docs to README.
- Clarify doc briefs for graph discovery functions.
- Added RcutilsLogger.warning. (#284)
- Changed logger.warn (deprecated) to logger.warning. (#283)
- Updated to use separated action types. (#274)
- Updated to guard against failed take when taking action messages. (#281)
- Enabled test using MultiThreadedExecutor. (#280)
- Added ActionServer. (#270)
- Changed error raised by executor dict interface to KeyError. (#276)
- Abstracted type conversions into functions (#269)
- Fixed Node's reference to executor. (#275)
- Updated to enforce UTF8 argv on rclpy.init(). (#273)
- Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)
- Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)
- Added Action Client. (#262)
- Updated to pass context to wait set. (#258)
- Added Waitable to callback group. (#265)
- Fixed flake8 error. (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py. (#259)
- Added rclpy raw subscriptions. (#242)
- Added a test for invalid string checks on publishing. (#256)
- Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | ardent |
Last Updated | 2017-12-09 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
Authors
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.4 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | bouncy |
Last Updated | 2018-08-22 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- William Woodall
Authors
- Esteve Fernandez
Changelog for package rclpy
0.5.4 (2018-08-22)
- Fix executor.remove_node() (#217)
- executor.add_node() returns a bool (#216)
- Contributors: Mikael Arguedas, Shane Loretz
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures. (#169)
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.5 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | crystal |
Last Updated | 2019-12-05 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- William Woodall
Authors
- Esteve Fernandez
Changelog for package rclpy
0.6.5 (2019-12-05)
- Send feedback callbacks properly in send_goal() of action client (#451) (#467)
- Action server: catch exception from user execute callback (#437)
- Contributors: Jacob Perron, Werner Neubauer
0.6.4 (2019-03-29)
- Backport fix sigint guard condition lifecycle bug (#298)
- Contributors: Wei Liu
0.6.3 (2019-03-09)
- Backport Python Actions
(#282)
- Add Action Client (#262)
- Add rclpy_action module
- Implement action client
- Move common conversion function and typedefs to shared header file (impl/common.h)
- Add tests using mock action server
- Add action module for aggregating action related submodules
- Extend Waitable API so executors are aware of Futures
- Move check_for_type_support() to its own module
- Fix Executor not executing tasks if there are no ready entities in the wait set (#272)
- Fix Node's reference to executor (#275)
- Abstract type conversions into functions (#269)
- Abstract type conversions into functions
- Move common C functions to a shared library 'rclpy_common'
- Add ActionServer (#270)
- Add Action server functions to extension module
- Separated service related macros into separate request and response calls
- Add server goal handle functions to extension module
- Update Action extension module to use conversion functions
- Add implementation of Python ActionServer
- Handles goal and cancel requests, responds, and calls user-defined functions for executing goals.
- Handle result requests
- Handle expired goals
- Publish goal status array and feedback
- Add [handle_accepted_callback]{.title-ref} to ActionServer
- Enable test using MultiThreadedExecutor (#280)
- Guard against failed take when taking action messages (#281)
- Contributors: Jacob Perron
0.6.2 (2019-02-08)
- Added Waitable to callback group (#265)
- Fixed flake8 error (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py (#259)
- Added rclpy raw subscriptions (#242)
- Added a test for invalid string checks on publishing (#256)
- Contributors: AAlon, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python3-pytest |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged rclpy at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.8.5 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rclpy.git |
VCS Type | git |
VCS Version | eloquent |
Last Updated | 2020-12-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- William Woodall
Authors
- Esteve Fernandez
Changelog for package rclpy
0.8.5 (2020-12-04)
- fix moved troubleshooting url (#579) (#589)
- improve error message if rclpy C extensions are not found (#580) (#591)
- Contributors: Dirk Thomas
0.8.4 (2020-01-17)
- Guard against unexpected action responses (#474) (#476)
- Send feedback callbacks properly in send_goal() of action client (#451) (#465)
- Contributors: Jacob Perron, Werner Neubauer
0.8.3 (2019-11-18)
- Future invokes done callbacks when done (#461)
- Make short key of a QoS policy accessible (#463)
- Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)
- Contributors: Dirk Thomas, Shane Loretz
0.8.2 (2019-11-13)
- Explicitly destroy a node's objects before the node. (#456)
- Get proper parameters with prefixes without dot separator. (#455)
- Fix import to use builtin_interfaces.msg (#453)
- Add missing exec depend on rcl_interfaces (#452)
- Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök
0.8.1 (2019-10-23)
- Fix the unicode test string for opensplice rmw implementation (#447)
- Expand test timeout to deflake rmw_connext (#449)
- Support array parameter types (#444)
- Make use of Clock class for throttling logs (#441)
- Drop rclpy test_remove_ros_args_empty test case. (#445)
- Add Rate (#443)
- Action server: catch exception from user execute callback (#437)
- Make cppcheck happy (#438)
- Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz
0.8.0 (2019-09-26)
- Take parameter overrides provided through the CLI. (#434)
- Changelog version to master (#410)
- Remove deprecated QoS functionality (#431)
- Remove comment (#432)
- Provide subscription count from Publisher #418 (#429)
- Raise custom error when node name is not found (#413)
- Timer uses ROS time by default (#419)
- Fix _rclpy.c formatting. (#421)
- Fail on invalid and unknown ROS specific arguments (#415)
- Force explicit --ros-args in cli args. (#416)
- Make Future result() and __await_ raise exceptions (#412)
- Use of -r/--remap flags where appropriate. (#411)
- Awake waitables on shutdown, check if context is valid (#403)
- Accept tuples as parameter arrays (#389)
- Adapt to '--ros-args ... [--]'-based ROS args extraction (#405)
- Replace 'NULL == ' with ! (#404)
- Declaring 'use_sim_time' when attaching node to time source. (#396)
- Adding ignore_override parameter to declare_parameter(s). (#392)
- fix missing 'raise'
- Adding get_parameters_by_prefix method to Node. (#386)
- remove whitespace (#385)
- Added clients by node implementation from rcl (#383)
- Fix time conversion for a big nanoseconds value (#384)
- Allowing parameter declaration without a given value. (#382)
- Make flake8 happy on windows (#381)
- Rename QoS*Policy enum's to *Policy (#379)
- Fixing namespace expansion for declare_parameters. (#377)
- Use params from node '/**' from parameter YAML file (#370)
- [executors] don't convert a timeout_sec to nsecs (#372)
- Fix API documentation related to ROS graph methods (#366)
- Treat warnings as test failures and fix warnings (#365)
- Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)
- Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321
0.7.6 (2019-08-28)
- Fix missing raise (#390)
- Fix time conversion for big nanoseconds value (#384)
- Contributors: Daniel Wang, Vinnam Kim
0.7.5 (2019-08-01)
- Updated to use params from node '/**' from parameter YAML file. (#399)
- Updated to declare 'use_sim_time' when attaching node to time source. (#401)
- Fixed an errant conversion to nsecs in executors timeout.[ (]{.title-ref}#397 <<https://github.com/ros2/rclpy/issues/397>>`_)
- Fixed parameter handling issues. (#394)
- Contributors: Juan Ignacio Ubeira, Scott K Logan
0.7.4 (2019-06-12)
- Fix API documentation related to ROS graph methods (#366)
- Contributors: Jacob Perron
0.7.3 (2019-05-29)
- Rename parameter options
(#363)
- rename the initial_parameters option to parameter_overrides
- rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides
- update allow_undeclared_parameters docs
- Consolidate create_publisher arguments (#362)
- Enforcing parameter ranges. (#357)
- Initialize QoSProfile with values from rmw_qos_profile_default (#356)
- Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall
0.7.2 (2019-05-20)
- Add convenience name translations for use by commandline utilities etc. (#352)
- Wait for nodes to discover each other in test_action_graph.py (#354)
- Destroy publishers after test is done (#355)
- Create RLock() early to avoid exception at shutdown (#351)
- Fix qos event argument being wrapped in list. It shouldn't have been (#349)
- Parameter flexibility enhancements (#347)
- Update troubleshooting reference to index.ros.org (#348)
- Update test since unicode characters are allowed now (#346)
- Parameter handling improvements. (#345)
- Encourage users to always provide a QoS history depth (#344)
- QoS - API and implementation for Liveliness and Deadline event callbacks (#316)
- Ignore flake8 error 'imported but unused' (#343)
- Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz
0.7.1 (2019-05-08)
- Update tests to include namespace in ROS types (#294)
- Capsule available at self.handle (#340)
- Wake executor when entities created or destroyed (#336)
- Setting automatic declaration for initial parameters to False. (#339)
- Improve signal handling (#338)
- Parameter API enhancements (#325)
- QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)
- Minimal change to build against new rcl API (#305)
- Remove extra references to node handle (#335)
- API updates for RMW preallocation work. (#337)
- Make pub/sub/cli/srv/etc lists use \@property on node (#333)
- Ignore ValueError in SignalHandlerGuardCondition.__del_ (#334)
- Use new test interface definitions (#332)
- Thread safe node.destroy_* (#319)
- Make [destroy_node]{.title-ref} thread safe (#330)
- Remove most of the timing checks in test_executor (#329)
- Prevent rcutils_log from accessing invalid memory (#326)
- Wait set uses pointers to rcl types not rcl->impl types (#324)
- QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)
- Remove __eq_ and __hash_ from Subscription (#323)
- Fix subscription pycapsule not being destroyed (#320)
- Make destroy_subscription thread safe (#318)
- enforce correct message type is passed to various API (#317)
- Every executor gets its own SIGINT guard condition (#308)
- add missing error handling and cleanup (#315)
- Rename action state transitions (#300)
- Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard
0.7.0 (2019-04-14)
- Added action graph API. (#306)
- Added timeout to executor_spin_until_future_complete. (#301)
- Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)
- Set QoS profile to default values to future-proof against uninitialized data if new fields are added
- Fixed executor bug by refreshing nodes when executor is woken. (#310)
- Updated so executor exits immediately when shut down. (#309)
- Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)
- Added param callback to time_source. (#297)
- Updated tests to pass with numpy arrays. (#292)
- Improved error handling to avoid memory leaks in C extension. (#278)
- Fixed sigint guard condition's lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)
- Improved documentation.
(#277)
- Document node.py.
- Fix C extension documentation.
- Document init, shutdown, and spinning.
- Document Publisher and Subscription.
- Document Client and Service.
- Add warnings to constructors of client and service.
- Document executors and callback groups.
- Use typing,TYPE_CHECKING variable for condition imports used by annotations.
- Add instructions for building docs to README.
- Clarify doc briefs for graph discovery functions.
- Added RcutilsLogger.warning. (#284)
- Changed logger.warn (deprecated) to logger.warning. (#283)
- Updated to use separated action types. (#274)
- Updated to guard against failed take when taking action messages. (#281)
- Enabled test using MultiThreadedExecutor. (#280)
- Added ActionServer. (#270)
- Changed error raised by executor dict interface to KeyError. (#276)
- Abstracted type conversions into functions (#269)
- Fixed Node's reference to executor. (#275)
- Updated to enforce UTF8 argv on rclpy.init(). (#273)
- Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)
- Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)
- Added Action Client. (#262)
- Updated to pass context to wait set. (#258)
- Added Waitable to callback group. (#265)
- Fixed flake8 error. (#263)
- Added HIDDEN_NODE_PREFIX definition to node.py. (#259)
- Added rclpy raw subscriptions. (#242)
- Added a test for invalid string checks on publishing. (#256)
- Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno
0.6.1 (2018-12-07)
- Added node graph functions (#247)
- Filled ParameterEvent.msg with timestamp and node path name (#252)
- Fixed spelling in documentation (#251)
- Added Waitaible and wait set APIs (#250)
- Updated rcl_wait_set_add_* calls (#248)
- Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall
0.6.0 (2018-11-19)
- Updated to use new error handling API from rcutils (#245)
- Added library path hook for platforms other than Windows. (#243)
- Avoided use of MethodType when monkey patching for tests (#239)
- Fixed repeated fini-ing on failure to parse yaml params (#238)
- Added methods on Mock class for Python 3.5 compatibility (#237)
- Added getter for tuple with seconds and nanoseconds (#235)
- Added new method to get node names and namespaces (#233)
- Fixed warning when parameter value is uninitialized. (#234)
- Added initial node parameters from a parameters yaml files and constructor arguments. (#225)
- Added callbacks when time jumps (#222)
- Updated to use consolidated rcl_wait_set_clear() (#230)
- Added parameter events publishing (#226)
- Added Node API method for setting the parameters_callback. (#228)
- Added test for when sim time is active but unset (#229)
- Added node parameters and parameter services (#214)
- Disabled 1kHz test on all platforms (#223)
- Updated to allow duration to be initialized with negative nanoseconds (#221)
- Updated to allow Duration to be negative (#220)
- Added a reference to its executor on Node (#218)
- Fixed executor.remove_node() (#217)
- Fixed bool return value for executor.add_node() (#216)
- Added TimeSource and support for ROS time (#210)
- Added Time, Duration, Clock wrapping rcl (#209)
- Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood
0.5.3 (2018-07-17)
- use test_msgs instead of std_msgs (#204)
- Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.
- Contributors: Martins Mozeiko, Mikael Arguedas
0.5.1 (2018-06-27)
- Changed the maintainer to be William Woodall. (#196)
- Contributors: William Woodall
0.5.0 (2018-06-25)
- Changed the rclpy signal handler so that it is registered in
rclpy_init()
rather than in each wait. (#194) - Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)
- Added API for counting the number of publishers and subscribers on a topic. (#183)
- Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)
- Changed the
rclpy.spin*()
functions to use a persistent executor. (#176) - Fixed a bug related to zero-initialization. (#182)
- Added code to handle node names which are
nullptr
. (#177) - Refactored client class so that it can handle multiple requests. (#170)
- Fixed
rclpy_init()
so that it actually passes command line arguments torcl_init()
(#179) - Changed logging to get the node's logger name from rcl. (#174)
- Fixed a bug where
rclpy_take_response()
was ignoring the sequence number. (#171) - Added support for Futures and coroutines in the executor. (#166)
- Updated code to match API change needed to avoid accidental nullptr
dereference. (#157)
- Signed-off-by: Ethan Gao <<ethan.gao@linux.intel.com>>
- Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)
- Disable 1kHz timer tests on the ARM architectures.
(#169)
* Publish parameter events. Adds a parameter event publisher to
rclpy nodes.
* Increase base number of publishers for testing. Because every
node has a parameter events publisher bump the number of expected
publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
* Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases.
- Remove comment now that parameter services are implemented.
- Delete NOT_SET parameters if present regardless of prior type.
- Use ParameterMsg rather than RCLParameter for msg type name.
- Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood