Metadata-Version: 2.5
Name: urdf-mujoco-converter
Version: 0.1.0
Summary: Strict URDF to MJCF conversion with portable mesh assets.
Project-URL: Repository, https://github.com/ruziniuuuuu/urdf-mujoco-converter
Project-URL: Documentation, https://github.com/ruziniuuuuu/urdf-mujoco-converter/blob/main/docs/conversion.md
Project-URL: Issues, https://github.com/ruziniuuuuu/urdf-mujoco-converter/issues
Requires-Python: >=3.11
Requires-Dist: mujoco<3.12,>=3.11
Requires-Dist: numpy<3,>=2
Requires-Dist: pillow<13,>=11
Requires-Dist: scipy<2,>=1.11
Requires-Dist: trimesh<5,>=4.6
Description-Content-Type: text/markdown

# urdf-mujoco-converter

Convert expanded URDF into validated MJCF with portable meshes and textures.
Preserves fixed frames, explicit inertials, scalar joints and mimic chains.
Requires Python 3.11+.

```bash
uvx --from urdf-mujoco-converter==0.1.0 urdf-mujoco-converter \
  robot.urdf output/robot --package robot_description=/path/to/robot_description \
  --config physics.xml
```

`uvx` installs the released tool in uv's cache; no project virtual environment or
source checkout is needed. Omit `--config` when no additional MJCF parameters are
required. Repeat it to compose native XML files. For a persistent CLI installation,
use `uv tool install urdf-mujoco-converter==0.1.0`.

```python
from urdf_mujoco_converter import convert

result = convert(
    "robot.urdf",
    "output/robot",
    packages={"robot_description": "/path/to/robot_description"},
    config="physics.xml",  # Optional native MJCF XML configuration.
)
print(result.mjcf_path)
```

Output: `robot.xml`, `robot.meta.json`, `meshes/` and, when needed, `textures/`.
Each output directory belongs exclusively to one source URDF and is replaced
only after successful MuJoCo compilation.

OBJ, STL and static GLB are supported. `planar`/`floating` joints are errors.
Nonconvex collisions require explicit `--allow-convex-hull` approximation.
Native XML supplies explicit simulation settings, actuators and sensors.
Scenes, root motion and higher-level controllers remain downstream.

See [conversion contract](docs/conversion.md), [architecture](docs/architecture.md)
and [Newton/USD compatibility and checks](docs/newton-compatibility.md).

For development, clone the repository, run `uv sync --locked`, then `just check`
and `just build`. See [publishing](docs/publishing.md) for release maintenance.
