ROS OpenUSD Interoperability Compliance Checker
[!NOTE] This project is a proof of concept developed using agentic coding.
Validate OpenUSD assets against REP-0158 interoperability rules for simulation, ROS integration, and export portability.
[!TIP] Run the checker on any asset without cloning*:
uvx --from ros-openusd-compliance-checker usd-check <asset.usd>* uv must be installed first:
curl -LsSf https://astral.sh/uv/install.sh | sh
Installation
pip install ros-openusd-compliance-checker
Usage
usd-check [OPTIONS] ASSET
By default only the core checks run (REP §1 and §2: units, structure,
physics, and the five base ROS schemas — RosContextAPI, RosTopicAPI,
RosServiceAPI, RosActionAPI, RosFrameAPI).
| Flag | What it adds |
|---|---|
| (default) | §1 units/structure/physics + §2 core ROS schemas |
--extensions |
§4 extension schemas: ExtendedPhysics*, RosControl* |
--export |
§3 export/conversion checks (mesh, texture, material; slower) |
Flags are independent and can be combined:
# Core checks only (default)
usd-check robot.usda
# Core + extension schema checks
usd-check robot.usda --extensions
# Core + export checks
usd-check robot.usda --export
# Everything
usd-check robot.usda --extensions --export
Developer Setup
Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Install repository
git clone https://github.com/ros-simulation/openusd-schemas.git
cd openusd-schemas/tools/compliance_checker
Install dependencies
uv sync --all-packages
Run tests
uv run pytest
Run pre-commit
uv run pre-commit
Metadata
Release files for ros-openusd-compliance-checker 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ros_openusd_compliance_checker-0.1.2.tar.gz | 42.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ros_openusd_compliance_checker-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.8 kB
Release files / ros_openusd_compliance_checker-0.1.2.tar.gz
| Download URL | ros_openusd_compliance_checker-0.1.2.tar.gz |
|---|---|
| Size | 42.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7155cb224b6410e2e42c5d8bba14ac94184a6f44a283d92960ffdb1e38724125
|
|
BLAKE2b-256 checksum How to use checksums |
10524777ac129c156b0739d71c5db936f820e4ef57cad193be7183f9ec211efd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ros_openusd_compliance_checker-0.1.2-py3-none-any.whl
| Download URL | ros_openusd_compliance_checker-0.1.2-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9f2140c484d5cf057369a2f04f689a89157b45073e86345a1a6d0f3dc3b70f4
|
|
BLAKE2b-256 checksum How to use checksums |
5f7cfc4045319157eae9858fd8c4391f0a0ab14a180e74ecdcd19f2c65230b45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|