aiospb


Nameaiospb JSON
Version 7.0.4 PyPI version JSON
download
home_pageNone
SummaryLibrary to comunicate with MQTT following Sparkplug B estandard
upload_time2025-01-22 10:52:01
maintainerNone
docs_urlNone
authorSalvador Ruiz
requires_python<4.0,>=3.12
licenseLGPL
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Async Sparkplug B

Asyncronous implementation in python of the Sparkplug B standard for MQTT protocol


## Test and Deploy

In the  cicd directory you have scripts for helping the test of the library. It is necessary to have docker-compose and docker installed to run locally a Mqtt Broker and run integration and acceptance tests.

- run-all-tests.sh: Run all the tests
- setup-environment.sh: Open a mosquitto MQTT broker in a container to develop the test. It will clear all active containers.
- teardown-environment.sh: Close environment of testing (only the affected)

## Architecture

The application runs asyncronously some tasks:

- ~scanner~: runs the scanning proccess of the metrics.
- ~commands~: listen to commands and 

### Edge Node

The edge node has been implemented under a state machine pattern. These are the states and transitions of edge node objects:

1. `Disconnected`: Initial state, until the client has not established a session and it is not connected to mqtt server, the scanning process is not started. If the client establish a session but conne
   - `establish_session`: kj fskkk
2. `Online`: The edge node is scanning and sending messages to 
   - `lost_mqtt_server_connection`: transition to `Offline` state.
3. `Offline`: The edge node is scanning and trying to connect to Host mqtt
server. 
    - `connected_to_mqtt_server`: transition to `Online`
    - ``


## 4 bridge

The host bridge is not really a host application in the sense of Sparkplug B specification. It is a component to be used by a host application. It helps to the REAL application to comunicate to the edge nodes:

- Recieving the messages from all nodes conected to broker, following a Observer pattern.
- Send writing metric requests (lets call `` from now).

The interface with this reponsability is really easy:

- `observe_node`
- `send_command`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aiospb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": null,
    "author": "Salvador Ruiz",
    "author_email": "sruiz@indoorclima.com",
    "download_url": "https://files.pythonhosted.org/packages/0a/bb/30fd4ef7341d817c9eba67f3659f9ea3f598a3648cb319284184f6c181dc/aiospb-7.0.4.tar.gz",
    "platform": null,
    "description": "# Async Sparkplug B\n\nAsyncronous implementation in python of the Sparkplug B standard for MQTT protocol\n\n\n## Test and Deploy\n\nIn the  cicd directory you have scripts for helping the test of the library. It is necessary to have docker-compose and docker installed to run locally a Mqtt Broker and run integration and acceptance tests.\n\n- run-all-tests.sh: Run all the tests\n- setup-environment.sh: Open a mosquitto MQTT broker in a container to develop the test. It will clear all active containers.\n- teardown-environment.sh: Close environment of testing (only the affected)\n\n## Architecture\n\nThe application runs asyncronously some tasks:\n\n- ~scanner~: runs the scanning proccess of the metrics.\n- ~commands~: listen to commands and \n\n### Edge Node\n\nThe edge node has been implemented under a state machine pattern. These are the states and transitions of edge node objects:\n\n1. `Disconnected`: Initial state, until the client has not established a session and it is not connected to mqtt server, the scanning process is not started. If the client establish a session but conne\n   - `establish_session`: kj fskkk\n2. `Online`: The edge node is scanning and sending messages to \n   - `lost_mqtt_server_connection`: transition to `Offline` state.\n3. `Offline`: The edge node is scanning and trying to connect to Host mqtt\nserver. \n    - `connected_to_mqtt_server`: transition to `Online`\n    - ``\n\n\n## 4 bridge\n\nThe host bridge is not really a host application in the sense of Sparkplug B specification. It is a component to be used by a host application. It helps to the REAL application to comunicate to the edge nodes:\n\n- Recieving the messages from all nodes conected to broker, following a Observer pattern.\n- Send writing metric requests (lets call `` from now).\n\nThe interface with this reponsability is really easy:\n\n- `observe_node`\n- `send_command`\n",
    "bugtrack_url": null,
    "license": "LGPL",
    "summary": "Library to comunicate with MQTT following Sparkplug B estandard",
    "version": "7.0.4",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d9d1db8039e4054edb3e2ab640c3eaac862aab456df76becfcc5ac3cb1e343c",
                "md5": "c821c960301225bf1f2233cd78478df5",
                "sha256": "64c1dae4205161ab63d44c2ed5536a4a3856d8da8bc7aaa2d2c4dffd7f7291a7"
            },
            "downloads": -1,
            "filename": "aiospb-7.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c821c960301225bf1f2233cd78478df5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 33471,
            "upload_time": "2025-01-22T10:52:00",
            "upload_time_iso_8601": "2025-01-22T10:52:00.679031Z",
            "url": "https://files.pythonhosted.org/packages/2d/9d/1db8039e4054edb3e2ab640c3eaac862aab456df76becfcc5ac3cb1e343c/aiospb-7.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0abb30fd4ef7341d817c9eba67f3659f9ea3f598a3648cb319284184f6c181dc",
                "md5": "6ae36e6fb111c84f8e949e152dde0a64",
                "sha256": "30421834d7cb90c76285154ebb08e51ebacce3bc7331014a77419fada02c53a0"
            },
            "downloads": -1,
            "filename": "aiospb-7.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "6ae36e6fb111c84f8e949e152dde0a64",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 25914,
            "upload_time": "2025-01-22T10:52:01",
            "upload_time_iso_8601": "2025-01-22T10:52:01.836783Z",
            "url": "https://files.pythonhosted.org/packages/0a/bb/30fd4ef7341d817c9eba67f3659f9ea3f598a3648cb319284184f6c181dc/aiospb-7.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-22 10:52:01",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "aiospb"
}
        
Elapsed time: 1.39883s