NVIDIA ovstorage#

The storage library publishes packages. No resolver wheels are published for this release; build the resolver for the supported host SDK as described in getting started.

ovstorage gives an application one API for reading and writing content across local, HTTP, cloud, and service-backed storage, without binding its code to a single storage SDK. This repository also includes the source of ovstorage-usd-resolver, an OpenUSD ArResolver plugin built on that library, so a host can open and save remote USD stages through ordinary OpenUSD calls.

In this documentation you will find getting started guides, the storage library and plugin guides, and the USD resolver reference.

Note

ovstorage is currently preview software. VERSION.md records the component versions and the storage requirement for this snapshot. Public C++ headers may change before 1.0.

Features#

  • One object API across backends — stat, read_bytes, read_stream, materialize, write, delete, list, copy, and rename, where the selected backend supports them.

  • Configuration-based routing — callers pass an object address and the library routes each operation to the configured backend provider, so switching backends does not require recompiling against a different storage SDK.

  • Remote USD stages — resolve, compose, and save USD over provider-backed URI schemes, while local paths continue through OpenUSD’s default filesystem resolver.

  • Host surfaces — the Rust library, a stable C ABI, a header-only C++ wrapper, the Python wheel, a CLI, and MCP.

  • Standalone — runs outside Omniverse Kit.

License#

See the repository LICENSE and NOTICE. Each component also carries its own license and notice files, and third-party components remain under their own licenses.

Storage Library

Storage Plugins

The broker and authorization guides under Operations apply to existing deployments only; normal library and resolver use embeds storage in-process.