Python client driving the Arduino ESP32 TFT Terminal gadget over USB.
Project description
client-py — Python client
The computer-side program of the Arduino ESP32 TFT Terminal. It owns all application logic and drives the board over USB, sending command lines and reading answers.
Requirements
- Python 3.11+ on Linux.
- A flashed board (see
../server-esp32s3-rtft/) connected over USB. - Dependencies:
numpy,pyserial,claude-busy-monitor.
Running
The client is on PyPI as arduino-esp32-tft-terminal:
pipx install arduino-esp32-tft-terminal # or: uv tool install arduino-esp32-tft-terminal
arduino-esp32-tft-terminal -h # list options and apps
arduino-esp32-tft-terminal --demo # cycle through all apps
arduino-esp32-tft-terminal --only cube # run a single app
Run without installing: uvx arduino-esp32-tft-terminal --demo. From this
directory: make install (= uv tool install .); for development,
uv pip install -e . in a venv.
Layout
Package source lives under src/arduino_esp32_tft_terminal/:
app/— one module + class per app (quix.pyis the template).lib/— board communication: serial channel, command protocol,Board,Gfx, CLI args.cli.py— entry point (main()); registers the apps.config.py— runtime configuration (also exposed as CLI flags).
Writing a new app
- Study
src/arduino_esp32_tft_terminal/app/quix.pyas a template. - Create a new module and class.
- Register the class in
src/arduino_esp32_tft_terminal/cli.py.
Development
All make targets run from this directory (next to pyproject.toml):
make help— list targets.make lint/make format— ruff check + format-check / autofix.make build/make install— build the wheel / install thearduino-esp32-tft-terminalcommand.make publish-qualitythenmake publish— PyPI release (token in keyring first).
See the top-level README and ../TODO.md for the wider toolchain.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arduino_esp32_tft_terminal-0.2.0.tar.gz.
File metadata
- Download URL: arduino_esp32_tft_terminal-0.2.0.tar.gz
- Upload date:
- Size: 62.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a45888f1f5c321b756adaae24f45a72624e5a1df92cc1b57e6ac193546a14b79
|
|
| MD5 |
67a26fcc59417410e849a9f3ce442304
|
|
| BLAKE2b-256 |
c3959798c1b362e7b394014340c7423864caf88f9b258cb2607efce99210de8e
|
File details
Details for the file arduino_esp32_tft_terminal-0.2.0-py3-none-any.whl.
File metadata
- Download URL: arduino_esp32_tft_terminal-0.2.0-py3-none-any.whl
- Upload date:
- Size: 52.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86a03e5bc758286a97c64cf4edf448de047775bda99e6d97f0e317a112df8d23
|
|
| MD5 |
bf5ed748787f54cd46c7981c5519cf48
|
|
| BLAKE2b-256 |
baa448595775f0ad9468c057e16c1a7286be9b381295a9154aabc1ba0739fe0d
|