TouchPy
May 27, 2026 ยท View on GitHub
TouchPy
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.
Requirements
- Windows 10/11 (x64)
- TouchDesigner installed (runtime dependency)
- NVIDIA GPU with CUDA support
- Python 3.9 - 3.14 (3.12 recommended for development)
Installation
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.
Quick Start
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.
Documentation
Full API documentation is available at intentdev.github.io/touchpy.
Development
Prerequisites
- Visual Studio 2022 with C++ desktop workload
- CMake 3.21+
- CUDA Toolkit 12.x
- Vulkan SDK
- uv for Python dependency management
Setup
git clone --recurse-submodules https://github.com/IntentDev/touchpy.git
cd touchpy
uv venv --python 3.12
uv sync --extra examples
If you already cloned without --recurse-submodules:
git submodule update --init
This 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.
Rebuilding after C++ changes
uv sync --extra examples --reinstall-package touchpy
Or equivalently:
uv pip install -ve .
Build a wheel
uv build
Verify
import touchpy
print(touchpy.__version__) # shows 0.12.0.dev0 for local dev builds