Name | aiospb JSON |
Version |
7.0.4
JSON |
| download |
home_page | None |
Summary | Library to comunicate with MQTT following Sparkplug B estandard |
upload_time | 2025-01-22 10:52:01 |
maintainer | None |
docs_url | None |
author | Salvador Ruiz |
requires_python | <4.0,>=3.12 |
license | LGPL |
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"
}