Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Dependant Packages

Name Deps
control_toolbox
leo_example_follow_aruco_marker
leo_example_line_follower
leo_filters
moveit_core
moveit_kinematics
pilz_industrial_motion_planner
moveit_planners_stomp
moveit_resources_prbt_ikfast_manipulator_plugin
moveit_servo
moveit_ros_planning
moveit_task_constructor_demo
trac_ik_kinematics_plugin
ur_controllers
om_gravity_compensation_controller
om_joint_trajectory_command_broadcaster
om_spring_actuator_controller
generate_parameter_library_example
cmake_generate_parameter_module_example
generate_parameter_module_example
pick_ik
controller_manager
joint_limits
ackermann_steering_controller
admittance_controller
bicycle_steering_controller
chained_filter_controller
diff_drive_controller
force_torque_sensor_broadcaster
forward_command_controller
gpio_controllers
gps_sensor_broadcaster
gripper_controllers
imu_sensor_broadcaster
joint_state_broadcaster
joint_trajectory_controller
mecanum_drive_controller
motion_primitives_controllers
omni_wheel_drive_controller
parallel_gripper_controller
pid_controller
pose_broadcaster
range_sensor_broadcaster
state_interfaces_broadcaster
steering_controllers_library
tricycle_controller
tricycle_steering_controller
husarion_ugv_battery
husarion_ugv_diagnostics
husarion_ugv_hardware_interfaces
husarion_ugv_lights
husarion_ugv_manager
ffw_joint_trajectory_command_broadcaster
ffw_joystick_controller
ffw_robot_manager
ffw_spring_actuator_controller
ffw_swerve_drive_controller
auto_apms_behavior_tree
auto_apms_util
rosgraph_monitor
jig
husarion_mecanum_drive_controller
low_pass_filter
twist_mux_controller
raph_oak

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

Package Summary

Version 0.8.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version main
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp>

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.8.0 (2026-03-22)

  • Use libexpected-dev instead of tl_expected (#322)
  • Contributors: Christoph Fröhlich

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

Package Summary

Version 0.8.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version main
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp>

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.8.0 (2026-03-22)

  • Use libexpected-dev instead of tl_expected (#322)
  • Contributors: Christoph Fröhlich

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange

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

Package Summary

Version 0.7.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/PickNikRobotics/generate_parameter_library.git
VCS Type git
VCS Version humble
Last Updated 2026-03-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

CMake to generate ROS parameter library.

Maintainers

  • bmagyar
  • christophfroehlich
  • Nathan Brooks
  • Shaurya Kumar
  • Paul Gesel

Authors

  • Paul Gesel

generate_parameter_library

Generate C++ or Python code for ROS 2 parameter declaration, getting, and validation using declarative YAML. The generated library contains a C++ struct with specified parameters. Additionally, dynamic parameters and custom validation are made easy.

TOC

Killer Features

  • Declarative YAML syntax for ROS 2 Parameters converted into C++ or Python struct
  • Declaring, Getting, Validating, and Updating handled by generated code
  • Dynamic ROS 2 Parameters made easy
  • Custom user-specified validator functions
  • Automatically create documentation of parameters

Basic Usage

  1. Create YAML parameter codegen file
  2. Add parameter library generation to project
  3. Use generated struct in project source code

Create yaml parameter codegen file

Write a yaml file to declare your parameters and their attributes.

src/turtlesim_parameters.yaml

turtlesim:
  background:
    r:
      type: int
      default_value: 0
      description: "Red color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    g:
      type: int
      default_value: 0
      description: "Green color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]
    b:
      type: int
      default_value: 0
      description: "Blue color value for the background, 8-bit"
      validation:
        bounds<>: [0, 255]

Add parameter library generation to project

package.xml

<depend>generate_parameter_library</depend>

CMakeLists.txt

find_package(generate_parameter_library REQUIRED)

generate_parameter_library(
  turtlesim_parameters # cmake target name for the parameter library
  src/turtlesim_parameters.yaml # path to input yaml file
)

add_executable(minimal_node src/turtlesim.cpp)
target_link_libraries(minimal_node PRIVATE
  rclcpp::rclcpp
  turtlesim_parameters
)

install(TARGETS minimal_node turtlesim_parameters
  EXPORT ${PROJECT_NAME}Targets)
ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)

setup.py

from generate_parameter_library_py.setup_helper import generate_parameter_module

generate_parameter_module(
  "turtlesim_parameters", # python module name for parameter library
  "turtlesim/turtlesim_parameters.yaml", # path to input yaml file
)

Use generated struct in project source code

src/turtlesim.cpp

```c++ #include <rclcpp/rclcpp.hpp> #include <turtlesim/turtlesim_parameters.hpp> // you can also use the deprecated #include “turtlesim_parameters.hpp”

int main(int argc, char * argv[]) { rclcpp::init(argc, argv); auto node = std::make_shared<rclcpp::Node>(“turtlesim”); auto param_listener = std::make_shared<turtlesim::ParamListener>(node);

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package generate_parameter_library

0.7.1 (2026-03-22)

0.7.0 (2026-02-22)

  • Use a temporary build directory for Python module output (#303)
  • Move linters to pre-commit (#298)
  • Contributors: Błażej Sowa, Christoph Fröhlich

0.6.0 (2025-12-06)

  • Update maintainers for GBP release team (#282)
  • Contributors: Nathan Brooks

0.5.0 (2025-06-12)

  • Fix generate_parameter_library macro on Windows (#242)
  • Contributors: Nathan Brooks, Silvio Traversaro

0.4.0 (2025-01-13)

  • Change header install path (#213)
  • Contributors: Auguste Bourgois

0.3.9 (2024-10-27)

  • Disable cache for program (#218)
  • Contributors: Paul Gesel

0.3.8 (2024-03-27)

  • use python_install_dir (#178)
  • Update CMakeLists.txt (#173)
  • Contributors: Christoph Fröhlich, Paul Gesel

0.3.7 (2024-01-12)

  • Enable generate_parameter_module through ament_cmake_python (#161)
  • Contributors: Paul Gesel

0.3.6 (2023-07-31)

0.3.5 (2023-07-28)

0.3.4 (2023-07-24)

  • Add Python support for generate_parameter_library (#110) Co-authored-by: Tyler Weaver <<tyler@picknik.ai>>
  • Contributors: Paul Gesel

0.3.3 (2023-04-13)

0.3.2 (2023-04-12)

0.3.1 (2023-02-01)

  • Add keyword INTERFACE to fix build error 'ar: no archive members specified' since the generated target is header-only (#93)
  • Make it easy for users to override (#92)
  • Contributors: Tyler Weaver, light-tech

0.3.0 (2022-11-15)

  • Migrate from parameter_traits to RSL (take 2) (#91)
  • Contributors: Tyler Weaver

0.2.8 (2022-11-03)

0.2.7 (2022-10-28)

  • Standardize cmake (#79)
  • Contributors: Tyler Weaver

0.2.6 (2022-09-28)

  • Depend on python package (#75)
  • Drop requirement for CMake to 3.16 (#73)
  • Added -- for ros-args to find (#71)
  • Contributors: Michael Wrock, Tyler Weaver

0.2.5 (2022-09-20)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged generate_parameter_library at Robotics Stack Exchange