NVIDIA Asset Validator
Project description
USD Validation NVIDIA
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.
Features
- Rule-based validation — Modular rule interface with registration mechanism for custom validators
- Flexible engine — Run validation on a
Usd.Stage, individual layers, or recursively search folders - Auto-fixing — Issue fixing interface for applying automated corrections when rules provide suggestions
- Command line interface — Standalone CLI for validation outside of GUI applications
- Lightweight — Pure Python implementation requiring only OpenUSD
Installation
Install from PyPI:
pip install usd-validation-nvidia
Optional Dependencies
For full functionality, install with optional dependencies:
# Include usd-core
pip install usd-validation-nvidia[usd]
# Include NumPy (for optimizations)
pip install usd-validation-nvidia[numpy]
# Install all optional dependencies
pip install usd-validation-nvidia[usd,numpy]
Build from Source
Generate the capabilities package with usd-profiles-nvidia, then build the wheel:
uv run \
--no-project \
--with usd-profiles-nvidia==1.15.0 \
python -m usd_profiles_nvidia.codegen \
--docs-root specs \
--destination-dir src \
--package-name usd_validation_nvidia.capabilities
uv build -o dist
Basic usage
from usd_validation_nvidia import ValidationEngine, IssueFixer
engine = ValidationEngine()
asset = "path/to/asset.usda"
results = engine.validate(asset)
for issue in results.issues():
print(f"{issue.severity}: {issue.message}")
fixer = IssueFixer(asset)
fix_results = fixer.fix(results.issues())
for result in fix_results:
print(f"{result.status}: {result.issue.message}")
fixer.save()
The ValidationEngine also supports selecting specific rules with enableRule() / disableRule()
and filtering by category with enableCategory().
Command Line Interface
The nvidia_usd_validate command provides validation from the terminal:
# Validate a single file
nvidia_usd_validate asset.usda
# Validate a directory recursively
nvidia_usd_validate ./assets/
# Apply automatic fixes
nvidia_usd_validate --fix asset.usda
# Validate specific categories
nvidia_usd_validate --category Material --category Geometry asset.usda
# Enable specific rules only
nvidia_usd_validate --no-init-rules --rule StageMetadataChecker asset.usda
# Export results to CSV
nvidia_usd_validate --csv-output results.csv asset.usda
# Show help
nvidia_usd_validate --help
AI Coding Agents
The AGENTS.md file and .agents/skills directory contain structured guidance for AI coding agents. Start there for Python project setup, local venv setup, and generated requirement validation workflows.
Documentation
Requirements
- Python 3.10 - 3.12
- OpenUSD 22.11 or later
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file usd_validation_nvidia-1.19.3-py3-none-any.whl.
File metadata
- Download URL: usd_validation_nvidia-1.19.3-py3-none-any.whl
- Upload date:
- Size: 272.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53af5552b7ad0a94e5fc23297540e76c263d7ea597ed1a0be13f941cc81085b0
|
|
| MD5 |
517c15907c18c71f311ae45e3f0510d4
|
|
| BLAKE2b-256 |
0e82e2c5b627e4db488d1ce796fcf425bfc822c49cc35f21e28ddf44dd577872
|