Skip to main content

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

Project description

Autonomous Bariloche Central DAQ (libABCD) v2.1

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

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()  # 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.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

libabcd-2.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: libabcd-2.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for libabcd-2.1.0.tar.gz
Algorithm Hash digest
SHA256 e693b45f58198626b4b1fbc423f48d77b7695066840cf1466aceb195f643723b
MD5 abc7483bd42af72d62468e8cb98ba69f
BLAKE2b-256 c4380a435f34114bf585a626821064f016371d0ded2dee93eb0b2cdf18339eea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: libabcd-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for libabcd-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a56cdc88a9058358ca722a3ce3ca89df7a53c251b1b08f5a74ef6ff65d58724c
MD5 869b7a88ed65d0762aa27a31603d8e37
BLAKE2b-256 3f63b1f8b922a6d61b109168243b41f9a650347c235f9db202029f8b9242b144

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page