The stompypy is a simple implementation of the STOMP (Simple Text Oriented Messaging Protocol) protocol. It provides an easy way to connect to and exchange STOMP frames with a STOMP server.
To install the stompypy package, you can use pip:
pip install stompypy
Here's an example demonstrating how to use the Stomp
class to interact with a STOMP server:
import time
from stompypy import Listener
from stompypy import Stomp
class MyListener(Listener):
def on_disconnect(self):
print('Disconnected')
def on_connect(self):
print('Connected')
def on_message(self, frame) -> None:
print('Message:', frame.body)
if __name__ == '__main__':
# Create a STOMP connection to the server
connection = Stomp.create_connection(host='localhost', port=61613)
# Add listener
connection.add_listener(MyListener())
# Connect to the STOMP server
connection.connect()
# Subscribe to a destination
connection.subscribe(id='1', destination='/queue/example', ack_mode='auto')
# Send a message to the destination
connection.send(destination='/queue/example', content_type='text/plain', body=f'Hello World!')
time.sleep(1)
# Disconnect from the server
connection.disconnect()
ack(message_id: str, transaction: Optional[str] = None) -> None
: Sends an ACKNOWLEDGE command to confirm receipt of a message.abort(transaction: str) -> None
: Sends an ABORT command to roll back a transaction.begin(transaction: str) -> None
: Sends a BEGIN command to start a transaction.commit(transaction: str) -> None
: Sends a COMMIT command to confirm a transaction.connect(host: Optional[str] = '/', accept_version: str = '1.2', login: Optional[str] = None, passcode: Optional[str] = None, heart_beat: Optional[Tuple[int, int]] = (0, 0)) -> None
: Connects to the STOMP server with the provided options.disconnect(receipt_id: Optional[str] = None) -> None
: Disconnects from the STOMP server.nack(message_id: str, transaction: Optional[str] = None) -> None
: Sends a NEGATIVE ACKNOWLEDGE command to deny receipt of a message.send(destination: str, content_type: str, body: str, transaction: Optional[str] = None) -> None
: Sends a message to the specified destination.subscribe(id: str, destination: str, ack_mode: str) -> None
: Subscribes to a destination with the specified ACKNOWLEDGE mode.unsubscribe(id: str) -> None
: Unsubscribes from a destination.
For more information about the STOMP protocol, refer to the STOMP 1.2 Specification.
- More comprehensive documentation
- Improved connection resilience
- Enhance communication via SSL/TLS