Omniverse Asset Validator
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 omniverse-asset-validator
Optional Dependencies
For full functionality, install with optional dependencies:
# Include usd-core
pip install omniverse-asset-validator[usd]
# Include NumPy (for optimizations)
pip install omniverse-asset-validator[numpy]
# Install all optional dependencies
pip install omniverse-asset-validator[usd,numpy]
Basic usage
from omni.asset_validator import ValidationEngine, IssueFixer
engine = ValidationEngine()
results = engine.validate("path/to/asset.usda")
for issue in results.issues():
print(f"{issue.severity}: {issue.message}")
fixer = IssueFixer()
fix_results = fixer.fix(results.issues())
for result in fix_results:
print(f"{result.status}: {result.issue.message}")
The ValidationEngine also supports selecting specific rules with enableRule() / disableRule()
and filtering by category with enableCategory().
Command Line Interface
The omni_asset_validate command provides validation from the terminal:
# Validate a single file
omni_asset_validate asset.usda
# Validate a directory recursively
omni_asset_validate ./assets/
# Apply automatic fixes
omni_asset_validate --fix asset.usda
# Validate specific categories
omni_asset_validate --category Material --category Geometry asset.usda
# Enable specific rules only
omni_asset_validate --no-init-rules --rule StageMetadataChecker asset.usda
# Export results to CSV
omni_asset_validate --csv-output results.csv asset.usda
# Show help
omni_asset_validate --help
Documentation
Requirements
- Python 3.10 - 3.12
- OpenUSD 22.11 or later
License
Apache-2.0
Metadata
Release files for omniverse-asset-validator 1.18.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| omniverse_asset_validator-1.18.0-py3-none-any.whl | Python 3 | none | any | Details for omniverse_asset_validator-1.18.0-py3-none-any.whl |
Release files / omniverse_asset_validator-1.18.0-py3-none-any.whl
| Download URL | omniverse_asset_validator-1.18.0-py3-none-any.whl |
|---|---|
| Size | 261.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9dd0e5043ff9728b28003f96aedce00b50d503ff8e33d804fb231e981a47f8c5
|
|
BLAKE2b-256 checksum How to use checksums |
8a4e7b88d7308a11deabff9e7d97930d81bad67496a580a3e709b22e530a3068
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for omniverse-asset-validator 1.18.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.