Skip to main content

The MQTTv5 protocol for Python written in Rust

Project description

mqtt5

A sans-I/O implementation of the MQTTv5 protocol for Python written in Rust. Serialization is ~5x faster and deserialization ~20x faster than comparable Python code (benchmarked against mqttproto).

Reading/Writing a QoS=1 Publish packet with a 256 bytes payload.

Write a packet

import mqtt5

buffer = bytearray(1024)
n = mqtt5.ConnectPacket(client_id="Bulbasaur").write(buffer)

Read a packet

import mqtt5

buffer = bytearray(b"\x20\x03\x00\x00\x00")
packet, n = mqtt5.read(buffer)

Installation

pip install mqtt5

Documentation

See the stub file for an API reference and the MQTTv5 specification for details about the de/serialization.

Versioning

This project adheres to Semantic Versioning.

Changelog

See CHANGELOG.md, which follows the principles of Keep a Changelog.

Acknowledgments

mqtt5 was inspired by Brett Cannon's sans-I/O documentation. I've also learned a lot from Alex Grönholm's mqttproto, which is an excellent pure-Python MQTTv5 protocol implementation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqtt5-0.1.0.tar.gz (65.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mqtt5-0.1.0-cp310-abi3-win_amd64.whl (233.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

mqtt5-0.1.0-cp310-abi3-win32.whl (221.5 kB view details)

Uploaded CPython 3.10+Windows x86

mqtt5-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl (494.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

mqtt5-0.1.0-cp310-abi3-musllinux_1_2_i686.whl (526.3 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

mqtt5-0.1.0-cp310-abi3-musllinux_1_2_armv7l.whl (572.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

mqtt5-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl (483.3 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

mqtt5-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

mqtt5-0.1.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (346.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

mqtt5-0.1.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (438.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

mqtt5-0.1.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (308.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

mqtt5-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (303.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

mqtt5-0.1.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (350.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

mqtt5-0.1.0-cp310-abi3-macosx_11_0_arm64.whl (299.5 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

mqtt5-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl (317.0 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file mqtt5-0.1.0.tar.gz.

File metadata

  • Download URL: mqtt5-0.1.0.tar.gz
  • Upload date:
  • Size: 65.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for mqtt5-0.1.0.tar.gz
Algorithm Hash digest
SHA256 97efe2aca088f4f0e77b00223add2c162e7afb646fb05a021c8505e070a952f5
MD5 3715c59c963b8aaecb8807547d94e796
BLAKE2b-256 b2309b29c0a95f59237b18bfa50d457d0c4e231012459dd6df58a094c2b7854f

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: mqtt5-0.1.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 233.4 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 716cc99b704e2490e8329d458b13da2a5ab1b546d69ca07c670f7acf464b6567
MD5 452c59b8bbbfbcafde8a74a8689536bc
BLAKE2b-256 dc22c8bd80282e16073c17f7cf6616fd92b5235e2cbc4ecb46474f27158ed8c9

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-win32.whl.

File metadata

  • Download URL: mqtt5-0.1.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 221.5 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 7693c53db7c6d2b51f0639c3440514bdb3ec94e7f45895e0ff62bf2d15bd9002
MD5 6d76cd98f0d09cda1d1066c061591662
BLAKE2b-256 6e1ed1ef82d439b0bf3b0f73087d5660ac844db12191c4334d1da537671d083c

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b10fad9498c8efbfeedd36385731e55a89606d40599b65eb5a5aca3f40c7fa3b
MD5 91670de65ac043fbd4e64a25fa107056
BLAKE2b-256 8282547309f26987d030e2e7ff9ddc02328173240d5733674865969ef89edb85

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6dc5644c99d4ee180482639a04e102cf8bea4ee281d30b08e86b630775fd91e9
MD5 5778fb527b9b78de50680107ee54bfca
BLAKE2b-256 0974c8856130eeb3e22c46ce1f76174385fa997b5ec6f3fdbf92138b969d7b1e

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 bade16943a8fe43a5af917d7039d438727eb905c90ccce61800279af9732040b
MD5 186875adf7c0c2b3cf9ecc7d2360fece
BLAKE2b-256 8560f333b00ae98772ab15671e36144b275f75867e09194007520996c6041f6b

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1160da81d76a125de56f1211f4d92e356c84b411c08dc75a68a3f524acd7d2f3
MD5 a2324035910412fcff1258a45becb17c
BLAKE2b-256 63b669881701d3904f99daa0ea436fe80aff6fc4bff03f3f25e96ccc38697de7

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee10687d8b588f8af985c78e110219332806ed849b0fc96d4833fe77b1f2578f
MD5 88b9e93fce0236a4ac9a4f827dae6145
BLAKE2b-256 439610f92c2f2b0c1c0cda99292e7f943f40ad4a4156cccfb890d9771c46c053

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fcfb94f2df160b91cc69ee896a245a09e36b3dcd9968261791d562d10f6a73c4
MD5 07e34579ab8ee6a9a186bc2a5132139e
BLAKE2b-256 b026d14bbeb1fea41a16b990e991973419a4ae1bd02aa80c6c7901e21403779e

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8bced9231f950c75568459794c1364c71fe3dcd0e34925bd3c3e27046ec84460
MD5 6d00ee393134b5ff3ec3c5d80d3ab060
BLAKE2b-256 df7cf42289ee5a83bcad8e21a53b777e130664395b47361f2ae9756bef075706

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e2f08e24794852c945e496fd86dd643778f9355172383ac7753e0a5bfebcfa62
MD5 51d21c7aaf082c82adccf204ef3257e7
BLAKE2b-256 c0b0baa6fc04d20c4f04ad1ec2245b80b249ac075685cfa8d9525f0017e48458

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0e40016505eebb48418ac77c7b51a7b3cb1b246670826ef542ea0bad40d76c35
MD5 bf5ed246517b9fb20a52c8d55d6d558e
BLAKE2b-256 dfb03cbc67ee4f79a807e157482d0988b977dedca646e4847ee37fd2f050f1ef

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3b9a3e57269f4bb9afbf4e4e0764a170758258e551827a94925e05f285658253
MD5 0c573ea288b25222e5ac006c6a2e9db0
BLAKE2b-256 74b7cddd5795f36f32baedcea16d021b26345ca62f337a48cfb7121a409f6720

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0e58017b2d80ed64c6848b7997cd051e93e135a87f771370cb8b070eb44401d
MD5 ec065e28f494d6463f15e6fa770c3897
BLAKE2b-256 257af851e3a296314f77461f85e1b571e867ee1e18f4b40c7de4b032e60675f3

See more details on using hashes here.

File details

Details for the file mqtt5-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mqtt5-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 13064cd5c0a12d9f85071399e448d2f504ccdefbe69cef035619d0d73588304b
MD5 12d5e1169115ba7c04bfa29bf4a03c56
BLAKE2b-256 817540be8b3f741cec682eb81c2c7c5ab662c742a522266bf2f42b1bf0472169

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page