Skip to main content

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)

Source distribution for libABCD 2.3.0
File Size Uploaded
libabcd-2.3.0.tar.gz 21.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for libABCD 2.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.1

2 release files

2.1.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

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