cmeel-urdfdom
cmeel distribution for urdfdom, URDF parser
What it is and what it does
cmeel-urdfdom is a Python distribution of the urdfdom library, which parses URDF (U-Robot Description Format) files—XML-based robot model descriptions used in robotics and simulation. It reads URDF files and populates internal data structures representing robot links, joints, geometry, and constraints. The package supports three URDF versions: 1.0 (basic robot models), 1.1 (adds quaternion orientation and capsule geometry), and 1.2 (adds extended joint limits for acceleration, deceleration, and jerk).
The package is distributed via cmeel, a wheel-building framework for C++ libraries. It depends on cmeel, cmeel-console-bridge, and cmeel-tinyxml2 for XML parsing and logging. It is actively maintained, making it a stable choice for robotics projects that need to load and inspect robot descriptions programmatically.
Use it for:
- Load robot models in simulations or control systems to extract link/joint topology and geometry
- Parse URDF files in robotics research or motion planning tools to access kinematic chain information
- Validate URDF files for correctness before deployment in simulation or real robot systems
- Extract collision/visual geometry from robot descriptions for path planning or visualization
- Inspect joint limits and constraints (including version 1.2 acceleration/deceleration) for trajectory generation
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses URDF (U-Robot Description Format) XML files into Python data structures, supporting versions 1.0, 1.1, and 1.2 with features like quaternion orientation, capsule geometry, and extended joint limits.
Yes, with conditions. Install if you need to parse URDF files in Python and are on a supported platform (macOS 10.9+ or Linux with glibc 2.28+) running Python >=3.10. The package is actively maintained, permissively licensed, and widely used. Medium install friction is acceptable for the functionality. Not suitable if you need Python <3.10 or are on an unsupported architecture.
Install
cmeel-urdfdom on PyPI
pip
pip install cmeel-urdfdomuv
uv add cmeel-urdfdompoetry
poetry add cmeel-urdfdomInstalling cmeel-urdfdom
Before you install
Medium install friction due to compiled binary wheels for specific platforms (macOS x86_64/arm64, Linux aarch64/x86_64). Active maintenance with recent release. Requires Python >=3.10.
License in practice
BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions; requires only license and copyright notice retention.
Quickstart
pip install cmeel-urdfdom
import urdfdom
# Parse a URDF file
robot = urdfdom.urdf.URDF.from_xml_file('robot.urdf')
Requires Python >=3.10. Binary wheels available only for macOS (10.9+ x86_64, 11.0+ arm64) and Linux (glibc 2.28+ aarch64/x86_64); other platforms may require compilation.
Verify before relying
- Whether the package provides a Python API or only wraps the C++ library via cmeel
- What specific methods and classes are exposed for accessing parsed URDF data
- Whether version 1.2 features (acceleration, deceleration, jerk limits) are fully accessible from Python
- Actual usage patterns and API surface for the Python bindings
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — cmeel, cmeel-console-bridge, cmeel-tinyxml2 |
| Maintenance | actively maintained — 85 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 876,793/month — #4,830 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cmeel_urdfdom-6.0.0-0-py3-none-macosx_10_9_x86_64.whl; cmeel_urdfdom-6.0.0-0-py3-none-macosx_11_0_arm64.whl; cmeel_urdfdom-6.0.0-0-py3-none-manylinux_2_28_aarch64.whl; cmeel_urdfdom-6.0.0-0-py3-none-manylinux_2_28_x86_64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
urdf-usd-converterConverts URDF robot description files into…
permissive · top 15,000 on PyPI
yourdfpyLoads, manipulates, validates, and visualizes…
permissive · top 5,000 on PyPI
resolve-robotics-uri-pyResolves ROS-style package:// and Gazebo-style…
permissive · top 15,000 on PyPI
xmacroxmacro is a command-line and Python tool for…
permissive · top 15,000 on PyPI
robot_descriptionsDownloads and caches open-source robot…
permissive · top 15,000 on PyPI
pybulletPyBullet provides physics simulation, robotics…
permissive · top 15,000 on PyPI
fastkmlReads, writes, and manipulates KML files—an…
copyleft · top 15,000 on PyPI
cmeel-tinyxml2Provides a Python-packaged distribution of…
permissive · top 15,000 on PyPI
cmeel-tinyxmlProvides a Python-packaged distribution of…
unclear · top 15,000 on PyPI
rocraterocrate is a Python library for creating and…
permissive · top 15,000 on PyPI