pyoptix-contrib
Community-maintained Python bindings for NVIDIA OptiX, forked from NVIDIA/otk-pyoptix.
This fork adds support for OptiX 9.1 features including cluster acceleration structures and cooperative vectors.
Requirements
- OptiX SDK 7.6 or newer (9.1+ for cluster accel / coop vec features)
- CUDA Toolkit 12.6 or newer
- CMake
- A C++17 compiler
Installation
export OptiX_INSTALL_DIR=/path/to/OptiX-SDK
pip install pyoptix-contrib
On Windows (PowerShell):
$env:OptiX_INSTALL_DIR = 'C:\ProgramData\NVIDIA Corporation\OptiX SDK 9.1.0'
pip install pyoptix-contrib
The package builds from source via CMake, so the OptiX SDK must be available at install time.
For additional CMake arguments, use the PYOPTIX_CMAKE_ARGS environment variable.
Usage
import optix
# Create a device context
ctx = optix.deviceContextCreate(cuda_context, optix.DeviceContextOptions())
# Query device properties
rtcore_version = optix.deviceContextGetProperty(
ctx, optix.DeviceProperty.DEVICE_PROPERTY_RTCORE_VERSION
)
See the examples directory for complete samples including triangle rendering, curves, denoising, and motion blur.
What's New in This Fork
- OptiX 9.1 support: Conditional compilation via
IF_OPTIX91macro - Cluster acceleration structures: Enums, structs, and host functions (
clusterAccelComputeMemoryUsage,clusterAccelBuild) - Cooperative vectors: Element types, matrix layouts, and description structs
- New primitive types: ROCAPS curve variants and associated flags
allowClusteredGeometrypipeline compile option- New device properties:
COOP_VEC,CLUSTER_ACCEL, max cluster vertices/triangles/SBT index/clusters-per-GAS
Windows: CUDA DLL Loading (Python 3.8+)
Python 3.8+ on Windows no longer uses PATH to find DLLs. PyOptiX will auto-detect CUDA from the CUDA_PATH environment variable. If auto-detection fails, set CUDA_BIN_DIR:
$env:CUDA_BIN_DIR = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin'
License
BSD 3-Clause. See LICENSE.txt.
Acknowledgments
Original work by Keith Morley and NVIDIA Corporation (NVIDIA/otk-pyoptix).
Metadata
Release files for pyoptix-contrib 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyoptix_contrib-0.1.2.tar.gz | 32.4 kB | Without provenance | Details for pyoptix_contrib-0.1.2.tar.gz |
Built distributions (wheels)
Total release size: 3.3 MB
Release files / pyoptix_contrib-0.1.2.tar.gz
| Download URL | pyoptix_contrib-0.1.2.tar.gz |
|---|---|
| Size | 32.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3595491ba85b94a5a63e4cdeee5636aaba0d7b8376e309bc241b72e26fe3e5a2
|
|
BLAKE2b-256 checksum How to use checksums |
a2e4f16b5b7b22d661fd6aa68b3996a477a9b1803ecbb62b8af161e4d4df8b42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / pyoptix_contrib-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyoptix_contrib-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 662.7 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8548e760ec84b1b612a7acc3608dabdd8e84fee28ce1de8752c5a6de9c8c290
|
|
BLAKE2b-256 checksum How to use checksums |
8370e1da35f17b24aa0826cf243276b790baf28cfb5d4e1fcd6a995dad902598
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / pyoptix_contrib-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyoptix_contrib-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 662.5 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3412235b09210bebccbbdeeb2d844ebcf2400e1bb47a7ecae7760fb0d8e155a4
|
|
BLAKE2b-256 checksum How to use checksums |
a195164f7ae3b1556259678138b24f52218e4eff78900902bc0b9ca897889127
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / pyoptix_contrib-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyoptix_contrib-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 661.3 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8a822b3934277cf2e806bb86fe1ee9dd704237a5ffbfa21949427e847c904293
|
|
BLAKE2b-256 checksum How to use checksums |
3c7bd5457918e29d045c6c844e8acae1ba27ae4a19d3b181ab2ca5efd8e0fac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / pyoptix_contrib-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyoptix_contrib-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 660.8 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b085efa475d87caaed63caf6ac1f580623c9043ae687655bf71a0f88a3627db2
|
|
BLAKE2b-256 checksum How to use checksums |
0c60778500a00400127d7ffa1570a00816a8b486080d2c838e87af877ea4b1f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / pyoptix_contrib-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyoptix_contrib-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 659.1 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f128f18d05ec806e7f4fe67ffba53342124271bf443f5b9b2dffc48ea1fd3d2
|
|
BLAKE2b-256 checksum How to use checksums |
22de9620f221ea48b563b608a23218952a053c258d538f5b2ccda0cca8d43f38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for pyoptix-contrib 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.