Skip to content

hypernova

Publish/subscribe data interchange for control systems — DIP's proven shape (named publications, a registry, subscribe by name) rebuilt on standard OPC UA Pub/Sub (Part 14). The data-interchange fabric of the quasarnova family.

Publications are Part 14 datasets over UDP, readable by any Part 14 implementation — and every supernova OPC UA server is already a native publisher with a <PubSub> element in its config.

The hypernova registry browser: live namespace tree and instrument-style stream pane

The registry browser: values, quality, rate and per-field sparklines, fed by a real supernova C++ server at ~10 Hz (synthetic demo namespaces).

Install

pip install "hypernova[bridge] @ git+https://github.com/quasarnova-team/hypernova"
# (PyPI's "hypernova" is an unrelated package — install from git)

Five lines, either direction

from hypernova import Subscriber

with Subscriber("site/area1/pump7/env") as sub:
    for update in sub.updates():
        t = update.values["temperature"]
        print(t.value, "good" if t.is_good else hex(t.status))

A dependency-free Java client ships too — clients/java.

Where to next

Heritage

hypernova's publish/subscribe shape is inspired by DIP, the Data Interchange Protocol developed at CERN, where it has interconnected control systems for two decades. quasarnova is an independent project and is not affiliated with or endorsed by CERN; hypernova shares no code with DIP — the wire format is standard OPC UA Pub/Sub.