Skip to main content

Termora

PyPI Python License: MIT

Desktop workbench for serial, CAN, and protocol debugging. Built with PySide6, laid out for wide / 2K / 4K screens, with skins and English / 简体中文. Inspired by classic CuteCom.

The product name is Termora. The Python import package stays cutecom so existing macros and scripts keep working.

面向串口、CAN 与协议调试的桌面工作台。基于 PySide6,界面按大屏设计,支持皮肤与多语言。


Install

pip install termora
termora

Or from this repository:

git clone https://github.com/syd168/Termora.git
cd Termora
python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e .
termora

Use a dedicated venv. Mixing conda pyside6 with pip PySide6-Addons leads to libshiboken6.abi3.so import errors.

Platform notes

Capability Linux macOS Windows
Serial I/O, sessions, macros, plugins ✓ ✓ ✓
CAN (virtual / PCAN / Kvaser / Vector / SLCAN, …) ✓ ✓* ✓*
Native SocketCAN ✓ — —
X/Y/Zmodem (sz / lrzsz) ✓ ✓* —

* Needs the matching driver or Homebrew tool. Use the virtual CAN backend without hardware.

  • Linux: sudo usermod -aG dialout $USER then log in again.
  • macOS: ports look like /dev/cu.*. Zmodem: brew install lrzsz.
  • Windows: COMx in Device Manager. No X/Y/Zmodem (sz + POSIX redirection).

Usage

termora                         # GUI
termora -s Default              # named session
python -m cutecom               # same entry point
python run.py                   # from a source checkout

Headless serial (no window; RX on stdout):

termora --headless --port /dev/ttyUSB0 --baud 115200 --send "AT" --timeout 2
Flag Meaning
-s, --session Open a named session
--port Serial device
--baud Baud rate (default 115200)
--send String to write after open
--send-file File bytes to write after open
--line-end none / lf / cr / crlf (headless --send)
--timeout Headless read duration in seconds
--headless No GUI; requires --port

Logs: repo runs write logs/ in the project; a pip-installed run uses the OS app-data directory.


Interface

Connection settings on the left, a large output pane in the middle, command history above, input bar at the bottom.

  • View → Skin: Light / Dark / Nord / Terminal green
  • View → Language: English / 简体中文
  • View → Connection settings (Alt+S): reopen the sidebar

Features

Aligned with classic CuteCom:

  • Open/close, baud, data bits, parity, stop bits, flow control, RTS/DTR
  • Read-write / read-only / write-only, auto-reconnect
  • Line endings LF / CR / CRLF / none / Hex, character delay
  • Command history, completion, Ctrl control characters
  • Text / HEX display, control characters, timestamps, find (F3)
  • Session manager; disk logs (per session and window)
  • Send file as text or script; X/Y/Zmodem on Linux/macOS (sz)
  • Plugins: macro packs (JSON, hand-editable; legacy .tmf supported), UDP/TCP proxy, byte counter, Modbus assistant

Termora extras:

  • Skins and language switch
  • Local echo (TX in green)
  • Leave port settings unchanged on open
  • Break, repeat send
  • Freeze scroll / export output (Ctrl+E)
  • Live RX/TX B/s, recent devices
  • CRC / checksum tools, protocol pane (NMEA / AT / Modbus)
  • CAN analyzer (multiple backends, DBC, sequenced send)
  • Widescreen sidebar layout
  • Multiple windows (each with its own port and log file)

Macro packs

JSON files. Built-in examples live in the package (cutecom/resources/macros/). When you run from the repo, user copies go under config/macros/.

{
  "format": "cutecom-macros",
  "version": 2,
  "name": { "en": "ESP32 / ESP-AT", "zh_CN": "ESP32 / ESP-AT" },
  "macros": [
    { "name": { "en": "Reset", "zh_CN": "复位" }, "command": "AT+RST" }
  ]
}

Escapes in commands: \n \r \t \0 \xFF. In JSON write \\.


中文

pip install termora
termora

从源码:

git clone https://github.com/syd168/Termora.git
cd Termora
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
termora

请使用项目自己的虚拟环境。不要用混装了 conda pyside6 与 pip PySide6-Addons 的解释器,否则会报找不到 libshiboken6.abi3.so。

无界面发串口:

termora --headless --port /dev/ttyUSB0 --baud 115200 --send "AT" --timeout 2

Linux 串口权限:sudo usermod -aG dialout $USER,重新登录后生效。开发态日志在项目 logs/;pip install 后使用系统 AppData / Application Support。


License

MIT. Inspired by CuteCom; this is an independent Python implementation.

Release files for termora 0.80.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for termora 0.80.0
File Size Uploaded
termora-0.80.0.tar.gz 321.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for termora 0.80.0
File Interpreter ABI Platform
termora-0.80.0-py3-none-any.whl Python 3 none any Details

Total release size: 676.5 kB

Release files / termora-0.80.0.tar.gz

Download URL termora-0.80.0.tar.gz
Size 321.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9c02c90c9144ca942d254a902539f309cf07a9a0843a8f552db4f4005348093e
BLAKE2b-256 checksum
How to use checksums
c0758f8550cb29568db91b0406d2a08cc113dc49eb6d87f89dbe92587f4905d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / termora-0.80.0-py3-none-any.whl

Download URL termora-0.80.0-py3-none-any.whl
Size 355.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71499329bbe24c1c203d061b5153574d354c6920493607712df1fcaf269c409e
BLAKE2b-256 checksum
How to use checksums
13e5e2d117c6de347450e48ff7bf60f7fb1a06085e86396800c92662f7571605
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

0.80.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page