Skip to main content

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.md and 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_scene APIs 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


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-essential on 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 its standalone extra or the environment — while the native OVStage provider uses the external native OVStage runtime and needs no OpenUSD bindings

5. Licensing

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ovui-0.2.0-cp312-cp312-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.12Windows x86-64

ovui-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

ovui-0.2.0-cp312-cp312-manylinux_2_35_aarch64.whl (19.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

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

Hashes for ovui-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 df371fb416adfce6f3e83a36938b72dfec0d92d2a308c632db04b22aba6269f7
MD5 dde2710c1330d496a0dbf29075517de2
BLAKE2b-256 33bfa70e2fe8ec9f040afb909bd2f58c7f0d627f1c6ed4c8a20a4db8cdd61a0e

See more details on using hashes here.

File details

Details for the file ovui-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for ovui-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 de8656af7c17b1d2ae68726e8b918796da299d3e372a417df3baf1ac6863f07b
MD5 04e0dca8966af18ccc9a2f65278630d2
BLAKE2b-256 1f30e6792479ff7b95e76de0fc088aab2227eb14013cd7d6dafb0ea4b170d37b

See more details on using hashes here.

File details

Details for the file ovui-0.2.0-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for ovui-0.2.0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 234b1c87a96633bf88b125395e8a5a64c4544798a5d36a866b592fd075483178
MD5 a99d7d2894f0acd81798c4569e0e5745
BLAKE2b-256 bf8c63db35afdf58c8440ff75090fb935fb5931c2558fb02aa671926d8f49837

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page