Skip to main content

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

Install the arduino-esp32-tft-terminal command (not on PyPI yet — install from this directory; see ../TODO.md):

uv tool install .                         # installs the command
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

For development, use an editable install (uv pip install -e . in a venv).

Layout

Package source lives under src/arduino_esp32_tft_terminal/:

  • app/ — one module + class per app (quix.py is 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

  1. Study src/arduino_esp32_tft_terminal/app/quix.py as a template.
  2. Create a new module and class.
  3. 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 the arduino-esp32-tft-terminal command.
  • make publish-quality then make publish — PyPI release (token in keyring first).

See the top-level README and ../TODO.md for the wider toolchain.

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

arduino_esp32_tft_terminal-0.1.0.tar.gz (50.9 kB view details)

Uploaded Source

Built Distribution

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

arduino_esp32_tft_terminal-0.1.0-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file arduino_esp32_tft_terminal-0.1.0.tar.gz.

File metadata

  • Download URL: arduino_esp32_tft_terminal-0.1.0.tar.gz
  • Upload date:
  • Size: 50.9 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

Hashes for arduino_esp32_tft_terminal-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f1485ed0dd32b9e1ef13d5a07be983dd5dbda16e384e65c7662b9e23384360b5
MD5 e0d5a7871ce6905a9925a29447ae7cbd
BLAKE2b-256 d985b2fece895bdcd17f7073654f3841d138d42d0799268c7edbd20f08c5c913

See more details on using hashes here.

File details

Details for the file arduino_esp32_tft_terminal-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: arduino_esp32_tft_terminal-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 45.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

Hashes for arduino_esp32_tft_terminal-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae21c640b0aa646372cb84a7255ee7fa856ccf3c1bc608a9889edb536affef30
MD5 c1ac0497e91873a11f9d3636843776dc
BLAKE2b-256 7fd4c8b3db96c9cc78b35421b1132fcdcaed55d283996e831c7643b0767597a4

See more details on using hashes here.

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