ovui — GPU-accelerated Python UI toolkit
Project description
NVIDIA ovui
1. What is ovui?
ovui is a standalone Python UI toolkit for building native scene, viewport, and data applications, exposing the Omniverse UI framework through the familiar omni.ui (windows, layout, value models, widgets) and omni.ui_scene (SceneView, gestures, manipulators) Python APIs over a native C++ core. It loads and edits OpenUSD stages, presents rendered viewports from an external renderer such as ovrtx, runs headlessly for automation, and can be inspected by AI agents through a screenshot-first loop. Its defining trait is that it runs standalone — no Omniverse Kit installation required.
ovui is a disaggregated piece of the Omniverse platform: the omni.ui UI framework decoupled from the Kit extension system and shipped as an independently installable library, available as a peer to the other ov libraries (ovrtx, ovgraph, ovphysx, and more). It pairs the native runtime with ovui-widgets (production-shaped scene widgets) and ovui-data-adapters (a backend boundary for OpenUSD and custom data sources), keeping the UI layer cleanly separate from the data layer so teams can build tools against their own backends.
ovui is pre-release software and is not enterprise-supported.
2. What functionalities are available, and who are the target users?
What you can do with it:
- Build standalone Python UI apps — windows, frames, stacks, fields, sliders, tree views, menus, markdown, images, styles, and frame-driven updates via
omni.ui. - Author scene and viewport tools — camera-aware drawing, gestures, manipulators, picking, selection outlines, and rendered-frame presentation via
omni.ui_scene. - Reuse production USD workflows — drop-in Stage Browser, Property Inspector, Layers panel, Content Browser, and Viewport widgets, plus shared
SelectionBus,UndoManager,Settings, and recent-files services from ovui-widgets. - Stay backend-independent — implement adapter contracts (
StageAdapter,PropertyAdapter,TransformAdapter,RendererAdapter) to wire widgets to OpenUSD or your own data source; OpenUSD + ovrtx implementations are included. - Run headless and prove output remotely — Vulkan/offscreen runs, programmatic screenshots, and frame-loop draining for CI and automation.
- Drive it with AI coding agents — the repo ships
AGENTS.mdand task-level skills (atomic UI APIs, widget composition, styling, screenshot-first inspection) so agents work from real patterns instead of inventing UI code. - Install in pieces — a monorepo of independently installable distributions (
ovui,ovui-widgets-*,ovui-data-adapters-*) that share one version, so you take only what you need.
Who benefits:
- USD tool & application developers — build scene browsers, property editors, and viewport tools in Python without standing up a full Kit stack.
- Omniverse Kit developers — reuse the same
omni.ui/omni.ui_sceneAPIs you already know, now available standalone. - Headless automation & synthetic-data engineers — run UI-driven workflows offscreen and capture screenshots/frames in CI or on remote GPUs.
- AI coding agents (and the developers using them) — scaffold, build, and inspect ovui apps through the shipped skills and screenshot-first inspector.
3. Documentation and reference links
- Quickstart & install: https://github.com/NVIDIA-Omniverse/ovui#readme
- Native UI framework guide: https://github.com/NVIDIA-Omniverse/ovui/blob/main/ovui/README.md
- USD Viewer app & widgets guide: https://github.com/NVIDIA-Omniverse/ovui/blob/main/ovui-widgets/README.md
- Data adapters guide: https://github.com/NVIDIA-Omniverse/ovui/blob/main/ovui-data-adapters/README.md
- Architecture overview: https://github.com/NVIDIA-Omniverse/ovui/tree/main/docs
- Source (GitHub): https://github.com/NVIDIA-Omniverse/ovui
- Package (PyPI): https://pypi.org/project/ovui/
- Releases (pre-built artifacts): https://github.com/NVIDIA-Omniverse/ovui/releases
- Skills for AI coding agents: https://github.com/NVIDIA-Omniverse/ovui/tree/main/skills
- Support: Issues
4. System requirements
- Python 3.12+
- Linux (Ubuntu 22.04 / Debian) and Windows (Windows 11 / Windows Server 2022), x86_64
- NVIDIA RTX-capable GPU + compatible driver for rendered viewport output via ovrtx; a Vulkan-capable environment (including headless/Lavapipe) is supported for UI and offscreen paths
- Build toolchain for source installs: CMake with Visual Studio 2022 ("Desktop development with C++") on Windows, or
build-essentialon Linux; Vulkan headers + loader for the optional Vulkan backend - Current release: ovui 0.2.0 (Early Access)
- The rendered viewport path depends on an external renderer (ovrtx), which is not provided by this repository. The OpenUSD data-adapter provider additionally requires OpenUSD (
pxr) Python bindings — from itsstandaloneextra or the environment — while the native OVStage provider uses the external native OVStage runtime and needs no OpenUSD bindings
5. Licensing
- Governed by the NVIDIA Software License Agreement and the Product Specific Terms for NVIDIA Omniverse.
- Source-available for inspection; pre-release versions are provided AS-IS and are not currently open to external contributions.
- Installs/downloads additional third-party open-source components — review their license terms (see
THIRD_PARTY_NOTICES.md) before use.
Note: ovui is pre-release Early Access software and is not enterprise-supported. APIs may change before the 1.0 release. The rendered viewport requires a separate ovrtx renderer install; the UI framework, widgets, and headless paths work without it.
ovui · standalone distribution of Omniverse's omni.ui UI framework · Copyright (c) 2025 NVIDIA Corporation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ovui-0.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: ovui-0.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 13.3 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df371fb416adfce6f3e83a36938b72dfec0d92d2a308c632db04b22aba6269f7
|
|
| MD5 |
dde2710c1330d496a0dbf29075517de2
|
|
| BLAKE2b-256 |
33bfa70e2fe8ec9f040afb909bd2f58c7f0d627f1c6ed4c8a20a4db8cdd61a0e
|
File details
Details for the file ovui-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: ovui-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 20.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de8656af7c17b1d2ae68726e8b918796da299d3e372a417df3baf1ac6863f07b
|
|
| MD5 |
04e0dca8966af18ccc9a2f65278630d2
|
|
| BLAKE2b-256 |
1f30e6792479ff7b95e76de0fc088aab2227eb14013cd7d6dafb0ea4b170d37b
|
File details
Details for the file ovui-0.2.0-cp312-cp312-manylinux_2_35_aarch64.whl.
File metadata
- Download URL: ovui-0.2.0-cp312-cp312-manylinux_2_35_aarch64.whl
- Upload date:
- Size: 19.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.35+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
234b1c87a96633bf88b125395e8a5a64c4544798a5d36a866b592fd075483178
|
|
| MD5 |
a99d7d2894f0acd81798c4569e0e5745
|
|
| BLAKE2b-256 |
bf8c63db35afdf58c8440ff75090fb935fb5931c2558fb02aa671926d8f49837
|