Registry / ai-ml / cmeel-urdfdom

cmeel-urdfdom

JSON →
library6.0.0pypypiunverified

cmeel-urdfdom provides Python bindings for the `urdfdom` C++ library, which is used for parsing Unified Robot Description Format (URDF) XML files. It allows Python applications to load, manipulate, and query robot models defined in URDF. The current version is 4.0.1, with releases typically tracking the underlying `urdfdom` C++ library and often including `cmeel`-specific build suffixes.

pip install cmeel-urdfdom
INSTALL
IMPORT
SIG · CMEEL-URDFDOM
C
cmeel-urdfdom
ai-mlpythonv6.0.0
Install
1.9s avg
Import
Disk
19MB
Pass rate
6/ 10
Env Coverage6 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v4.0.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
1/4 runs
✓ 1.95s
py 3.11
1/4 runs
✓ 1.88s
py 3.12
1/4 runs
✓ 1.65s
py 3.13
1/4 runs
✓ 1.98s
py 3.9
✓ —
✓ 2.1s
19MB installed
● package 19MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

URDF
from urdfdom_py import URDF
from cmeel.urdfdom import URDF

This quickstart demonstrates how to load a URDF robot model from an XML string using `URDF.load_from_xml_string`. It then shows how to access basic properties like the robot's name, the number of links and joints, and specific details of a link and a joint.

from urdfdom.urdf import URDF # A simple URDF string for a single link robot simple_urdf_string = """<?xml version=\"1.0\"?> <robot name=\"simple_robot\"> <link name=\"base_link\"> <visual> <geometry> <box size=\"1 1 1\"/> </geometry> </visual> </link> <joint name=\"fixed_joint\" type=\"fixed\"> <parent link=\"base_link\"/> <child link=\"child_link\"/> <origin xyz=\"0 0 1\" rpy=\"0 0 0\"/> </joint> <link name=\"child_link\"> <visual> <geometry> <cylinder radius=\"0.1\" length=\"0.5\"/> </geometry> </visual> </link> </robot> """ try: robot = URDF.load_from_xml_string(simple_urdf_string) print(f"Successfully loaded robot: {robot.name}") print(f"Number of links: {len(robot.links)}") print(f"Number of joints: {len(robot.joints)}") # Access a link if 'base_link' in robot.links: print(f"Base link geometry: {robot.links['base_link'].visuals[0].geometry.box.size}") # Access a joint if 'fixed_joint' in robot.joints: joint = robot.joints['fixed_joint'] print(f"Fixed joint type: {joint.joint_type}") print(f"Fixed joint origin: {joint.origin.xyz}") except Exception as e: print(f"Error loading URDF: {e}")
Debug
Known issues
breakingUnderlying C++ library version mismatches can cause API breaks. `cmeel-urdfdom` wraps the C++ `urdfdom` library, and major version updates in either `cmeel-urdfdom` or its dependency `urdfdom-headers` can introduce breaking changes due to alterations in the underlying C++ API or its Python bindings.
fix
Always check the release notes for `cmeel-urdfdom` and `urdfdom-headers` when upgrading, especially across major versions. Ensure your `urdfdom-headers` dependency matches the `cmeel-urdfdom` requirements as specified in its `pyproject.toml` or `setup.cfg`.
affects: All major version changes (e.g., 3.x to 4.x).
gotchaThis is not a pure Python library; it relies on compiled C++ components. While `cmeel` aims to provide pre-built wheels for common platforms, environments without pre-built wheels may require a C++ compiler toolchain (e.g., CMake, C++ compiler) for installation, which can be complex.
fix
Install in an environment with pre-built wheels (most common Linux, macOS, Windows systems). If installation fails, ensure you have necessary C++ build tools or refer to the `cmeel` documentation for custom build instructions.
affects: All versions.
gotchaXML parsing errors can be challenging to debug. When parsing malformed or syntactically incorrect URDF XML, the error messages originating from the underlying C++ `urdfdom` parser can sometimes be cryptic or not pinpoint the exact line or issue in the XML string or file.
fix
Validate URDF files with external tools (e.g., `check_urdf` from `ros_urdf_check` for ROS users, or a generic XML linter) before attempting to load them programmatically. Gradually build complex URDFs from simpler, verified components.
affects: All versions.
Upgrade
Version history
6.0.0latest on PyPI · released May 21, 2026
Audit
Dependencies
urdfdom-headersrequiredProvides the necessary C++ headers for the underlying urdfdom library, essential for binding.
Agent activity
30 hits · last 30 days
node
24
OpenAI (training)
1
Resources
cmeel-urdfdom — pip install cmeel-urdfdom · libregistry