Skip to main content

A generic online monitor for real-time plots from independent data acquisition systems

Build Status Coverage Status

Installation

The last stable code is hosted on PyPi. Thus for installation type:

pip install --upgrade pip
pip install online_monitor

Otherwise download the code and run

pip install -e .

You can run the unit tests to check the installation

pytest online_monitor

Usage

For a demo type into the console:

  start_online_monitor

To stop all instances of online_monitor (e.g. converter, receiver, etc), type

stop_online_monitor

Info

This package is a meta package providing all tools to convert data in real time distributed on several PCs and to visulize them in real time (> 20 Hz). The online monitor is based on a concept with these enitites:

  • Producer: This is your DAQ system that sends data via a ZMQ PUB socket. The data format is your choise. The producer is not part of the online_monitor. For testing / debugging a simulation producer is provided that can generate fake data.

  • Converter: A converter converts data from one (ore more) producers (e.g. histogramming) and publishes the converted data as a ZMQ PUB socket. Since the converter is specific to your data type you have to define the converter! Take a look at the example folder.

  • Receiver: A receiver connects to a converter and defines the plots to be shown. Since the receiver is specific to your wished / data you have to define the receiver! Take a look at the example folder.

Complex chains are possible with several parallel/interconnected converters, receivers and producers. One configuraion *. yaml file defines your system. Take a look at the example folder or the main folder for a configuration.yaml example.

There are start script to start the online monitor and/or the converters and producers simulating data.

To start the online monitor including simulation producers / converters type into the console:

start_online_monitor configuration.yaml

To start the converters type:

start_converters configuration.yaml

Custom plugins

To use your own online_monitor plugins within your e.g. DAQ system, you have to add your respective converter / receiver/ etc paths to the OnlineMonitor.ini. This can be done by using the plugin_online_monitor script, running

plugin_online_monitor path/to/my/plugin/folder

or

cd path/to/my/plugin/folder
plugin_online_monitor

This makes all converter / receiver / etc. instances within path/to/plugin/folder available to online_monitor.

Custom receiver

Have a look at the examples. When building your custom receiver, use pyqtgraph only for plotting-related tasks e.g. pg.ImageItem etc. Avoid using pyqtgraph for building generic widgets (especially the deprecated QtGui submodule), instead use pyqt6 directly:

from PyQt6 import QtWidgets, QtCore

my_custom_label = QtWidgets.QLabel("My label")
my_custom_double_spinbox = QtWidgets.QDoubleSpinBox()
my_custom_grid_layout = QtWidgets.QGridLayout()
my_custom_signal = QtCore.pyqtSignal(str)
...

Custom producer

The producer allows to replay previously recorded data at a custom replay rate. For most SiLAB-type DAQ systems, the silab_default_producer works out-of-the box and is automatically availabe after install.

Testing

Everything is tested on Windows and Linux for Python 3.8/9 with coverage. Have a look at the tests as well as the respective GH actions and coverall.io pages.

Metadata

Release files for online-monitor 0.7.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 online-monitor 0.7.0
File Size Uploaded Provenance
online_monitor-0.7.0.tar.gz 30.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for online-monitor 0.7.0
File Interpreter ABI Platform
online_monitor-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 74.1 kB

Release files / online_monitor-0.7.0.tar.gz

Download URL online_monitor-0.7.0.tar.gz
Size 30.6 kB
Tags Source
SHA-256 checksum
How to use checksums
93d16a04a25b96e310b2aa211868b42b415959c173b4ec112c89d1ed95261274
BLAKE2b-256 checksum
How to use checksums
e82a7868b9e99e0a633ab996b7900516e74abfbcba57646daa40193f375c1313
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 19, 2026.

Transparency log

Release files / online_monitor-0.7.0-py3-none-any.whl

Download URL online_monitor-0.7.0-py3-none-any.whl
Size 43.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82b2909c79ef784280fd3d902e887d4456a40093d621cd450a174a70ba8043ba
BLAKE2b-256 checksum
How to use checksums
8d596948cc76cf45cba8d201de6d8646e95174f88437b654078d2df693986343
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 19, 2026.

Transparency log

Security for online-monitor 0.7.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for online_monitor-0.7.0.tar.gz

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 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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