Skip to main content

the Autonomous Bariloche Central DAQ, a centralized DAQ system for scientific experiments

Project description

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.

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

libabcd-2.3.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

libabcd-2.3.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file libabcd-2.3.0.tar.gz.

File metadata

  • Download URL: libabcd-2.3.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.3 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for libabcd-2.3.0.tar.gz
Algorithm Hash digest
SHA256 1aadf40bfb78a4816edd9399b35988052bc1499971c9c26a32633e33ccf3b839
MD5 6921e5b950180f5a318d7b6cee60f27d
BLAKE2b-256 718ed3e832c8e1725e68d41300a52a1ab01734f3811aa46c6ab222403dd4f43a

See more details on using hashes here.

File details

Details for the file libabcd-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: libabcd-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.3 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for libabcd-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6c5156cf439774b25f604525a593b6d15ffb0c654219858514135b4e6b35cbc
MD5 d5d0057c1ced28b1bd0b7c07801fe86f
BLAKE2b-256 f160362c00262b3d06630870cabd6eb266dc2d77abf7158533942673676cca6a

See more details on using hashes here.

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