Metadata-Version: 2.4
Name: tuivisu
Version: 0.1.1
Summary: Terminal UI for CODESYS PLC visualizations and variables over OPC UA
Project-URL: Homepage, https://github.com/phobicdotno/tuivisu
Author: phobic
License: MIT
Keywords: codesys,opcua,plc,textual,tui,webvisu
Classifier: Environment :: Console
Classifier: Intended Audience :: Manufacturing
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Requires-Python: >=3.11
Requires-Dist: asyncua>=1.1
Requires-Dist: textual>=1.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mypy>=1.13; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# tuivisu

Terminal UI for CODESYS PLCs — a TUI take on the WebVisu, readable and editable
over SSH. Connects to the PLC's **OPC UA** server (the supported, documented
channel; the WebVisu wire protocol itself is proprietary binary paint commands
and deliberately not used).

## Install

```bash
pipx install tuivisu
```

## Run

```bash
tuivisu --url opc.tcp://<plc>:4840 --user <device-user> --password <pw>
```

Keys: `q` quit - arrow keys browse - type to edit a writable value.

## PLC prerequisites

- A **Symbol Configuration** object with *Support OPC UA features* enabled
  (Application → Add Object → Symbol Configuration), variables published,
  application downloaded.
- A device user (or anonymous access explicitly allowed in the device's
  Communication Policy).

## Development

```bash
py -m venv .venv
.venv/Scripts/pip install -e . --group dev
.venv/Scripts/python -m pytest -q
ruff check . && ruff format --check . && mypy src
```
