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

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.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.2.0.tar.gz (62.0 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.2.0-py3-none-any.whl (52.1 kB view details)

Uploaded Python 3

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

Hashes for arduino_esp32_tft_terminal-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a45888f1f5c321b756adaae24f45a72624e5a1df92cc1b57e6ac193546a14b79
MD5 67a26fcc59417410e849a9f3ce442304
BLAKE2b-256 c3959798c1b362e7b394014340c7423864caf88f9b258cb2607efce99210de8e

See more details on using hashes here.

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

Hashes for arduino_esp32_tft_terminal-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86a03e5bc758286a97c64cf4edf448de047775bda99e6d97f0e317a112df8d23
MD5 bf5ed748787f54cd46c7981c5519cf48
BLAKE2b-256 baa448595775f0ad9468c057e16c1a7286be9b381295a9154aabc1ba0739fe0d

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