stomp.py
Python STOMP client, supporting versions 1.0, 1.1 and 1.2 of the protocol
What it is and what it does
stomp.py is a Python client for the STOMP (Streaming Text Oriented Messaging Protocol) messaging standard. It lets you connect to message brokers like ActiveMQ, RabbitMQ, and Artemis to send and receive messages over a network. The library handles the protocol details—connection negotiation, message framing, and acknowledgment—so you write straightforward Python code to interact with your message queue. It supports STOMP versions 1.0, 1.1, and 1.2, and can also run as a standalone command-line tool for testing.
The package has minimal dependencies (just docopt-ng and websocket-client) and is actively maintained for modern Python (3.10–3.14). It's been in use since 2011 and is marked as production-stable. If you need to integrate a Python application with an existing STOMP-based messaging infrastructure, this is the standard choice.
Use it for:
- Connect a Python service to an ActiveMQ or RabbitMQ broker to publish events or subscribe to message queues.
- Build a message-driven microservice that listens for incoming STOMP messages and processes them asynchronously.
- Write a command-line tool to test or debug STOMP message flows without writing application code.
- Integrate legacy messaging systems (that speak STOMP) with modern Python applications.
- Implement request-reply patterns over STOMP for distributed system communication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client library for connecting to STOMP messaging servers (ActiveMQ, RabbitMQ, Artemis) and sending or receiving messages using the STOMP protocol.
Yes. The package is actively maintained, has low install friction, carries a permissive license, and is the standard Python client for STOMP. Install it if you need to communicate with a STOMP message broker. No known vulnerabilities and broad Python version support make it a safe, reliable choice.
Install
stomp-py on PyPI
pip
pip install stomp-pyuv
uv add stomp-pypoetry
poetry add stomp-pyInstalling stomp.py
Before you install
Low friction install with only two runtime dependencies (docopt-ng and websocket-client). Active maintenance with a release within the last 94 days. Supports current Python versions (3.10 through 3.14).
License in practice
Apache-2.0 is a permissive open-source license; you can use this package freely in commercial and private projects with minimal restrictions, provided you include a copy of the license.
Quickstart
import stomp
conn = stomp.Connection()
conn.connect('admin', 'password', wait=True)
conn.send(body='test message', destination='/queue/test')
conn.disconnect()
Requires Python 3.10 or later; a STOMP-compatible message broker (ActiveMQ, RabbitMQ, or Artemis) must be running and accessible.
Verify before relying
- Whether the package supports STOMP protocol versions beyond 1.0, 1.1, and 1.2.
- Performance characteristics and throughput limits for high-volume message scenarios.
- Whether SSL/TLS certificate validation is configurable for secure connections.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — docopt-ng, websocket-client |
| Maintenance | actively maintained — 94 days since the last release |
| First released | |
| Downloads | 1,464,555/month — #3,878 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: stomp_py-9.0.0-py3-none-any.whl
Keywords: stomp, messaging, events, client
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
AMQPStormA thread-safe Python 3 client library for…
permissive · top 15,000 on PyPI
kombuKombu is a messaging library that provides a…
permissive · top 1,000 on PyPI
amqpPure-Python AMQP 0.9.1 client library for…
permissive · top 1,000 on PyPI
python-qpid-protonProvides Python bindings to Qpid Proton, an…
permissive · top 15,000 on PyPI
fedora-messagingProvides tools and APIs for publishing and…
copyleft · top 15,000 on PyPI
pyrabbit2Pyrabbit2 provides a Python interface to the…
permissive · top 15,000 on PyPI
solace-pubsubplusSolace Messaging API for Python provides client…
permissive · top 15,000 on PyPI
ibmmqibmmq provides a Python interface to IBM MQ,…
unclear · top 5,000 on PyPI
pikaPika is a pure-Python AMQP 0-9-1 client library…
permissive · top 5,000 on PyPI
pytest-rabbitmqA pytest plugin that provides fixtures to start…
copyleft · top 15,000 on PyPI