TouchPy is a high-performance Python toolset for working with TouchDesigner components headlessly via the TouchEngine SDK. It provides GPU-accelerated data exchange (CUDA/Vulkan) for TOPs, CHOPs, DATs, and parameters.
- Windows 10/11 (x64)
- TouchDesigner installed (runtime dependency)
- NVIDIA GPU with CUDA support
- Python 3.9 - 3.14 (3.12 recommended for development)
If you simply want to use TouchPy and run the examples, you don't need to clone this repo:
uv add touchpy[examples]This installs TouchPy with CUDA-enabled PyTorch and numpy for running the examples.
uv is required for dependency management. Install it via
pip install uvor see the uv docs.
import touchpy as tp
comp = tp.Comp()
comp.load("path/to/component.tox")
comp.start()
if comp.frame_did_finish():
comp.start_next_frame()See the examples/ directory for more detailed usage including TOPs with PyTorch tensors, CHOPs, DATs, and parameter control.
Full API documentation is available at intentdev.github.io/touchpy.
- Visual Studio 2022 with C++ desktop workload
- CMake 3.21+
- CUDA Toolkit 12.x
- Vulkan SDK
- uv for Python dependency management
git clone --recurse-submodules https://github.com/IntentDev/touchpy.git
cd touchpy
uv venv --python 3.12
uv sync --extra examplesIf you already cloned without --recurse-submodules:
git submodule update --initThis creates a .venv with Python 3.12, builds TouchPy from source (via scikit-build-core), and installs CUDA-enabled PyTorch + numpy for running examples.
Note: Python 3.12 is recommended. PyTorch wheels for 3.13+ may have packaging issues.
uv sync --extra examples --reinstall-package touchpyOr equivalently:
uv pip install -ve .uv buildimport touchpy
print(touchpy.__version__) # shows 0.12.0.dev0 for local dev builds