rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 3.3.14
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-10-01
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Shane Loretz
  • Aditya Pande
  • Jacob Perron

Authors

  • Esteve Fernandez
  • William Woodall
  • Ivan Paunovic
README
No README found. See repository README.
CHANGELOG

Changelog for package rclpy

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)

  • Don't crash the action server if the client goes away. (#1114) (#1218)
  • Contributors: mergify[bot]

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)

  • ServerGoalHandle should be destroyed before removing. (#1113) (#1120)
  • Contributors: mergify[bot]

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)

  • check if the context is already shutdown. (#939) (#943)
  • Contributors: mergify[bot]

3.3.3 (2022-05-10)

  • remove feedback callback when the goal has been completed. (#927) (#931)
  • Contributors: mergify[bot]

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 and rclpy_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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
diagnostic_aggregator
diagnostic_updater
smach_ros
fadecandy_driver
flexbe_core
flexbe_input
flexbe_mirror
flexbe_onboard
flexbe_states
flexbe_testing
flexbe_widget
flexbe_app
gazebo_ros
gazebo_video_monitor_utils
tf2_py
tf2_ros_py
tf2_tools
turtle_tf2_py
gps_tools
grid_map_demos
camera_calibration
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
laser_geometry
leo_fw
pyhri
multires_image
swri_cli_tools
swri_image_util
swri_transform_util
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
nmea_navsat_driver
novatel_oem7_driver
ntrip_client
pal_statistics
py_trees_ros
qb_device_test_controllers
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_action
rqt_bag
rqt_bag_plugins
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_srv
rqt_tf_tree
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
turtlebot3_example
turtlebot3_teleop
ur_bringup
ur_robot_driver
urdf_test
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
warehouse_ros_mongo
wireless_watcher
bno055
action_tutorials_py
demo_nodes_py
lifecycle_py
quality_of_service_demo_py
topic_monitor
launch_testing_examples
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_guard_conditions
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
examples_rclpy_pointcloud_publisher
grbl_ros
joy_tester
launch_param_builder
launch_ros
launch_testing_ros
test_launch_ros
message_filters
nav2_common
nav2_simple_commander
nav2_system_tests
performance_report
r2r_spl
r2r_spl_7
r2r_spl_8
rmf_demos_fleet_adapter
rmf_fleet_adapter_python
rmf_building_map_tools
ros2controlcli
rqt_controller_manager
ros2_controllers_test_nodes
rqt_joint_trajectory_controller
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
ros2bag
rosbag2_py
simple_actions
social_nav_util
sros2
system_fingerprint
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
ros2launch_security_examples
topic_tools
turtlebot4_diagnostics
turtlebot4_openai_tutorials
turtlebot4_python_tutorials
boeing_gazebo_model_attachment_plugin
boeing_gazebo_model_attachment_plugin_msgs
py_binding_tools
vizanti_demos
vizanti_server
classic_bags
event_camera_py
game_controller_spl
gc_spl
gc_spl_2022
cmake_generate_parameter_module_example
generate_parameter_module_example
generate_parameter_library
canopen_utils
kortex_bringup
ros2acceleration
rqt_gauges
create3_examples_py
nicla_vision_ros2
example_multi_robot
example_scenario_control
example_simulation
scenario_execution_gazebo
scenario_execution_nav2
scenario_execution_control
scenario_execution_ros
gazebo_static_camera
scenario_execution_gazebo_test
scenario_execution_nav2_test
message_modification
scenario_status
tf_to_pose_publisher
lidar_situational_graphs
aandd_ekew_driver_py
as2_motion_reference_handlers
as2_python_api
as2_keyboard_teleoperation
as2_platform_crazyflie
as2_platform_tello
clearpath_config_live
metro_nav_demo_utils
navigation_metrics
vimbax_camera_examples
whill_examples

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 4.1.6
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-10-01
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Shane Loretz
  • Aditya Pande

Authors

  • Esteve Fernandez
  • Ivan Paunovic
  • Jacob Perron
  • William Woodall
README
No README found. See repository README.
CHANGELOG

Changelog for package rclpy

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)

  • Fix type in Node init args (#1115) (#1122)
  • Contributors: mergify[bot]

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 and rclpy_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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
bondpy
diagnostic_aggregator
diagnostic_updater
smach_ros
flexbe_core
flexbe_input
flexbe_mirror
flexbe_onboard
flexbe_states
flexbe_testing
flexbe_widget
gazebo_ros
gazebo_video_monitor_utils
examples_tf2_py
tf2_py
tf2_ros_py
tf2_tools
turtle_tf2_py
gps_tools
grid_map_demos
camera_calibration
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
laser_geometry
leo_fw
multires_image
swri_cli_tools
swri_image_util
swri_transform_util
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
nmea_navsat_driver
ntrip_client
py_trees_ros
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_bag
rqt_bag_plugins
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_publisher
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_srv
rqt_tf_tree
rqt_topic
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
ur_robot_driver
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
warehouse_ros_mongo
bno055
action_tutorials_py
demo_nodes_py
lifecycle_py
quality_of_service_demo_py
topic_monitor
launch_testing_examples
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_guard_conditions
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
examples_rclpy_pointcloud_publisher
grbl_ros
joy_tester
launch_param_builder
launch_ros
launch_testing_ros
test_launch_ros
message_filters
nav2_common
nav2_simple_commander
nav2_system_tests
performance_report
r2r_spl
r2r_spl_7
r2r_spl_8
rmf_demos_fleet_adapter
rmf_charging_schedule
rmf_fleet_adapter_python
rmf_building_map_tools
ros2controlcli
rqt_controller_manager
ros2_controllers_test_nodes
rqt_joint_trajectory_controller
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
ros2bag
rosbag2_examples_py
rosbag2_py
simple_actions
social_nav_util
sros2
system_fingerprint
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
ros2launch_security_examples
topic_tools
py_binding_tools
classic_bags
event_camera_py
game_controller_spl
gc_spl
gc_spl_2022
cmake_generate_parameter_module_example
generate_parameter_module_example
generate_parameter_library
kortex_bringup
ros2acceleration
rqt_gauges
soccer_vision_3d_rviz_markers
lidar_situational_graphs
rrt_planner

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

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-10-01
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Shane Loretz
  • Aditya Pande

Authors

  • Esteve Fernandez
  • Ivan Paunovic
  • Jacob Perron
  • William Woodall
README
No README found. See repository README.
CHANGELOG

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)

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 and rclpy_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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
bondpy
diagnostic_aggregator
diagnostic_updater
smach_ros
flexbe_core
flexbe_input
flexbe_mirror
flexbe_onboard
flexbe_states
flexbe_testing
flexbe_widget
gazebo_ros
examples_tf2_py
tf2_py
tf2_ros_py
tf2_tools
turtle_tf2_py
gps_tools
grid_map_demos
camera_calibration
image_view
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
laser_geometry
leo_fw
multires_image
swri_cli_tools
swri_image_util
swri_transform_util
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
nmea_navsat_driver
ntrip_client
pal_statistics
py_trees_ros
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_bag
rqt_bag_plugins
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_publisher
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_tf_tree
rqt_topic
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
ur_robot_driver
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
bno055
action_tutorials_py
demo_nodes_py
lifecycle_py
quality_of_service_demo_py
topic_monitor
launch_testing_examples
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_guard_conditions
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
examples_rclpy_pointcloud_publisher
grbl_ros
joy_tester
launch_param_builder
launch_ros
launch_testing_ros
test_launch_ros
message_filters
nav2_common
nav2_loopback_sim
nav2_simple_commander
nav2_system_tests
performance_report
r2r_spl
r2r_spl_7
r2r_spl_8
rmf_demos_fleet_adapter
rmf_charging_schedule
rmf_fleet_adapter_python
rmf_building_map_tools
ros2controlcli
rqt_controller_manager
ros2_controllers_test_nodes
rqt_joint_trajectory_controller
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
ros2bag
rosbag2_examples_py
rosbag2_py
simple_actions
sros2
system_fingerprint
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
ros2launch_security_examples
topic_tools
turtlebot4_diagnostics
py_binding_tools
classic_bags
event_camera_py
game_controller_spl
gc_spl
gc_spl_2022
cmake_generate_parameter_module_example
generate_parameter_module_example
generate_parameter_library
canopen_utils
kortex_bringup
ros2acceleration
rqt_gauges
soccer_vision_3d_rviz_markers
create3_examples_py
nicla_vision_ros2
example_multi_robot
example_scenario_control
example_simulation
scenario_execution_gazebo
scenario_execution_moveit2
scenario_execution_nav2
scenario_execution_control
scenario_execution_ros
gazebo_static_camera
scenario_execution_gazebo_test
scenario_execution_nav2_test
message_modification
scenario_status
tf_to_pose_publisher

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 7.6.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-10-11
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Shane Loretz
  • Aditya Pande

Authors

  • Esteve Fernandez
  • Ivan Paunovic
  • Jacob Perron
  • William Woodall
README
No README found. See repository README.
CHANGELOG

Changelog for package rclpy

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)

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 and rclpy_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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
bondpy
diagnostic_aggregator
diagnostic_updater
smach_ros
flexbe_core
flexbe_input
flexbe_mirror
flexbe_onboard
flexbe_states
flexbe_testing
flexbe_widget
examples_tf2_py
tf2_py
tf2_ros_py
tf2_tools
turtle_tf2_py
gps_tools
camera_calibration
image_view
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
laser_geometry
leo_fw
multires_image
swri_cli_tools
swri_image_util
swri_transform_util
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
nmea_navsat_driver
ntrip_client
pal_statistics
py_trees_ros
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_bag
rqt_bag_plugins
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_publisher
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_tf_tree
rqt_topic
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
ur_robot_driver
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
bno055
action_tutorials_py
demo_nodes_py
lifecycle_py
quality_of_service_demo_py
topic_monitor
launch_testing_examples
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_guard_conditions
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
examples_rclpy_pointcloud_publisher
grbl_ros
joy_tester
launch_param_builder
launch_ros
launch_testing_ros
test_launch_ros
message_filters
performance_report
r2r_spl
r2r_spl_7
r2r_spl_8
rmf_demos_fleet_adapter
rmf_charging_schedule
rmf_fleet_adapter_python
rmf_building_map_tools
ros2controlcli
rqt_controller_manager
ros2_controllers_test_nodes
rqt_joint_trajectory_controller
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
ros2bag
rosbag2_examples_py
rosbag2_py
simple_actions
sros2
system_fingerprint
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
ros2launch_security_examples
topic_tools
py_binding_tools
classic_bags
event_camera_py
game_controller_spl
gc_spl
gc_spl_2022
cmake_generate_parameter_module_example
generate_parameter_module_example
generate_parameter_library
canopen_utils
kortex_bringup
ros2acceleration
rqt_gauges
soccer_vision_3d_rviz_markers

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.

rclpy package from rclpy repo

rclpy

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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Esteve Fernandez

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • William Woodall

Authors

  • Esteve Fernandez
README
No README found. See repository README.
CHANGELOG

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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • William Woodall

Authors

  • Esteve Fernandez
README
No README found. See repository README.
CHANGELOG

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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • William Woodall

Authors

  • Esteve Fernandez
README
No README found. See repository README.
CHANGELOG

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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 0.7.11
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 dashing
Last Updated 2020-07-11
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • William Woodall

Authors

  • Esteve Fernandez
README
No README found. See repository README.
CHANGELOG

0.7.11 (2020-07-10)

  • Fix moved troubleshooting url. (#590)
  • Improve error message if rclpy C extensions are not found. (#592)
  • Contributors: Dirk Thomas

0.7.10 (2010-12-12)

  • Remove f-strings to restore Python 3.5 compatibility. (#483) The regression was accidentally introduced in #475.
  • Contributors: Jacob Perron

0.7.9 (2019-12-10)

  • Added guard against unexpected action responses. (#475) Fixes https://github.com/ros2/demos/issues/417
  • Future invokes done callbacks when done (#477)
  • Added missing exec depend on rcl_interfaces. (#472)
  • Fixed import to use builtin_interfaces.msg. (#473)
  • Fixed sending of feedback callbacks in send_goal() of action client. (#466)
  • Contributors: Dirk Thomas, Jacob Perron, Steven! Ragnarök

0.7.8 (2019-10-11)

  • Updated to accept tuples as parameter arrays. (#442)
  • Fixed uncaught exception from user execute callback in Action Server. (#439) Fixes #296.
  • Contributors: Christian Rauch, Jacob Perron, Steven! Ragnarök

0.7.7 (2019-09-06)

  • Fixed Python 3.5 compatibility by removing unsupported type hints. (#414)
  • Contributors: Steven! Ragnarök

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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 1.9.3
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 galactic
Last Updated 2022-12-07
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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • Ivan Paunovic
  • Shane Loretz

Authors

  • Esteve Fernandez
  • William Woodall
README
No README found. See repository README.
CHANGELOG

Changelog for package rclpy

1.9.3 (2022-12-06)

  • remove feedback callback when the goal has been completed. (#932)
  • Waitable should check callback_group if it can be executed. (#1014)
  • support wildcard matching for params file (#1003)
  • Contributors: Chen Lihui, Tomoya Fujita

1.9.2 (2022-06-30)

  • Bugfix/duration to msg precision (#876) (#916)
  • Avoid exception in Node constructor when use override for 'use_sim_time' (#896) (#913)
  • Contributors: mergify[bot]

1.9.1 (2022-04-28)

  • Remove -> bool annotation for destroy_node #886 (#891)
  • Fix memory leak. (#840)
  • Fix automatically declared parameters descriptor type. (backport #853) (#854)
  • Only add one done callback to a future (#816) (#821)
  • Remove unused function make_mock_subscription (#809) (#810)
  • Convert Node and Context to use C++ Classes (#771)
  • Pybind11 actionserver nitpicks and docblock improvements (#774)
  • Pybind11 action goal handle nitpicks (#767)
  • Convert Guardcondition to use C++ classes (#772)
  • Removed unused structs (#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, Greg Balke, Shane Loretz, Suraj Pattar, mergify[bot]

1.9.0 (2021-05-20)

  • Allow declaring uninitialized statically typed parameters. (#798) (#799)
  • Reject cancel request if failed to transit to CANCEL_GOAL state. (#791) (#795)
  • Contributors: Jacob Perron, Tomoya Fujita

1.8.2 (2021-05-10)

  • Break log function execution ASAP if configured severity is too high (#776) (#783)
  • Contributors: 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)
  • 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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
diagnostic_aggregator
diagnostic_common_diagnostics
diagnostic_updater
gazebo_ros
tf2_py
tf2_ros_py
tf2_tools
turtle_tf2_py
camera_calibration
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
multires_image
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
ntrip_client
pal_statistics
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_action
rqt_bag
rqt_bag_plugins
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_srv
rqt_tf_tree
rqt_top
rtabmap_ros
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
turtlebot3_example
turtlebot3_teleop
ur_bringup
ur_robot_driver
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
warehouse_ros_mongo
action_tutorials_py
demo_nodes_py
quality_of_service_demo_py
topic_monitor
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_guard_conditions
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
examples_rclpy_pointcloud_publisher
gc_spl_2022
launch_param_builder
launch_ros
launch_testing_ros
message_filters
nav2_gazebo_spawner
nav2_common
nav2_simple_commander
nav2_system_tests
performance_report
r2r_spl_7
rmf_fleet_adapter_python
rmf_building_map_tools
rmf_visualization_fleet_states
ros2controlcli
ros2_controllers_test_nodes
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
massrobotics_amr_sender
vda5050_connector
rosbag2_py
simple_actions
sros2
system_fingerprint
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
ros2launch_security_examples
example_subscriber_pkg
stair_step_detector_pkg
stairs_visualizer_pkg
topic_tools
turtlebot4_diagnostics
turtlebot4_openai_tutorials
turtlebot4_python_tutorials

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

rclpy package from rclpy repo

rclpy

Package Summary

Tags No category tags.
Version 1.0.13
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 foxy
Last Updated 2023-05-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

Package containing the Python client.

Additional Links

No additional links.

Maintainers

  • William Woodall

Authors

  • Esteve Fernandez
README
No README found. See repository README.
CHANGELOG

Changelog for package rclpy

1.0.13 (2023-05-27)

  • Fix #983 by saving future and checking for + raising any exceptions (#1073) (#1116)
  • Contributors: Achille Verheye, Tomoya Fujita

1.0.12 (2023-03-16)

  • Fix test_publisher linter for pydocstyle 6.2.2 (#1063) (#1068)
  • Waitable should check callback_group if it can be executed. (#1001) (#1015)
  • Contributors: mergify[bot], Cristóbal Arroyo, Tomoya Fujita

1.0.11 (2022-10-12)

  • Revert "Raise user handler exception in MultiThreadedExecutor. (#984)" (#1017) (#1021)
  • Contributors: Tomoya Fujita, mergify[bot]

1.0.10 (2022-09-12)

  • Raise user handler exception in MultiThreadedExecutor (#984) (#992)
  • Contributors: Tomoya Fujita

1.0.9 (2022-09-01)

  • Add __enter_ and __exit_ to Waitable (#761) (#998)
  • Remove feedback callback when the goal has been completed (#927) (#933)
  • Fix memory leak for get_(publishers|subscriptions)_info_by_topic (#955)
  • Fix type annotation for get_parameters_by_prefix (#964)
  • Fix rclpy.duration.Duration.to_msg() losing precision (#876) (#917)
  • Fix inverted error code for action client take (#949)
  • Fix memory leak for serialization (#898)
  • Fix crash on spinning raw subscription when publishes closes (#827). (#903)
  • Contributors: Chen Lihui, Chris Lalancette, Erki Suurjaak, HyunSeok Kil, Jonathan Chapple, Shane Loretz, Tully Foote, Tomoya Fujita

1.0.8 (2022-01-31)

  • Adding wake_executor to subscriber (#855)
  • Contributors: Leonardo Oliveira Wellausen

1.0.7 (2021-10-05)

  • Only add one done callback to a future (#816) (#820)
  • Contributors: Shane Loretz

1.0.6 (2021-08-31)

  • Reject cancel request if failed to transit to CANCEL_GOAL state (#791) (#796)
  • Break log function execution ASAP if configured severity is too high (#776) (#784)
  • Contributors: Jacob Perron, Tomoya Fujita, ksuszka

1.0.5 (2021-01-05)

  • [documentation] Use only True to avoid confusion in autodoc config [None]{.title-ref} and [True]{.title-ref} have the same meaning: https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html?highlight=autoclass#confval-autodoc_default_options
  • [documentation] Document QoS profile constants
  • Fix Enum not being comparable with ints in get_parameter_types service (#644)
  • Make sure to catch the ROSInterruptException when calling rate.sleep (#650)
  • Fix memory leak (#643) (#646)
  • Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603) (#625)
  • Use absolute parameter events topic name (#612) (#614)
  • MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605) (#626)
  • Contributors: Chen Lihui Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tomoya Fujita

1.0.4 (2020-07-07)

  • Wrap lines to shorten line length (#586)
  • Improve error message if rclpy C extensions are not found (#580)
  • Fix moved troubleshooting URL (#579)
  • Add resolved_name() method to publisher (#568) (#576)
  • Contributors: Dirk Thomas, Shane Loretz

1.0.3 (2020-06-23)

  • Fix executor wait_for_ready_callbacks returning None on shutdown (#574) (#583)
  • Add topic_name property to Subscription (#571) (#582)
  • Doc+fix rclpy_handle_get_pointer_from_capsule() (#569) (#570)
  • Contributors: Audrow Nash, Shane Loretz

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 (#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)
  • 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)
    • Fixing namespace expansion for declare_parameters. (#377)
    • Allowing parameter declaration without a given value. (#382)
  • 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 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 to rcl_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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
diagnostic_aggregator
diagnostic_updater
gazebo_ros
tf2_py
tf2_ros
turtle_tf2_py
camera_calibration
stereo_image_proc
interactive_markers
joint_state_publisher
joint_state_publisher_gui
swri_cli_tools
swri_image_util
swri_transform_util
mavros
microstrain_inertial_rqt
moveit_core
moveit_py
moveit_ros_planning_interface
moveit_ros_visualization
novatel_oem7_driver
ntrip_client
pal_statistics
psen_scan_v2
py_trees_ros
rc_reason_clients
rosapi
rosbridge_library
rosbridge_server
rosbridge_test_msgs
rclpy_message_converter
rqt_gui
rqt_py_common
rqt_action
rqt_console
rqt_moveit
rqt_msg
rqt_plot
rqt_py_console
rqt_reconfigure
rqt_robot_dashboard
rqt_robot_monitor
rqt_robot_steering
rqt_runtime_monitor
rqt_srv
rqt_tf_tree
rqt_top
joy_teleop
key_teleop
mouse_teleop
teleop_twist_keyboard
turtlebot3_example
turtlebot3_teleop
ur_robot_driver
urdf_test
urdfdom_py
vision_msgs_rviz_plugins
opencv_tests
warehouse_ros_mongo
wireless_watcher
bno055
action_tutorials_py
demo_nodes_py
quality_of_service_demo_py
topic_monitor
end_effector
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_executors
examples_rclpy_minimal_client
examples_rclpy_minimal_service
examples_rclpy_minimal_publisher
examples_rclpy_minimal_subscriber
gc_spl_2022
grbl_ros
grepros
joy_tester
launch_param_builder
launch_ros
launch_testing_ros
message_filters
nav2_gazebo_spawner
nav2_common
nav2_system_tests
oroca_rqt_command
performance_report
py_trees_ros_tutorials
py_trees_ros_viewer
r2r_spl_7
rmf_fleet_adapter_python
rmf_building_map_tools
rmf_visualization_fleet_states
ros2controlcli
ros2action
ros2cli
ros2component
ros2doctor
ros2lifecycle
ros2node
ros2param
ros2service
ros2topic
massrobotics_amr_sender
rosxbeepy
roverrobotics_input_manager
simple_actions
social_nav_util
sros2
system_fingerprint
system_metrics_collector
launch_system_modes
test_cli
test_cli_remapping
test_communication
twist_stamper
ros_core
webots_ros2
webots_ros2_driver
webots_ros2_epuck
webots_ros2_mavic
webots_ros2_tesla
webots_ros2_tests
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
xacro_live

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rclpy at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.