Skip to main content

touchy-pad

Host-side Python library and CLI for the Touchy-Pad USB multitouch device.

Install

pip install touchy-pad

You will also need a working libusb-1.0 runtime on your host:

Platform Command
Debian sudo apt install libusb-1.0-0
macOS brew install libusb
Windows bundle libusb-1.0.dll next to your interpreter

On Linux you also need a udev rule so non-root users can open the device. A starter rule is shipped at ../bin/99-touchy-pad.rules.

CLI

touchy --help              # list subcommands
touchy board-info          # query device board, firmware, protocol version
touchy screen-wake         # turn the backlight on
touchy events              # live-tail events from the device

Library

The supported entry point is touchy_pad.api:

from touchy_pad.api import touchy_open

with touchy_open() as pad:
    print("firmware:", pad.client.sys_version_get().firmware_version_str)

    pad.on_host_event(0x100, lambda e: print("event", e))
    # ...do work; events arrive on a background thread...

See docs/python-api.md for the full guide and docs/python-api/ for auto-generated reference docs (built with just build-docs).

Uploading images

Touchy.file_save accepts any Pillow-readable image (BMP, PNG, JPEG, GIF, WebP) and transparently converts it to LVGL's native .bin format before uploading, so the firmware (which only ships LVGL's built-in bin decoder) can render it without extra config:

with touchy_open() as pad:
    with open("avatar.png", "rb") as f:
        pad.file_save("images/avatar.png", f.read())  # auto-converted

    # Already-converted `.bin` payload, or any non-image bytes, pass
    # through unchanged.
    pad.file_save("screens/home.pb", screen.to_bytes())

Refer to the asset by its upload path (asset="images/avatar.png") when constructing image(...) / image_button(...) widgets — both support scale= and rotation= for runtime transforms, and image_button also takes pressed_asset / pressed_scale / pressed_rotation for a distinct pressed-state look.

Development

See docs/development.md for full setup instructions (dev container or manual), day-to-day just recipes, and git hook details.

Metadata

Release files for touchy-pad 0.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for touchy-pad 0.3.4
File Size Uploaded
touchy_pad-0.3.4.tar.gz 241.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for touchy-pad 0.3.4
File Interpreter ABI Platform
touchy_pad-0.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 506.1 kB

Release files / touchy_pad-0.3.4.tar.gz

Download URL touchy_pad-0.3.4.tar.gz
Size 241.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f3cbb5d9c87419e9c17b10ca2438a62dda52b803673b09758f2b09c6b91b3c55
BLAKE2b-256 checksum
How to use checksums
55d8c2bd6b51713aca022ec7e1b5cdb0d8c352f5f53a97435be9129fdccc7610
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 Jul 17, 2026.

Transparency log

Release files / touchy_pad-0.3.4-py3-none-any.whl

Download URL touchy_pad-0.3.4-py3-none-any.whl
Size 264.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
609641ff40401d5f08b576cdf7b843e3f6c501b979aab3459b5cbcf434e842a8
BLAKE2b-256 checksum
How to use checksums
153201df5679163d09650cc8a5c5ded28fc1e54186b87872a7eb6fe4a72b17b0
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 Jul 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.4 This release

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.2.12

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page