No project description provided
Project description
A generic online monitor for real-time plots from independent data acquisition systems
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93d16a04a25b96e310b2aa211868b42b415959c173b4ec112c89d1ed95261274
|
|
| MD5 |
9195b581ee16050706ad754333c14c6d
|
|
| BLAKE2b-256 |
e82a7868b9e99e0a633ab996b7900516e74abfbcba57646daa40193f375c1313
|
Provenance
The following attestation bundles were made for online_monitor-0.7.0.tar.gz:
Publisher:
wheels.yml on SiLab-Bonn/online_monitor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
online_monitor-0.7.0.tar.gz -
Subject digest:
93d16a04a25b96e310b2aa211868b42b415959c173b4ec112c89d1ed95261274 - Sigstore transparency entry: 1132607829
- Sigstore integration time:
-
Permalink:
SiLab-Bonn/online_monitor@052fc353c2663f290ec4e6d1ac6849bbccfc63a9 -
Branch / Tag:
refs/tags/0.7.0 - Owner: https://github.com/SiLab-Bonn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@052fc353c2663f290ec4e6d1ac6849bbccfc63a9 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82b2909c79ef784280fd3d902e887d4456a40093d621cd450a174a70ba8043ba
|
|
| MD5 |
c0697ae028dfeabfeef369684845bb5f
|
|
| BLAKE2b-256 |
8d596948cc76cf45cba8d201de6d8646e95174f88437b654078d2df693986343
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
online_monitor-0.7.0-py3-none-any.whl -
Subject digest:
82b2909c79ef784280fd3d902e887d4456a40093d621cd450a174a70ba8043ba - Sigstore transparency entry: 1132607874
- Sigstore integration time:
-
Permalink:
SiLab-Bonn/online_monitor@052fc353c2663f290ec4e6d1ac6849bbccfc63a9 -
Branch / Tag:
refs/tags/0.7.0 - Owner: https://github.com/SiLab-Bonn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@052fc353c2663f290ec4e6d1ac6849bbccfc63a9 -
Trigger Event:
push
-
Statement type: