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
Metadata
Release files for touchpy 0.12.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| touchpy-0.12.1.tar.gz | 918.3 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| touchpy-0.12.1-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| touchpy-0.12.1-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| touchpy-0.12.1-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| touchpy-0.12.1-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| touchpy-0.12.1-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| touchpy-0.12.1-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
Total release size: 6.8 MB
Release files / touchpy-0.12.1.tar.gz
| Download URL | touchpy-0.12.1.tar.gz |
|---|---|
| Size | 918.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d85d06500b67b0286aa73de8d2078e9ef86ed6ec373765d438e5f289f84db5cd
|
|
BLAKE2b-256 checksum How to use checksums |
7f041f4435478be49505f19d1aee1a345ca120d2e845285285c7ff22a89c7943
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp314-cp314-win_amd64.whl
| Download URL | touchpy-0.12.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
936a30fbdde544a1f3fd5138c0f8b241a7a258066bfc71ec0a536f9351692146
|
|
BLAKE2b-256 checksum How to use checksums |
9b4a5d72b39cb5036991881e827fc21306f1c87587b4c717e0d5cbbc4d6372f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp313-cp313-win_amd64.whl
| Download URL | touchpy-0.12.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 983.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
052726b40bcb9dc6cc139a319c1433e235514ee195f5e2c61ef73064921ddac5
|
|
BLAKE2b-256 checksum How to use checksums |
3e37f239e7ac38787c7ad23d695775fa2d3701c6718a115c8baf8e048acdc938
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp312-cp312-win_amd64.whl
| Download URL | touchpy-0.12.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 983.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bc499e5d9e419278e81458c3184bec68d725f753d995c71e05dba7196e92fec6
|
|
BLAKE2b-256 checksum How to use checksums |
d17140e4f027eabdacc5c558eadad783cdcb37cfbffd692bdf7f261e4d64fb50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp311-cp311-win_amd64.whl
| Download URL | touchpy-0.12.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 983.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
24bf331bcdaf3499d7a4a433ef7d06b020c6a6c4a83146f5784d09e350c3c8bd
|
|
BLAKE2b-256 checksum How to use checksums |
d0711755ba4184f0766241b2b079c0a7b502a3047abf2d2c3708036cb1974c5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp310-cp310-win_amd64.whl
| Download URL | touchpy-0.12.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 983.4 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2ee7d10bb0de3b7d4964bd0a604b638f8daf7c8de77be4892dee6e7b51a94b3d
|
|
BLAKE2b-256 checksum How to use checksums |
90c5fd10c68a12dbf348f21053abc17a7b5f7f41fa4ed8b89c6a1c83a10a7496
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / touchpy-0.12.1-cp39-cp39-win_amd64.whl
| Download URL | touchpy-0.12.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 983.7 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5802ba19a1913642f564e77a6a6e9c92baa2238f6db34cc334a0d07daeaa9b61
|
|
BLAKE2b-256 checksum How to use checksums |
430a20a5f58cca512fe90dfedfade659577d83689d3a5afcdda31971957a3a1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency log