Skip to content

IntentDev/touchpy

Repository files navigation

PyPI version PyPI - Python Version

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 uv or 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

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

About

Toolkit providing various interconnectivity tools between TouchDesigner and Python

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors