Skip to content

cmbruns/pyopenxr

Repository files navigation

pyopenxr

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.

Build Status Pages Doc Status Documentation License

hello_xr1


🚀 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.

About

Unofficial python bindings for OpenXR access to VR and AR devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages