libABCD


NamelibABCD JSON
Version 2.1.0 PyPI version JSON
download
home_pageNone
Summarythe Autonomous Bariloche Central DAQ, a centralized DAQ system for scientific experiments
upload_time2024-05-31 13:26:12
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords logging mqtt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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`](https://mosquitto.org/).

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:
```bash
python3 -m pip install libabcd
```

Usage
-----

`libABCD` is a singleton object (i.e. a single instance runs per python
process). Start it by running:
```python
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:
```python
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
```python
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.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "libABCD",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "logging, mqtt",
    "author": null,
    "author_email": "Xavier Bertou <bertou@cab.cnea.gov.ar>, Nicol\u00e1s Avalos <nicolas.avalos@ib.edu.ar>",
    "download_url": "https://files.pythonhosted.org/packages/c4/38/0a435f34114bf585a626821064f016371d0ded2dee93eb0b2cdf18339eea/libabcd-2.1.0.tar.gz",
    "platform": null,
    "description": "Autonomous Bariloche Central DAQ (libABCD) v2.1\n===============================================\n\nThis library handles two crucial aspects of any experiment that consists \nof multiple clients taking data: the communication between clients and \nthe log information.\n\nThe main concept for the DAQ is that it orbits around a central server. \nControl and information run through this server allowing a permanent \nfollow-up of what is happening. The raw data is handled by the clients \nthemselves and is not seen by the DAQ. The central server is a MQTT \nbroker. We recommend using [`mosquitto`](https://mosquitto.org/).\n\nLogs are handled by each client, but the `ABCDHandler` logging handler \nsends the relevant information through MQTT, allowing for a centralized \nmonitoring.\n\nInstallation\n------------\n\nThe latest version can be installed from pip:\n```bash\npython3 -m pip install libabcd\n```\n\nUsage\n-----\n\n`libABCD` is a singleton object (i.e. a single instance runs per python\nprocess). Start it by running:\n```python\nimport libABCD\nlibABCD.init()  # see documentation in the docstring\n```\nYou can then `publish`, `subscribe`, `unsubscribe` and `add_callback` \nusing the same object. Documentation can be found in the docstrings.  \n\nBest practice for handling your application log:\n```python\nimport logging\nlogger = logging.getLogger('your_app_name')\nlogger.addHandler(logging.NullHandler()) # remove all other handlers\nlogger.info('I am an INFO message') # or warning, error, critical\n```\n\nDon't forget to close the connection at the end of the session\n```python\nlibABCD.disconnect()\n```\n\nA full documentation of the available features is under way.\n\nQuestions, requests, feedback\n-----------------------------\n\nIf you find a bug, want to know more about specific features or have feedback\nof any kind, do not hesitate to email me at nicolaseavalos AT gmail DOT com.\n\nLicense\n-------\n\nThis project is licensed under the MIT license.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "the Autonomous Bariloche Central DAQ, a centralized DAQ system for scientific experiments",
    "version": "2.1.0",
    "project_urls": {
        "Source code": "https://gitlab.com/bertou/libabcd"
    },
    "split_keywords": [
        "logging",
        " mqtt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f63b1f8b922a6d61b109168243b41f9a650347c235f9db202029f8b9242b144",
                "md5": "869b7a88ed65d0762aa27a31603d8e37",
                "sha256": "a56cdc88a9058358ca722a3ce3ca89df7a53c251b1b08f5a74ef6ff65d58724c"
            },
            "downloads": -1,
            "filename": "libabcd-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "869b7a88ed65d0762aa27a31603d8e37",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6667,
            "upload_time": "2024-05-31T13:26:10",
            "upload_time_iso_8601": "2024-05-31T13:26:10.582694Z",
            "url": "https://files.pythonhosted.org/packages/3f/63/b1f8b922a6d61b109168243b41f9a650347c235f9db202029f8b9242b144/libabcd-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4380a435f34114bf585a626821064f016371d0ded2dee93eb0b2cdf18339eea",
                "md5": "abc7483bd42af72d62468e8cb98ba69f",
                "sha256": "e693b45f58198626b4b1fbc423f48d77b7695066840cf1466aceb195f643723b"
            },
            "downloads": -1,
            "filename": "libabcd-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "abc7483bd42af72d62468e8cb98ba69f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 7736,
            "upload_time": "2024-05-31T13:26:12",
            "upload_time_iso_8601": "2024-05-31T13:26:12.170958Z",
            "url": "https://files.pythonhosted.org/packages/c4/38/0a435f34114bf585a626821064f016371d0ded2dee93eb0b2cdf18339eea/libabcd-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-31 13:26:12",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "bertou",
    "gitlab_project": "libabcd",
    "lcname": "libabcd"
}
        
Elapsed time: 0.24271s