Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
robot_descriptions
✓ import robot_descriptions
✗ from robot_descriptions import <wrong_submodule>
The library is a package; import the top-level module and access descriptions via attributes or iteration.
load_description
✓ from robot_descriptions import load_description
✗ from robot_descriptions.loaders import load_description
`load_description` is a top-level convenience function. In v2.0.0, the `Description` dataclass moved and changed; `load_description` returns a loader function now.
Quickstart: import, list descriptions, load a Panda robot in MuJoCo.
import robot_descriptions
from robot_descriptions import load_description
# List available descriptions (returns list of Description objects)
descriptions = robot_descriptions.list_descriptions()
print(f"Available: {len(descriptions)} descriptions")
# Load a specific description by name (e.g., 'panda_mj_description')
load_fn = load_description('panda_mj_description')
# load_fn() returns a (robot, model, ...) tuple depending on loader
# For MuJoCo:
import mujoco
mj_model = load_fn() # returns mujoco.MjModel
print(f"Robot name: {mj_model.name}")
# For URDF:
# from robot_descriptions import panda_urdf_description
# load_fn = load_description('panda_urdf_description')
# robot = load_fn() # returns yourdfpy.URDF
Debug
Known issues
breakingv2.0.0 changed the `Description` dataclass signature. Old code accessing `.name` or `.repository` as plain strings may break; now they are typed fields. Also, the `load_description` function now returns a loader callable, not the robot object directly.fixUpdate imports: use `from robot_descriptions import load_description` and call `load_fn()` to get the robot. For custom loaders, adjust to new `Description` fields (check `info` attribute).
affects: <=1.23.0 -> >=2.0.0
deprecatedThe `load_robot` function (if any) is deprecated; use `load_description` instead.fixReplace `load_robot(...)` with `load_description(...)` and call the result.
affects: <=1.23.0
gotchaSome descriptions require additional dependencies like `xacro` or `yourdfpy`. If you get an ImportError when loading, install the missing package.fixInstall required loaders: `pip install yourdfpy xacro mujoco` as needed.
affects: all
Errors
Common errors & fixes
ImportError: No module named 'robot_descriptions'
The package is not installed or installed in a different environment.
fixRun `pip install robot-descriptions` in your active environment.
ModuleNotFoundError: No module named 'yourdfpy'
The default URDF loader (yourdfpy) is missing, but you are trying to load a URDF description.
fixInstall yourdfpy: `pip install yourdfpy`
ValueError: Unknown description: 'some_name'
The description name does not exist in the registry (case-sensitive).
fixUse `robot_descriptions.list_descriptions()` to see available names.
Upgrade
Version history
2.0.0latest on PyPI · released May 5, 2026
Audit
Dependencies
yourdfpyrequiredRequired for URDF loading (default loader) and for the `dump_urdf` function.
mujocooptionalRequired for MJCF loading (if you use the MuJoCo loader).
meshcatoptionalRequired for the `show_in_meshcat` CLI command.
xacrooptionalRequired for loading xacro-based descriptions (e.g., Atlas, PR2).