Skip to main content

OPGuia icon

OPGuia

Dead simple OPC UA browser built with Python.

PyPI Python License Downloads


Connection page Browse page Graph view

Quick Start

The fastest way to run OPGuia is with uv:

uvx opguia

Don't have uv? Install it with curl -LsSf https://astral.sh/uv/install.sh | sh or see the uv installation docs.

Or install with pip:

pip install opguia
opguia

A native desktop window opens automatically. Enter an OPC UA endpoint or let it auto-discover servers on your network.

Features

Browse & Inspect

  • Auto-scan for OPC UA servers on standard ports (4840-4843, 48400-48401, 48010, 53530)
  • Tree-table view with inline values, types, and status indicators
  • Compact 26px rows — scan hundreds of variables at a glance
  • Filter nodes by name
  • Full node detail dialog with all OPC UA attributes
  • Custom struct types resolved and decoded with per-field display
  • Copy any attribute value to clipboard

Write

  • Click-to-write for any writable variable with type validation
  • Per-index inputs for array types (toggles for booleans, text inputs for numeric/string)
  • Integer range checking, float validation, boolean parsing

Monitor

  • Watch panel for live variable tracking
  • Live time-series graphs per watched variable (ECharts)
  • Configurable poll rate (0.1s to 2.0s)

Connect

  • Connection profiles with per-profile settings (watched vars, tree root, expanded state)
  • SSH port-forwarding tunnel support with password or key-based auth
  • Live endpoint health pings on saved profiles
  • Headless CLI mode for scripting (opguia --headless)

Look & Feel

  • Material Dark theme
  • Native desktop window via pywebview
  • Custom app icon on macOS and Windows

CLI Mode

Browse, read, and write without the GUI:

opguia --headless browse opc.tcp://localhost:4840
opguia --headless read  opc.tcp://localhost:4840 "ns=2;s=MyVar"
opguia --headless write opc.tcp://localhost:4840 "ns=2;s=MyVar" 42
opguia --headless tree  opc.tcp://localhost:4840
opguia --headless info  opc.tcp://localhost:4840 "ns=2;s=MyVar"

Development

git clone https://github.com/KyleAlanJeffrey/opguia
cd opguia
uv sync        # or: python -m venv .venv && pip install -e .
python main.py

Releasing

Releases trigger via GitHub Actions when a commit with title vX.Y.Z and body containing #release is pushed to main.

Metadata

Release files for opguia 1.9.1

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

Source distribution (sdist)

Source distribution for opguia 1.9.1
File Size Uploaded
opguia-1.9.1.tar.gz 678.4 kB Details

Built distribution (wheel)

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

Total release size: 734.3 kB

Release files / opguia-1.9.1.tar.gz

Download URL opguia-1.9.1.tar.gz
Size 678.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cf7ccb4c8db5df910ab901e7e6cba8d138cd6cd7ae30d672c0d4868bcdb3c33a
BLAKE2b-256 checksum
How to use checksums
2c7d13fc6ade8a7f4b9d5e2311a0e3cc4cf35cbe8d9b47384d20436f87bb886e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.

Transparency log

Release files / opguia-1.9.1-py3-none-any.whl

Download URL opguia-1.9.1-py3-none-any.whl
Size 55.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50e97b6bb1bac023df3614503c425bd6d42545ea8d014222fc556c1975182d73
BLAKE2b-256 checksum
How to use checksums
2789d556c7007ad62c2267beb61f1b0a3fa3d69baaba8ca72574686e7055af3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.9.1 This release

2 release files

1.9.0

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.3.3

2 release files

1.3.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.0

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