Skip to main content

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

Project description

Avalos-Bertou Central DAQ (libABCD) v2.2.0

(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.2.1.tar.gz (13.3 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.2.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: libabcd-2.2.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for libabcd-2.2.1.tar.gz
Algorithm Hash digest
SHA256 341b0f1ef73d3d61108c53275021f69fc753708db0276091f3bd444af6304dd0
MD5 e2713d64a6c1eb76531d0a35a095e937
BLAKE2b-256 b71bc6751293ec276f36d76575e8f508ee2735840104630eda7bba3cc5bb2bfe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: libabcd-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for libabcd-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7726168fe8279025ca6e9843a3fd814f81118ba144c1d57b2f33731ef3bb1c3
MD5 4852dbea3e804264464919bdbc70240b
BLAKE2b-256 f8b7f99447b337d6c88a7a7b5e7cc607ce08c093aa1b8e3719a9db59628c302e

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