# **PySparkplug**: Sparkplug B for Python
[](https://github.com/matteosox/pysparkplug/actions/workflows/cicd.yaml)
[](https://pysparkplug.mattefay.com)
[](https://pepy.tech/project/pysparkplug)
[](https://pypi.org/project/pysparkplug/)
[](https://codecov.io/gh/matteosox/pysparkplug)
## Getting Started
### Installation
`pysparkplug` is a pip-installable package [hosted on PyPI](https://pypi.org/project/pysparkplug/). Getting started is as easy as:
```console
$ pip install pysparkplug
```
`pysparkplug` uses the Eclipse Paho™ MQTT Python Client, i.e. [`paho-mqtt`](https://github.com/eclipse/paho.mqtt.python), for low-level MQTT communication.
### Usage
Simple demos of the `EdgeNode`, `Device`, and `Client` classes publishing and subscribing all supported payloads and metric datatypes can be found in the `notebooks` directory. To run them dynamically, you'll need to install Docker and run `just notebooks` before opening up your local browser to http://localhost:8888. The password is `bokchoy`.
## Features
### Fully type annotated
`pysparkplug`'s various interfaces are fully type annotated.
Raw data
{
"_id": null,
"home_page": null,
"name": "pysparkplug",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "automation, manufacturing, mqtt, sparkplug",
"author": null,
"author_email": "Matt Fay <matt.e.fay@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b4/83/f4fea0f1ccf8b72572093111a77acbf3c0be4f7f4ae2f6301e4b95d46cd3/pysparkplug-0.6.0.tar.gz",
"platform": null,
"description": "# **PySparkplug**: Sparkplug B for Python\n\n[](https://github.com/matteosox/pysparkplug/actions/workflows/cicd.yaml)\n[](https://pysparkplug.mattefay.com)\n[](https://pepy.tech/project/pysparkplug)\n[](https://pypi.org/project/pysparkplug/)\n[](https://codecov.io/gh/matteosox/pysparkplug)\n\n## Getting Started\n\n### Installation\n\n`pysparkplug` is a pip-installable package [hosted on PyPI](https://pypi.org/project/pysparkplug/). Getting started is as easy as:\n\n```console\n$ pip install pysparkplug\n```\n\n`pysparkplug` uses the Eclipse Paho\u2122 MQTT Python Client, i.e. [`paho-mqtt`](https://github.com/eclipse/paho.mqtt.python), for low-level MQTT communication.\n\n### Usage\n\nSimple demos of the `EdgeNode`, `Device`, and `Client` classes publishing and subscribing all supported payloads and metric datatypes can be found in the `notebooks` directory. To run them dynamically, you'll need to install Docker and run `just notebooks` before opening up your local browser to http://localhost:8888. The password is `bokchoy`.\n\n## Features\n\n### Fully type annotated\n\n`pysparkplug`'s various interfaces are fully type annotated.\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "An open-source, Python implementation of Sparkplug B, an MQTT topic and payload definition standard",
"version": "0.6.0",
"project_urls": {
"Bug Report": "https://github.com/matteosox/pysparkplug/issues/new/choose",
"Changelog": "https://pysparkplug.mattefay.com/en/stable/changelog.html",
"Documentation": "https://pysparkplug.mattefay.com",
"Feature Request": "https://github.com/matteosox/pysparkplug/issues/new/choose",
"Source": "https://github.com/matteosox/pysparkplug"
},
"split_keywords": [
"automation",
" manufacturing",
" mqtt",
" sparkplug"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "107b4ad2b97eaeb9630ec63016d1618eaedfff5966493fda73203a2cfd94bc0c",
"md5": "709c9b6415057d3d4b834dca32541b1a",
"sha256": "582279d9179e8effdd828cf3926af9dd49b9d30275d4279a02b2ddfedb83393f"
},
"downloads": -1,
"filename": "pysparkplug-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "709c9b6415057d3d4b834dca32541b1a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 31709,
"upload_time": "2025-02-17T01:42:30",
"upload_time_iso_8601": "2025-02-17T01:42:30.870651Z",
"url": "https://files.pythonhosted.org/packages/10/7b/4ad2b97eaeb9630ec63016d1618eaedfff5966493fda73203a2cfd94bc0c/pysparkplug-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b483f4fea0f1ccf8b72572093111a77acbf3c0be4f7f4ae2f6301e4b95d46cd3",
"md5": "8417f21dc7488d0d4c6c41e154e4d8cd",
"sha256": "fa0c148f52798ca875fda2493c0373103e64bfebce78a76af94a2c2178a5b4ee"
},
"downloads": -1,
"filename": "pysparkplug-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "8417f21dc7488d0d4c6c41e154e4d8cd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 259828,
"upload_time": "2025-02-17T01:42:32",
"upload_time_iso_8601": "2025-02-17T01:42:32.600110Z",
"url": "https://files.pythonhosted.org/packages/b4/83/f4fea0f1ccf8b72572093111a77acbf3c0be4f7f4ae2f6301e4b95d46cd3/pysparkplug-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 01:42:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "matteosox",
"github_project": "pysparkplug",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pysparkplug"
}