stomp.py
Python STOMP client, supporting versions 1.0, 1.1 and 1.2 of the protocol
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; a STOMP-compatible message broker (ActiveMQ, RabbitMQ, or Artemis) must be running and accessible.
- Low friction install with only two runtime dependencies (docopt-ng and websocket-client).
- Active maintenance with a release within the last 94 days.
License · maintenance · safety
Apache-2.0 (permissive) — 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.
last release 2026-05-12 (94 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,464,555 downloads/mo, #3,878 on PyPI
Alternatives
Verify before relying
import stomp
conn = stomp.Connection()
conn.connect('admin', 'password', wait=True)
conn.send(body='test message', destination='/queue/test')
conn.disconnect()- 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.
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 on it.
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
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).
Requires Python 3.10 or later; a STOMP-compatible message broker (ActiveMQ, RabbitMQ, or Artemis) must be running and accessible.
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()
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 packagesdocopt-ngwebsocket-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 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: stomp_py-9.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “stomp protocol client”
- stomp.pyA Python client library for connecting to STOMP messaging servers…
- python-alfresco-apiA Python client library for Alfresco Content Services REST APIs,…
- hyperhyper is an HTTP/2 client library for Python that provides a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also AMQPStorm · kombu · amqp · python-qpid-proton · fedora-messaging · pyrabbit2 · solace-pubsubplus · ibmmq · pika · pytest-rabbitmq