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.
Metadata
Release files for arduino-esp32-tft-terminal 0.2.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 | |
|---|---|---|---|
| arduino_esp32_tft_terminal-0.2.1.tar.gz | 65.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arduino_esp32_tft_terminal-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.0 kB
Release files / arduino_esp32_tft_terminal-0.2.1.tar.gz
| Download URL | arduino_esp32_tft_terminal-0.2.1.tar.gz |
|---|---|
| Size | 65.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
27da3def5e4e1223baf360b69b6c0a1a61f6a6c07e2a4f25af8929e5de8e7a1b
|
|
BLAKE2b-256 checksum How to use checksums |
adc3937579fb2c0fa2cbce74bd2b4d7c116ef96189b2476153509087bfe4353b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / arduino_esp32_tft_terminal-0.2.1-py3-none-any.whl
| Download URL | arduino_esp32_tft_terminal-0.2.1-py3-none-any.whl |
|---|---|
| Size | 54.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb34511e7f6a3f68852fedd56898649d108ff4bb3dc93765409c47bf746e1807
|
|
BLAKE2b-256 checksum How to use checksums |
b2f2c16a0192dfb3a175be5ce5167d202f65db8b0d97886385a866a161222a0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|