aiomqtt 2.4.0
pip install aiomqtt
Released:
The idiomatic asyncio MQTT client
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: BSD License
- Author: Frederik Aalund
- Tags asyncio, internet-of-things, iot, mqtt, mqttv5, paho-mqtt
- Requires: Python <4.0, >=3.8
Classifiers
- Development Status
- Intended Audience
- License
- Operating System
- Programming Language
Project description
The idiomatic asyncio MQTT client 🙌
Documentation: https://aiomqtt.bo3hm.com
Write code like this:
Publish
async with Client("test.mosquitto.org") as client:
await client.publish("temperature/outside", payload=28.4)
Subscribe
async with Client("test.mosquitto.org") as client:
await client.subscribe("temperature/#")
async for message in client.messages:
print(message.payload)
Key features
- No more callbacks! 👍
- No more return codes (welcome to the
MqttError
) - Graceful disconnection (forget about
on_unsubscribe
,on_disconnect
, etc.) - Supports MQTT versions 5.0, 3.1.1 and 3.1
- Fully type-hinted
- Did we mention no more callbacks?
Installation
pip install aiomqtt
The only dependency is paho-mqtt.
If you can't wait for the latest version, install directly from GitHub with:
pip install git+https://github.com/empicano/aiomqtt
Note for Windows users
Since Python 3.8, the default asyncio event loop is the ProactorEventLoop
. Said loop doesn't support the add_reader
method that is required by aiomqtt. Please switch to an event loop that supports the add_reader
method such as the built-in SelectorEventLoop
:
# Change to the "Selector" event loop if platform is Windows
if sys.platform.lower() == "win32" or os.name.lower() == "nt":
from asyncio import set_event_loop_policy, WindowsSelectorEventLoopPolicy
set_event_loop_policy(WindowsSelectorEventLoopPolicy())
# Run your async application as usual
asyncio.run(main())
License
This project is licensed under the BSD 3-clause License.
Note that the underlying paho-mqtt library is dual-licensed. One of the licenses is the Eclipse Distribution License v1.0, which is almost identical to the BSD 3-clause License. The only differences are:
- One use of "COPYRIGHT OWNER" (EDL) instead of "COPYRIGHT HOLDER" (BSD)
- One use of "Eclipse Foundation, Inc." (EDL) instead of "copyright holder" (BSD)
Contributing
We're happy about contributions to aiomqtt! 🎉 Get started by reading CONTRIBUTING.md.
Versioning
This project adheres to Semantic Versioning. Breaking changes will only occur in major X.0.0
releases.
Changelog
See CHANGELOG.md, which follows the principles of Keep a Changelog.
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: BSD License
- Author: Frederik Aalund
- Tags asyncio, internet-of-things, iot, mqtt, mqttv5, paho-mqtt
- Requires: Python <4.0, >=3.8
Classifiers
- Development Status
- Intended Audience
- License
- Operating System
- Programming Language
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aiomqtt-2.4.0.tar.gz
.
File metadata
- Download URL: aiomqtt-2.4.0.tar.gz
- Upload date:
- Size: 82.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab0f18fc5b7ffaa57451c407417d674db837b00a9c7d953cccd02be64f046c17 |
|
MD5 | 9ded3fea036dc979d7855a6b3fd1dc33 |
|
BLAKE2b-256 | 459a863bc34c64bc4acb9720a9950bfc77d6f324640cdf1f420bb5d9ee624975 |
Provenance
The following attestation bundles were made for aiomqtt-2.4.0.tar.gz
:
Publisher:
publish.yml
on empicano/aiomqtt
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
aiomqtt-2.4.0.tar.gz
- Subject digest:
ab0f18fc5b7ffaa57451c407417d674db837b00a9c7d953cccd02be64f046c17
- Sigstore transparency entry: 206523313
- Sigstore integration time:
- Permalink:
empicano/aiomqtt@afe997877bdfd31fd2629f4e254ad07c220aaca0
- Branch / Tag:
refs/tags/v2.4.0
- Owner: https://github.com/empicano
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish.yml@afe997877bdfd31fd2629f4e254ad07c220aaca0
- Trigger Event:
release
- Statement type:
File details
Details for the file aiomqtt-2.4.0-py3-none-any.whl
.
File metadata
- Download URL: aiomqtt-2.4.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 721296e2b79df5f6c7c4dfc91700ae0166953a4127735c92637859619dbd84e4 |
|
MD5 | bb2ea5f92d2b190f1086589201454a2c |
|
BLAKE2b-256 | 980c2720665998d97d3a9521c03b138a22247e035ba54c4738e934da33c68699 |
Provenance
The following attestation bundles were made for aiomqtt-2.4.0-py3-none-any.whl
:
Publisher:
publish.yml
on empicano/aiomqtt
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
aiomqtt-2.4.0-py3-none-any.whl
- Subject digest:
721296e2b79df5f6c7c4dfc91700ae0166953a4127735c92637859619dbd84e4
- Sigstore transparency entry: 206523315
- Sigstore integration time:
- Permalink:
empicano/aiomqtt@afe997877bdfd31fd2629f4e254ad07c220aaca0
- Branch / Tag:
refs/tags/v2.4.0
- Owner: https://github.com/empicano
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish.yml@afe997877bdfd31fd2629f4e254ad07c220aaca0
- Trigger Event:
release
- Statement type: