rcutils is a ROS 2 C API package offering fundamental utility functions and data structures for the ROS 2 codebase.
Project description
Built using https://github.com/ycheng517/ros-python-wheels.
rcutils: ROS 2 C Utilities data structures
rcutils is a C API consisting of macros, functions, and data structures used through out the ROS 2 code base.
Quality Declaration
This package claims to be in the Quality Level 1 category, see the Quality Declaration for more details.
API
The API is a combination of parts:
- Allocator concept, used to inject the allocating and deallocating methods into a function or type.
- rcutils_allocator_t
- rcutils/allocator.h
- Command line interface utilities:
- rcutils/cmdline_parser.h
- Utilities for setting error states (error message, file, and line number) like
strerrorforerrno:- rcutils/error_handling.h
- Some basic filesystem utilities like checking for path existence, getting the cwd, etc...:
- rcutils/filesystem.h
- A C string find method:
- rcutils_find()
- rcutils_find_last()
- rcutils/find.h
- A convenient string formatting function, which takes a custom allocator:
- rcutils_format_string()
- rcutils/format_string.h
- Functions for interfacing with process environment variables:
- rcutils_get_env()
- rcutils_get_home_dir()
- rcutils_set_env()
- rcutils/env.h
- Extensible logging macros:
- Some examples (not exhaustive):
- RCUTILS_LOG_DEBUG()
- RCUTILS_LOG_INFO_NAMED()
- RCUTILS_LOG_WARN_ONCE()
- RCUTILS_LOG_ERROR_SKIPFIRST_NAMED()
- rcutils/logging_macros.h
- rcutils/logging.h
- Some examples (not exhaustive):
- Some basic utilities to load, unload and get symbols from shared libraries at run-time.
- rcutils/shared_library.h
- A string replacement function which takes an allocator, based on http://creativeandcritical.net/str-replace-c:
- rcutils_repl_str()
- rcutils/repl_str.h
- String splitting functions which take a custom allocator:
- rcutils_split()
- rcutils_split_last()
- rcutils/split.h
- A version of
strdupwhich takes an allocator:- rcutils_strdup()
- rcutils/strdup.h
- Portable implementations of "get system time" and "get steady time":
- rcutils_system_time_now()
- rcutils_steady_time_now()
- rcutils_raw_steady_time_now()
- rcutils/time.h
- Some useful data structures:
- A "string array" data structure (analogous to
std::vector<std::string>):- rcutils_string_array_t
- rcutils/types/string_array.h
- A "string-string map" data structure (analogous to
std::map<std::string, std::string>)- rcutils_string_map_t
- rcutils/types/string_map.h
- A "string array" data structure (analogous to
- Macros for controlling symbol visibility and linkage for this library:
- rcutils/visibility_control.h
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ros_rcutils-6.9.8-cp314-cp314t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp314-cp314t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 163.1 kB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5340682baceecf5e07a66ca284e1382e2133f6ca84e0376b0b3c53f118a41ead
|
|
| MD5 |
d73d5f429269cdc41c03ba2b66513976
|
|
| BLAKE2b-256 |
6741a7f10dee5efde6274f8856e68c8be059e871eb7d476bb6df58ca42476e95
|
File details
Details for the file ros_rcutils-6.9.8-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 163.1 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb03769a683a709d08fb6cf10802622e11550f75bc2957ebba103a7b608fc81e
|
|
| MD5 |
c6521975b56265c9e2b682a7e6124ff5
|
|
| BLAKE2b-256 |
15a96f6cbe6ef8858a353309faada0bafdbc95be35100a2b3e35f5eac38f6bf5
|
File details
Details for the file ros_rcutils-6.9.8-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 163.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59712b80a3fe5d4c2d15cee4dc69d00817dad6a576b947eec15bce21739d779b
|
|
| MD5 |
17f19640d2ae2e93f1bcca2969d9dcf1
|
|
| BLAKE2b-256 |
2bced2f445d9b351512e48ea5169728719360ed7425e31b22f6000e308769e0e
|
File details
Details for the file ros_rcutils-6.9.8-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 162.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cb874a3dff4b26388d67ef79dfcf0a70d1cfb40389c6381ea85c470e44c6526
|
|
| MD5 |
299f8054ccffa0fc4bf039855a064508
|
|
| BLAKE2b-256 |
589ce2ede5b0e92d2461a5cc96f2a69f15e46c05d4505c2acb3f429b2fe899db
|
File details
Details for the file ros_rcutils-6.9.8-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 163.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
583872fa96817ff4f3686f6b0e269fe042ddf3505e2b4ad11fc56babcbf61162
|
|
| MD5 |
0eaf2e5a6fc9145956791e459ce55b96
|
|
| BLAKE2b-256 |
d53d500e1506838ffb88e68c3d58c7dd42c0dcb6653b3542c855622ad09e959d
|
File details
Details for the file ros_rcutils-6.9.8-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ros_rcutils-6.9.8-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 162.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a229db79a7b02b10f8128b593f93ba10d30d2d097379f8db211ee85dcc777320
|
|
| MD5 |
5c81c5a113aa0b6be67e5968e7f0903e
|
|
| BLAKE2b-256 |
c7bdd12a376a9925eede9b70c5b3c94703c5523852d0b82becae0253a762149f
|