Skip to main content

TouchPy is a high-performance toolset to work with TouchDesigner components in Python

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

touchpy-0.12.0.tar.gz (920.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

touchpy-0.12.0-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

touchpy-0.12.0-cp313-cp313-win_amd64.whl (986.0 kB view details)

Uploaded CPython 3.13Windows x86-64

touchpy-0.12.0-cp312-cp312-win_amd64.whl (986.1 kB view details)

Uploaded CPython 3.12Windows x86-64

touchpy-0.12.0-cp311-cp311-win_amd64.whl (985.9 kB view details)

Uploaded CPython 3.11Windows x86-64

touchpy-0.12.0-cp310-cp310-win_amd64.whl (985.7 kB view details)

Uploaded CPython 3.10Windows x86-64

touchpy-0.12.0-cp39-cp39-win_amd64.whl (986.0 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

Details for the file touchpy-0.12.0.tar.gz.

File metadata

  • Download URL: touchpy-0.12.0.tar.gz
  • Upload date:
  • Size: 920.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0.tar.gz
Algorithm Hash digest
SHA256 286269153e425ff91da21cde81f6db8875ec79c6dc1af520325c5494361151e0
MD5 52c3affce540f8779ddd0490ea868c14
BLAKE2b-256 a0aaa194d1fd5574855b54e0e716fea601f549ce50b156890388e5c2c297bd6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0.tar.gz:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cfd7fe8202169fad041a111e5481b857c3b944634afa25e82427854b287bacb7
MD5 10f08b842b7bd66d7bf6fa16d7ff1d82
BLAKE2b-256 56468e023e864b4f3399f4d3fc434e3d74ae1e1932624df3b13fba93a82de617

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 986.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d5fc987c9f4a98c56eb278f0189916c2891cfd12b310e4caaf6674e482470fd6
MD5 a8eb15d3c82f6a6027e3c19ed4c06c36
BLAKE2b-256 bfabe9f5395d02fdfdecda6c275fa0faa0145ab03bf01c17581684dedabc22fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 986.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 34f7f324f50b19099caccafac4a7368ad4e6094b642f122ef31417e3d1277c89
MD5 5ad34d1edec970b12ec203231e8d1d85
BLAKE2b-256 e47e3a585e0259278f849c94eec39ef9e5d5089746dbf9a28b923d6118b28599

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 985.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 07724253f444d2509a4bcc82c64f9074ef832e37e8a7377e7334643ebe5c3376
MD5 ecd72b8565de055db95856374019107f
BLAKE2b-256 f8bbcc659359cb3d91f501015e51cadf577a881b9ecc51ea1e41c8d80e9bc444

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 985.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ecccf44f1de3d3e18b8338be8b83cbe3ad8b5308ed54098bc409ebb9b142821
MD5 06a4773679893b93eb906e3c9167085f
BLAKE2b-256 e5f37f780ce427d2b1fc149d61cd671e82a14e3261e5a30afbfb886689ab6523

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file touchpy-0.12.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: touchpy-0.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 986.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for touchpy-0.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1216d0991547786e15899207e8b1cc900f652d84f4f28f9c4ec44530c3780921
MD5 8a023837e3447072dc1a1cdf0a62183a
BLAKE2b-256 f5fdf11cea199c6d363a6e7a6caad761768826d2be739becad754e468c205dbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for touchpy-0.12.0-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on IntentDev/touchpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page