Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

online_monitor-0.7.0.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

online_monitor-0.7.0-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

Details for the file online_monitor-0.7.0.tar.gz.

File metadata

  • Download URL: online_monitor-0.7.0.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for online_monitor-0.7.0.tar.gz
Algorithm Hash digest
SHA256 93d16a04a25b96e310b2aa211868b42b415959c173b4ec112c89d1ed95261274
MD5 9195b581ee16050706ad754333c14c6d
BLAKE2b-256 e82a7868b9e99e0a633ab996b7900516e74abfbcba57646daa40193f375c1313

See more details on using hashes here.

Provenance

The following attestation bundles were made for online_monitor-0.7.0.tar.gz:

Publisher: wheels.yml on SiLab-Bonn/online_monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file online_monitor-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: online_monitor-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 43.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for online_monitor-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82b2909c79ef784280fd3d902e887d4456a40093d621cd450a174a70ba8043ba
MD5 c0697ae028dfeabfeef369684845bb5f
BLAKE2b-256 8d596948cc76cf45cba8d201de6d8646e95174f88437b654078d2df693986343

See more details on using hashes here.

Provenance

The following attestation bundles were made for online_monitor-0.7.0-py3-none-any.whl:

Publisher: wheels.yml on SiLab-Bonn/online_monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page