PySide6-PahoMqtt


NamePySide6-PahoMqtt JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryThis is a wrapping class for using paho-mqtt(V2.x) in pyside6.
upload_time2024-12-10 04:31:15
maintainerNone
docs_urlNone
authorchanmin.park
requires_python>=3.8
licenseNone
keywords pyside6 paho-mqtt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            This is a wrapping class for using paho-mqtt(V2.x) in pyside6.

### History
- V0.1.0
  - Convert paho-mqtt callbacks to qt signal-slots
  - Add wrapper method for paho-mqtt

### Install
```sh
pip install PySide6-PahoMqtt
```

### Example
```python
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.PahoMqtt import Client

class UI(QMainWindow):
    def __init__(self):
        super().__init__()
        
        self.mqtt = Client()
        self.mqtt.on_connect.connect(self.onConnect)
        self.mqtt.on_connect_fail.connect(self.onConnectFail)
        self.mqtt.on_disconnect.connect(self.onDisconnect)
        self.mqtt.on_publish.connect(self.onPublish)
        self.mqtt.on_subscribe.connect(self.onSubscribe)
        self.mqtt.on_message.connect(self.onMessage)
        self.mqtt.connection("mqtt.eclipseprojects.io")

    def closeEvent(self, event):
        print("Window is closing")
        self.mqtt.disconnection()
        event.accept()
        
    def onConnect(self, connect_flags, reason_code, properties):
        print(f"connect: {connect_flags}, {reason_code}, {properties}")
        
        if reason_code == 0:
            self.mqtt.subscribe("planxlabs/#")
            self.mqtt.publish("planxlabs/test", {"data": "Hello World"})
        else:
            print("fail")
    
    def onConnectFail(self):
        print("connect fail")   
        
    def onDisconnect(self, disconnect_flags, reason_code):
        print(f"disconnect: {disconnect_flags}, {reason_code}")   
                
    def onPublish(self, mid, reason_code):
        print(f"publish: {mid}, {reason_code}")
    
    def onSubscribe(self, mid, reason_code_list):
        print(f"subscribe: {mid}, {reason_code_list}")
    
    def onMessage(self, topic, payload, qos, retain, properties):
        print(f"message: {topic}, {payload}, {qos}, {retain}, {properties}")

if __name__ == "__main__":                            
    app = QApplication([])
    win = UI()
    win.show()
    app.exec()   
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "PySide6-PahoMqtt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "PySide6, paho-mqtt",
    "author": "chanmin.park",
    "author_email": "devcamp@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/38/3c/cc3b6398abf0e2ee519cbd628b75dd2a61f3fea4a793a87565f73066aedd/pyside6_pahomqtt-0.1.1.tar.gz",
    "platform": null,
    "description": "This is a wrapping class for using paho-mqtt(V2.x) in pyside6.\r\n\r\n### History\r\n- V0.1.0\r\n  - Convert paho-mqtt callbacks to qt signal-slots\r\n  - Add wrapper method for paho-mqtt\r\n\r\n### Install\r\n```sh\r\npip install PySide6-PahoMqtt\r\n```\r\n\r\n### Example\r\n```python\r\nfrom PySide6.QtWidgets import QApplication, QMainWindow\r\nfrom PySide6.PahoMqtt import Client\r\n\r\nclass UI(QMainWindow):\r\n    def __init__(self):\r\n        super().__init__()\r\n        \r\n        self.mqtt = Client()\r\n        self.mqtt.on_connect.connect(self.onConnect)\r\n        self.mqtt.on_connect_fail.connect(self.onConnectFail)\r\n        self.mqtt.on_disconnect.connect(self.onDisconnect)\r\n        self.mqtt.on_publish.connect(self.onPublish)\r\n        self.mqtt.on_subscribe.connect(self.onSubscribe)\r\n        self.mqtt.on_message.connect(self.onMessage)\r\n        self.mqtt.connection(\"mqtt.eclipseprojects.io\")\r\n\r\n    def closeEvent(self, event):\r\n        print(\"Window is closing\")\r\n        self.mqtt.disconnection()\r\n        event.accept()\r\n        \r\n    def onConnect(self, connect_flags, reason_code, properties):\r\n        print(f\"connect: {connect_flags}, {reason_code}, {properties}\")\r\n        \r\n        if reason_code == 0:\r\n            self.mqtt.subscribe(\"planxlabs/#\")\r\n            self.mqtt.publish(\"planxlabs/test\", {\"data\": \"Hello World\"})\r\n        else:\r\n            print(\"fail\")\r\n    \r\n    def onConnectFail(self):\r\n        print(\"connect fail\")   \r\n        \r\n    def onDisconnect(self, disconnect_flags, reason_code):\r\n        print(f\"disconnect: {disconnect_flags}, {reason_code}\")   \r\n                \r\n    def onPublish(self, mid, reason_code):\r\n        print(f\"publish: {mid}, {reason_code}\")\r\n    \r\n    def onSubscribe(self, mid, reason_code_list):\r\n        print(f\"subscribe: {mid}, {reason_code_list}\")\r\n    \r\n    def onMessage(self, topic, payload, qos, retain, properties):\r\n        print(f\"message: {topic}, {payload}, {qos}, {retain}, {properties}\")\r\n\r\nif __name__ == \"__main__\":                            \r\n    app = QApplication([])\r\n    win = UI()\r\n    win.show()\r\n    app.exec()   \r\n```\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This is a wrapping class for using paho-mqtt(V2.x) in pyside6.",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "pyside6",
        " paho-mqtt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd4f621cb382a36c38ae744f419fb34c59f4b2dc77a73654a3d959c5e0426e70",
                "md5": "9e75ac334915b9b3cbbcadd59d575628",
                "sha256": "d347d4c4b43aa9170e3694a16b1adf25ffa0ecc9e6d1eef7ccaf030439b8365a"
            },
            "downloads": -1,
            "filename": "PySide6_PahoMqtt-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9e75ac334915b9b3cbbcadd59d575628",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4701,
            "upload_time": "2024-12-10T04:31:13",
            "upload_time_iso_8601": "2024-12-10T04:31:13.176630Z",
            "url": "https://files.pythonhosted.org/packages/fd/4f/621cb382a36c38ae744f419fb34c59f4b2dc77a73654a3d959c5e0426e70/PySide6_PahoMqtt-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "383ccc3b6398abf0e2ee519cbd628b75dd2a61f3fea4a793a87565f73066aedd",
                "md5": "239f5a945c8241f0437e5d2c0ee89301",
                "sha256": "07e6f18b8cfb1357868371412f22fa389ad446033e06e3a0930ea60b2a03ed3f"
            },
            "downloads": -1,
            "filename": "pyside6_pahomqtt-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "239f5a945c8241f0437e5d2c0ee89301",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 3249,
            "upload_time": "2024-12-10T04:31:15",
            "upload_time_iso_8601": "2024-12-10T04:31:15.524159Z",
            "url": "https://files.pythonhosted.org/packages/38/3c/cc3b6398abf0e2ee519cbd628b75dd2a61f3fea4a793a87565f73066aedd/pyside6_pahomqtt-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-10 04:31:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyside6-pahomqtt"
}
        
Elapsed time: 1.62760s