Skip to main content

A serial monitor TUI with protocol testing capabilities

Project description

serial-tui

A TUI serial monitor built with Python and Textual.

Features

  • Serial port connection management (baud, data bits, parity, stop bits)
  • Live RX display with timestamps, toggle between ASCII and HEX modes
  • TX input with escape sequence support (\n, \r, \t, \xHH)
  • Transmit history with up/down arrow navigation (mode-preserving)
  • ? help screen, Ctrl+L clear RX display
  • Ctrl+O port configuration screen
  • Pattern matching engine with greedy backtracking wildcards (*, +)
  • Checksum verification (LRC, MOD256, CRC-8/16/32) integrated into matching

Quick Start

pip install -e .
serial-tui

Or without installing:

python src/serial_tui/cli.py

Keybindings

Key Action
Ctrl+O Configure serial port
Ctrl+K Disconnect
Ctrl+D Toggle HEX/ASCII display
Ctrl+L Clear RX display
Ctrl+E Toggle TX echo
Ctrl+Y Copy RX log
? Help
F3 Sequence editor
F4 Trigger editor
F5 Overview
Up/Down Cycle transmit history

Project Layout

src/serial_tui/
├── cli.py              — Main app & entry point
├── checksum.py         — LRC, MOD256, CRC-8/16/32
├── data_model.py       — FieldDefinition, SequenceDefinition, JSON
├── matcher.py          — Pattern matching engine
├── serial_manager.py   — pyserial wrapper
├── session.py          — Session persistence
├── screens/
│   ├── help_screen.py      — Keyboard shortcuts reference
│   ├── history_screen.py   — Transmit history modal
│   ├── overview_screen.py  — Combined sequences + triggers
│   ├── port_screen.py      — Port config modal
│   ├── sequence_screen.py  — Sequence editor
│   └── trigger_screen.py   — Trigger editor
└── widgets/
    └── rx_pane.py          — Scrollable RX display

Development

pip install -e ".[dev]"
pre-commit install
pytest tests/ -v

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

serial_tui-1.1.0.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

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

serial_tui-1.1.0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file serial_tui-1.1.0.tar.gz.

File metadata

  • Download URL: serial_tui-1.1.0.tar.gz
  • Upload date:
  • Size: 35.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for serial_tui-1.1.0.tar.gz
Algorithm Hash digest
SHA256 58ae2bef038732b437b9f20bf4116a866dd297c90d1ca19f75fb5caa7c145c12
MD5 b93b798d7a8fa14ff341ee5cc0a1c0fa
BLAKE2b-256 e924da4f28b61cd926a162b3c5b947d6e086b20393f953d55b9c2087f76b3d57

See more details on using hashes here.

File details

Details for the file serial_tui-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: serial_tui-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for serial_tui-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4380315f13e1fd4edebb8d3551120370cc3dd17725130551e21199248eeed23
MD5 94d039e95e3a6a31d21dc12a6973cc16
BLAKE2b-256 8908cb30ffd0b4906ce16282ed44d2cffa1e2f4a183eacee100905fa2b7ba435

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