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.
Install the published package from PyPI:
python -m pip install cae-openusd-pluginsPip 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.
- 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.
- Core OmniSci schemas — datasets, fields, arrays, and the lazy value convention.
- Schema library index — every shipped schema library and its purpose.
- 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 — how source-format concepts map to USD prims, schemas, properties, and time samples.
- 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.
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.
CAE OpenUSD Plugins is maintained by NVIDIA. See GOVERNANCE.md and MAINTAINERS.md.
Do not report security vulnerabilities through public GitHub issues. Follow the private disclosure process in SECURITY.md.
CAE OpenUSD Plugins is a development-stage project. See SUPPORT.md for support channels and response expectations.
This project is licensed under the Apache License 2.0. See the third-party license guide for dependencies and redistributed data.