Python (Beta)
Installing
The SDK is available on PyPI, so you can install it using pip:
Basic Usage
Importing
The main components are available directly from the sailhouse
package.
Initialising the Client
The package provides a SailhouseClient
class which contains all methods for interacting with the Sailhouse platform.
After generating a token, you can create a client instance:
The client can be customised with optional parameters:
timeout
: Request timeout in seconds (default: 5.0)
Sending an event
Use the publish()
method to send data to a topic. The method is async, so you’ll need to use it with await
:
The data
argument must be a dictionary that can be serialized to JSON. The method also accepts optional parameters:
scheduled_time
: A datetime object for scheduled message deliverymetadata
: Additional metadata as a dictionary
Receiving events from a pull subscription
The get_events()
method allows you to fetch events from a subscription:
The get_events()
method accepts several optional parameters:
limit
: Maximum number of events to retrieveoffset
: Number of events to skiptime_window
: Time window for event retrieval (e.g., “1h”, “24h”)
Subscribing to events
The SDK provides a convenient way to continuously process events using the subscribe()
method:
The subscribe()
method accepts several parameters:
handler
: Callback function to process each eventpolling_interval
: Time between polling attempts in seconds (default: 5.0)on_error
: Optional error handler functionexit_on_error
: Whether to exit on error (default: False)