Avalos-Bertou Central DAQ (libABCD)
(Formerly: Autonomous Bariloche Central DAQ)
This library handles two crucial aspects of any experiment that consists of multiple clients taking data: the communication between clients and the log information.
The main concept for the DAQ is that it orbits around a central server.
Control and information run through this server allowing a permanent
follow-up of what is happening. The raw data is handled by the clients
themselves and is not seen by the DAQ. The central server is a MQTT
broker. We recommend using mosquitto.
Logs are handled by each client, but the ABCDHandler logging handler
sends the relevant information through MQTT, allowing for a centralized
monitoring.
Installation
Requirements:
Starting from libABCD v2.2.0: paho.mqtt>=2.
v2.1 and less: paho.mqtt<2
The latest version can be installed from pip:
python3 -m pip install libabcd
Usage
libABCD is a singleton object (i.e. a single instance runs per python
process). Start it by running:
import libABCD
libABCD.init('my_daq') # see documentation in the docstring
You can then publish, subscribe, unsubscribe and add_callback
using the same object. Documentation can be found in the docstrings.
Best practice for handling your application log:
import logging
logger = logging.getLogger('your_app_name')
logger.addHandler(logging.NullHandler()) # remove all other handlers
logger.info('I am an INFO message') # or warning, error, critical
Don't forget to close the connection at the end of the session
libABCD.disconnect()
A full documentation of the available features is under way.
Questions, requests, feedback
If you find a bug, want to know more about specific features or have feedback of any kind, do not hesitate to email me at nicolaseavalos AT gmail DOT com.
License
This project is licensed under the MIT license.
Release files for libABCD 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| libabcd-2.3.0.tar.gz | 21.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| libabcd-2.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / libabcd-2.3.0.tar.gz
| Download URL | libabcd-2.3.0.tar.gz |
|---|---|
| Size | 21.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1aadf40bfb78a4816edd9399b35988052bc1499971c9c26a32633e33ccf3b839
|
|
BLAKE2b-256 checksum How to use checksums |
718ed3e832c8e1725e68d41300a52a1ab01734f3811aa46c6ab222403dd4f43a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.3 cpython/3.14.3 HTTPX/0.28.1
|
Release files / libabcd-2.3.0-py3-none-any.whl
| Download URL | libabcd-2.3.0-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6c5156cf439774b25f604525a593b6d15ffb0c654219858514135b4e6b35cbc
|
|
BLAKE2b-256 checksum How to use checksums |
f160362c00262b3d06630870cabd6eb266dc2d77abf7158533942673676cca6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.3 cpython/3.14.3 HTTPX/0.28.1
|