Solace PubSub+ Messaging API for Python.
Project description
This package contains the Solace PubSub+ Messaging API for Python.
The Solace PubSub+ Messaging API for Python is developed and supported by the Solace Corporation.
The API provides access to Solace PubSub+ Messaging Service, supporting a variety of Message Exchange Patterns.
Installation
Install the API using pip: pip install solace-pubsubplus
Dependencies
Solace PubSub+ Messaging API for Python requires Python 3.6 or greater.
Documentation
An online reference for the API is available at docs.solace.com.
Introduction
There are four primary objects in the PubSub+ Messaging API for Python that applications can use, which are as follows:
MessagingService
from solace.messaging.messaging_service import MessagingService
The starting point for all client-broker connections. MessagingService
defines and controls the connection to the Solace PubSub+ Event Broker.
A MessagingService
object is created by the MessagingServiceBuilder
.
MessagePublisher
from solace.messaging.publisher.message_publisher import MessagePublisher
The abstract base class for a Message Publisher (MessagePublisher
). Applications do not build MessagePublisher
objects directly, rather an application will invoke a builder.
for one of two derived objects:
DirectMessagePublisher
: Created by aDirectMessagePublisherBuilder
.DirectMessagePublisher
send messages that are not acknowledged and are not stored on the Solace PubSub+ Event Broker. This is the fastest delivery path because messages are never queued and therefore cannot be delivered to offlineMessageReceiver
at a later time. Messages published byDirectMessagePublisher
are eligible for discard when network congestion occurs.PersistentMessagePublisher
: Created by aPersistentMessagePublisherBuilder
.PersistentMessagePublisher
sends messages that are guaranteed to be delivered toMessageReceiver
, even if theMessageReceiver
object is offline. PubSub+ Event Broker stores the messages until they are delivered and consumed by all subscribing receivers.
MessageReceiver
from solace.messaging.receiver.message_receiver import MessageReceiver
The abstract base class for a Message Receiver (Message Receiver
). Applications do not build MessageReceiver
objects directly, rather an application will invoke a builder for one of two derived objects:
DirectMessageReceiver
: Created by aDirectMessageReceiverBuilder
.DirectMessgeReceiver
consumes messages as they are published.DirectMessageReceiver
will not receive messages published before the receiver is created or while the receiver is offline.DirectMessageReceiver
is not required to acknowledge received messages.DirectMessageReceiver
may receive messages from any publisher (persistent or direct), but only while theDirectMessageReceiver
is online.PersistentMessageReceiver
: Created by aPersistentMessageReceiverBuilder
.PersistentMessageReceiver
consume messages from a queue created on the Solace Pubsub+ Event broker. When the queue is created and subscriptions applied, it will begin storing messages, even ifPersistentMessageReceiver
is offline. Messages are stored until delivered to thePersistentMessageReceiver
and thePersistentMessageReceiver
acknowledges the message.PersistentMessageReceiver
is responsible for acknowledging messages received to remove them from the PubSub+ Event Broker Queue.
Message
from solace.messaging.core.message import Message
The abstract base class for a Message
. Applications do not build a Message
object directly, rather an application will invoke a builder for an OutboundMessage
(for publish) or
receive an InboundMessage
(from a MessageReceiver
).
Samples
Sample applications are available at the Solace Developer Community
multiprocessing
Solace PubSub+ Messaging API for Python cannot be used in applications that use the Python multiprocessing module.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for solace_pubsubplus-1.9.0-py36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a60eb95536b890e83479e130376bb6851ea0f645692ae9c726b1bb88f0beacb |
|
MD5 | 70486d93611c0a769cf42b0e734cb86f |
|
BLAKE2b-256 | 70482ac4f7c9f14aeef764a632a6e0cd3ee97c51aa874a8af708b3f4b382fb3c |
Hashes for solace_pubsubplus-1.9.0-py36-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07920b16a1cc5d0faa5d8c538054ec3924b00aff653dd1c43501ca9d7439a4f7 |
|
MD5 | ca4af039ed4a78d2a519f474e3a68348 |
|
BLAKE2b-256 | f75d8cfdfbe91b314496b66241d3031a1a67488eb0cc4c57fc71a7c61ad2a4e5 |
Hashes for solace_pubsubplus-1.9.0-py36-none-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc4d5029068552446e94083ce8465638f3ad0fd89e8b1d07fabf4faa3a896c36 |
|
MD5 | d5c0ad6791096b7e062c54484756096f |
|
BLAKE2b-256 | f6bb9946cd8814eb7e1de0a2afbe838a9566b5089ebab80b18817af55b981149 |
Hashes for solace_pubsubplus-1.9.0-py36-none-manylinux_2_17_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7925960f6f4cc2abf09d9fd69791cafa36b8483bdaddd79a8573b02b322170d4 |
|
MD5 | 25a438daec1af475430e963151ff1c0c |
|
BLAKE2b-256 | 4ab10974464f818f9384dd6129bfb07187d6c56a332c7c552a288cbf2474a202 |
Hashes for solace_pubsubplus-1.9.0-py36-none-manylinux_2_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eebb9635f1518a3836f31cf955961790830218d4ccca32ef2c389225fed2ea4 |
|
MD5 | 0da03e92748a3215943f883d84b4fbf5 |
|
BLAKE2b-256 | 5e33e5923f962b89b5a63eac2c0f7493abb53e7a1054a1da580c0037fd51713f |
Hashes for solace_pubsubplus-1.9.0-py36-none-macosx_11_0_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68b2893a876c41b0eeec8fa96a2edec0f556b6f8d992db322a44eb6516912f93 |
|
MD5 | 574f9e2c3fc4327ed852b56c5b08c384 |
|
BLAKE2b-256 | 2cad993040787f5830bf376f24393eb6da3e1ce10ba80a40e2a996a347508616 |