application-flow
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Setting up a new Python project that uses ovrtx. Use when user asks to create a new Python project, set up ovrtx in Python, create a pyproject.toml, or scaffold a Python app.
$ npx -y skills add nvidia-omniverse/ovrtx --skill project-setup-python --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/project-setup-pythonContext preview
The summary Claude sees to decide when to auto-load this skill.
Setting up a new Python project that uses ovrtx. Use when user asks to create a new Python project, set up ovrtx in Python, create a pyproject.toml, or scaffold a Python app.
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NvidiaProprietary # # NVIDIA CORPORATION, its affiliates and licensors retain all intellectual # property and proprietary rights in and to this material, related # documentation and any modifications thereto. Any use, reproduction, # disclosure or distribution of this material and related documentation # without an express license agreement from NVIDIA CORPORATION or # its affiliates is strictly prohibited. name: project-setup-python description: > Setting up a new Python project that uses ovrtx. Use when user asks to create a new Python project, set up ovrtx in Python, create a pyproject.toml, or scaffold a Python app. license: LicenseRef-NvidiaProprietary author: NVIDIA ovrtx tags: - ovrtx - python - setup tools: - Read - Grep - Shell - Write
Use this skill when the user asks to create a new Python project, set up ovrtx in Python, create a pyproject.toml, or scaffold a Python app.
Resolve inputs in this order: existing repository files and referenced snippets, explicit user request, then broader agent context.
1. Identify the requested project type, platform, package source, and expected run command. 2. Read the minimal example and setup snippets before writing scaffolding. 3. Use the repository's existing Python or CMake conventions instead of inventing a new layout. 4. Include renderer creation and first-frame validation only after the project dependency setup is complete. 5. When changing code, run the narrow example setup or docs test whenever practical.
This skill has no scripts.
ovrtx and ovstage are distributed as Python packages on PyPI. Use `uv` when you want project and dependency management. This skill scaffolds the current attached-stage workflow with both packages. ovstage remains optional for standalone compatibility code.
my-ovrtx-app/ pyproject.toml main.py
mkdir my-ovrtx-app && cd my-ovrtx-app uv init uv add ovrtx ovstage
This creates a `pyproject.toml` and `uv.lock`. Then add `numpy` (required for array/tensor operations):
uv add numpy
The resulting `pyproject.toml` will look like:
[project]
name = "my-ovrtx-app"
version = "0.1.0"
requires-python = ">=3.10,<3.14"
dependencies = [
"ovrtx",
"ovstage",
"numpy",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"For image output:
uv add pillow
For GPU compute with Warp:
uv add warp-lang
For visualization with rerun:
uv add rerun-sdk
pip install ovrtx ovstage
> **Source:** `examples/python/minimal/main.py` snippet `create-renderer` > > **Source (continued):** `examples/python/minimal/main.py` snippet `add-usd` > > **Source (continued):** `examples/python/minimal/main.py` snippet `step` > > **Source (continued):** `examples/python/minimal/main.py` snippet `read-render-output`
Importing the modules does not load either OpenUSD-dependent runtime. Two flows are supported:
shared loader, registers schema paths, and loads the ovrtx runtime/OpenUSD. `ovstage.Stage()` then opens the ovstage shared loader and loads the ovstage runtime against that initialized OpenUSD.
first `ovstage.Stage`. Registration opens only the ovrtx shared loader and publishes discovery paths. Stage construction then loads the ovstage runtime and OpenUSD; later `ovrtx.Renderer()` loads the ovrtx runtime with the paths already fixed.
Treat `ovstage.library_version()` as ovstage initialization for ordering purposes because its version probe creates a temporary native instance. The schema call must precede it in a stage-first process.
uv run main.py --png # or with pip-installed ovrtx and ovstage: python main.py --png
A successful run writes `_output/render.png`. The output should match the documented minimal reference image.
| Package | Purpose | |---------|---------| | `ovrtx` | Core renderer | | `ovstage` | Runtime scene ownership for attached rendering | | `pillow` | Image I/O (PNG, JPEG) | | `numpy` | Array manipulation, DLPack interop | | `warp-lang` | GPU compute kernels | | `rerun-sdk` | Real-time visualization |
ovrtx is a C and Python library for embedding Omniverse RTX sensor simulation and visualization directly into applications.
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Asynchronous operation patterns including polling, timeouts, and non-blocking workflows. Use when user asks about async…
Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about…
Binding materials to prims at runtime. Use when user asks to assign a material, change a material, set material binding, or swap…
Available camera render outputs for Real-Time Path-Tracing (RT2) mode. Use when user asks what AOVs/render vars are available,…
Cloning USD subtrees to create copies at new paths. Use when user asks to clone, duplicate, copy a prim, or create instances of…