Skip to content

Repository files navigation

USD Validation NVIDIA

usd-validation-nvidia is a repository for NVIDIA OpenUSD asset validation and profile tooling. It contains an extensible validation engine, a command line validator, and the profile/specification utilities used to describe OpenUSD capabilities, features, and requirements.

The repository publishes two Python packages from the same commit, both versioned from the shared VERSION.md:

  • usd-validation-nvidia: A standalone validation framework for OpenUSD assets, including the nvidia_usd_validate CLI, built-in rule registries, JSON/CSV reporting, and automatic issue fixing.
  • usd-profiles-nvidia: Tooling for authoring profile specifications in Markdown, generating Python code, and integrating profile documentation with Sphinx.

Repository Layout

  • validation/: Validation package source, documentation, examples, and tests.
  • profiles/: Profile/specification package source and code generation tools.
  • specs/: Authored Markdown specifications for capabilities, features, and requirements used by the validation package.
  • .agents/skills/: Task-oriented guidance for AI coding agents working in this repository.
  • AGENTS.md: Repository-level guidance for AI coding agents.

Installation

Install the released validation engine:

pip install usd-validation-nvidia

Install the released profile tooling:

pip install usd-profiles-nvidia

Optional extras are available for OpenUSD, NumPy, and Sphinx integrations. See the package READMEs for details:

Build From Source

Generate the validation capabilities package from the in-repository profile tooling, then build all packages:

uv run \
  --no-project \
  --with ./profiles \
  python -m usd_profiles_nvidia.codegen \
    --docs-root specs \
    --destination-dir validation/src \
    --package-name usd_validation_nvidia.capabilities \
    --reverse-domain com.nvidia.usd

uv build --all-packages -o dist

uv build --all-packages produces wheels and source distributions for both usd-validation-nvidia and usd-profiles-nvidia.

Basic Validation

After installing the validation package, run the CLI against a USD asset:

nvidia_usd_validate path/to/asset.usda

The validation engine can also be used from Python:

from usd_validation_nvidia import ValidationEngine

engine = ValidationEngine()
results = engine.validate("path/to/asset.usda")

for issue in results.issues():
    print(f"{issue.severity}: {issue.message}")

Documentation

Requirements

  • Python 3.10 - 3.12 for validation workflows (usd-validation-nvidia does not yet support Python 3.13+)
  • OpenUSD 22.11 or later for validation workflows

License

Apache-2.0 AND CC-BY-4.0

About

An extensible framework to validate OpenUSD assets. Inspired by Pixar's usdchecker, this library extends validation capabilities with additional rules and provides automatic issue fixing.

Resources

Contributing

Security policy

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages