pyopenxr
July 29, 2025 ยท View on GitHub
Unofficial Python bindings for the OpenXR SDK to access VR and AR devices
pyopenxr is a Python developer SDK for device tracking and rapid virtual reality prototyping using the headset-agnostic OpenXR API. It provides a clean, Pythonic interface to the OpenXR runtime, enabling cross-platform AR/VR development with minimal boilerplate.
๐ Installation
pip install pyopenxr
๐งช Quick Start
import xr
# Query the available VR/AR extensions
available = xr.enumerate_instance_extension_properties()
# Replace with whatever extensions are required for your application...
required = [xr.KHR_OPENGL_ENABLE_EXTENSION_NAME]
for prop in required:
assert prop in available
Explore the complete working example
hello_xr.py
for a hands-on introduction.
Pythonic naming conventions
| symbol | Python example | C example |
|---|---|---|
| function | xr.create_instance(...) | xrCreateInstance(...) |
| constant | xr.MAX_SYSTEM_NAME_SIZE | XR_MAX_SYSTEM_NAME_SIZE |
| struct name | xr.ExtensionProperties | XrExtensionProperties |
| type alias | xr.Version | XrVersion |
| enum type | xr.FormFactor | xrFormFactor |
| enum value | xr.FormFactor.HEAD_MOUNTED_DISPLAY | XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY |
| handle | xr.Instance | XrInstance |
๐ Documentation
Full API reference and guides are available
๐ฆ License
This project is licensed under the Apache License 2.0.
Copyright ยฉ 2021 Christopher Bruns.