Skip to main content

amgi-paho-mqtt

amgi-paho-mqtt is an AMGI compatible server to run AMGI applications against MQTT.

Installation

pip install amgi-paho-mqtt==0.50.0

Example

This example uses AsyncFast:

from dataclasses import dataclass

from amgi_paho_mqtt import run
from asyncfast import AsyncFast

app = AsyncFast()


@dataclass
class Order:
    item_ids: list[str]


@app.channel("order-topic")
async def order_topic(order: Order) -> None:
    # Makes an order
    ...


if __name__ == "__main__":
    run(app, "order-topic")

Or the application could be run via the commandline:

asyncfast run amgi-paho-mqtt main:app order-topic

Sending Messages

Messages can be sent from the application via the message.send event. The mqtt binding of the event controls the send:

await send(
    {
        "type": "message.send",
        "address": "order-topic",
        "headers": [(b"trace-id", b"abc123")],
        "payload": b"payload",
        "bindings": {"mqtt": {"qos": 1, "retain": False}},
    }
)

qos sets the MQTT QoS level (defaults to 0), and retain marks the message as retained (defaults to False). With MQTT v5, message headers are sent as user properties, with content-type mapped to the MQTT content type property. MQTT v3.1.1 has no way to represent headers, so they are dropped.

Contact

For questions or suggestions, please contact jack.burridge@mail.com.

License

Copyright 2025 AMGI

Metadata

Release files for amgi-paho-mqtt 0.50.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for amgi-paho-mqtt 0.50.0
File Interpreter ABI Platform
amgi_paho_mqtt-0.50.0-py3-none-any.whl Python 3 none any Details

Release files / amgi_paho_mqtt-0.50.0-py3-none-any.whl

Download URL amgi_paho_mqtt-0.50.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7a3e547b108f98c49c55198579b45059937d688a653ac820502ef4670cbfd3c
BLAKE2b-256 checksum
How to use checksums
f8a18951c406f2e3d672bd2367915bcd6a35f4f3d8bbbf3aef2ae7110b5d5f06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for amgi-paho-mqtt 0.50.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.50.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page