CAE OpenUSD Plugins
CAE OpenUSD Plugins extends OpenUSD with schemas and
read-only SdfFileFormat plugins for scientific and engineering data. Native
files remain the source of truth: opening a supported asset produces a USD
stage whose structure and metadata are inexpensive to inspect, while large
arrays are loaded on demand.
The repository includes the format-agnostic OmniSci schemas, domain schemas
for formats such as CGNS, OpenFOAM, VTK, EnSight, EDEM, FLASH AMR, and Eclipse
reservoir data, and readers for both native and Python-backed formats.
Project status: The current release is
0.1.2. Its readers and schemas intentionally cover selected concepts from each source domain; they are not complete implementations of those formats or standards. See the supported formats and Conceptual Data Mappings for current capability boundaries.
Quick Start
Install the published package from PyPI:
python -m pip install cae-openusd-plugins
Pip installs a supported usd-core runtime and the default Python reader
dependencies. Register the plugins before importing OpenUSD so the matching
native payload and generated schemas are available to the process:
import cae_openusd_plugins
# Validate the active OpenUSD runtime and register the installed plugin tree.
cae_openusd_plugins.register_usd_plugins()
# Import OpenUSD after registration so the plugins and generated schemas are
# available to this process.
from pxr import Usd
# Open the native asset directly; the registered VTK plugin presents it as a
# USD stage without converting the source file.
stage = Usd.Stage.Open("simulation.vtu")
print(stage.GetDefaultPrim().GetPath())
Published wheels support CPython 3.12 on Windows x86-64 and Linux x86-64 with glibc 2.35 or newer. See Installation for supported OpenUSD versions, platform details, and version pinning.
Documentation
Getting Started
- Installation — PyPI quickstart, supported platforms, OpenUSD versions, and advanced packaging.
- Using the plugins — registration, native assets, payloads, and file-format arguments.
- Testing — CTest, pytest, and installed-tree validation.
- Troubleshooting — plugin discovery, runtime compatibility, asset resolution, and reader diagnostics.
- Changelog — notable changes grouped by release.
- Versioning and releases — release branches, tags, and artifact naming.
Schemas
- Core OmniSci schemas — datasets, fields, arrays, and the lazy value convention.
- Schema library index — every shipped schema library and its purpose.
File Formats
- Supported file formats — readers, extensions, build options, and Conceptual Data Mappings.
- File-format architecture — stage construction, root placement, lazy arrays, and caching.
- File-format arguments — typed payload controls and flat layer-identifier arguments.
- Time handling — simulation-seconds conventions and per-reader time sources.
- Asset resolution — resolver-backed assets, local leases, child files, and dataset-layout constraints.
- File series and value clips — compose native file sequences onto a USD timeline.
Conceptual Data Mappings
- Conceptual Data Mappings — how source-format concepts map to USD prims, schemas, properties, and time samples.
Architecture and Development
- Repository architecture — schema, reader, runtime, and packaging boundaries.
- Build from source — prerequisites, CMake options, and dependency SDKs.
- Glossary — terminology used throughout the project.
- Add a schema — define, register, test, and document a schema plugin.
- Add a file-format plugin — specify its mapping, implement the reader, and test observable behavior.
- File-format performance patterns — metadata-first parsing, lazy values, bounded work, and benchmarking.
- OpenUSD CMake integration — normalized targets, capability components, and tool runtimes.
- VTK reader architecture — parser, payload, caching, and lazy-evaluation contracts.
- Third-party licenses — dependency notices and redistributed license texts.
Contributing
This project is currently not accepting contributions. See CONTRIBUTING.md for the current contribution policy and CODE_OF_CONDUCT.md for conduct expectations in project spaces.
Governance and Maintainers
CAE OpenUSD Plugins is maintained by NVIDIA. See GOVERNANCE.md and MAINTAINERS.md.
Security
Do not report security vulnerabilities through public GitHub issues. Follow the private disclosure process in SECURITY.md.
Support
CAE OpenUSD Plugins is a development-stage project. See SUPPORT.md for support channels and response expectations.
License
This project is licensed under the Apache License 2.0. See the third-party license guide for dependencies and redistributed data.
Metadata
Release files for cae-openusd-plugins 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cae_openusd_plugins-0.1.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| cae_openusd_plugins-0.1.2-cp312-cp312-manylinux_2_35_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.35+ x86-64 | Details |
Total release size: 59.6 MB
Release files / cae_openusd_plugins-0.1.2-cp312-cp312-win_amd64.whl
| Download URL | cae_openusd_plugins-0.1.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 24.8 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3f2e1175c120113cea9addea885a589fb32e11f44d6749779cdc0f3714d7da87
|
|
BLAKE2b-256 checksum How to use checksums |
ba2b384c9095aea40c2b6c227c3aee70603d20e8142bba22063136c0005a142f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / cae_openusd_plugins-0.1.2-cp312-cp312-manylinux_2_35_x86_64.whl
| Download URL | cae_openusd_plugins-0.1.2-cp312-cp312-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 34.9 MB |
| Tags | CPython 3.12 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
83c8aa44a5cf49a3e975226248201ae12ecdbc851d7c2c623da0fbf13497caad
|
|
BLAKE2b-256 checksum How to use checksums |
1198fdb4d662af48bcc6a1a3cb666c5453a3235e2be92b45b69ab44d8a76401a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|