Salesforce Streaming API client for asyncio
Project description
aiosfstream
aiosfstream is a Salesforce Streaming API client for asyncio. It can be used to receive push notifications about changes on Salesforce objects or notifications of general events sent through the Streaming API.
For detailed guidance on how to work with PushTopics or how to create Generic Streaming Channels please consult the Streaming API documentation. For working with Platform Events or Change Data Capture events check out the linked documentation.
Features
- Supported authentication types:
using a username and password
using a refresh token
- Subscribe to and receive messages on:
Support for durable messages and replay of events
Automatic recovery from replay errors
Usage
import asyncio
from aiosfstream import SalesforceStreamingClient
async def stream_events():
# connect to Streaming API
async with SalesforceStreamingClient(
consumer_key="<consumer key>",
consumer_secret="<consumer secret>",
username="<username>",
password="<password>") as client:
# subscribe to topics
await client.subscribe("/topic/one")
await client.subscribe("/topic/two")
# listen for incoming messages
async for message in client:
topic = message["channel"]
data = message["data"]
print(f"{topic}: {data}")
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(stream_events())
Documentation
Changelog
0.5.0 (2019-03-08)
Add support for Change Data Capture events
Fix some typos in the documentation
0.4.0 (2019-01-06)
Add type hints
Configurable replay storage behavior
0.3.0 (2018-11-07)
Add support for sandbox orgs
0.2.5 (2018-11-06)
Add missing changelog entries
0.2.4 (2018-11-06)
Fix platform event message creation date extraction issue
0.2.3 (2018-09-19)
Fix asynchronous iterator bug in python 3.7
0.2.2 (2018-06-15)
Update aiocometd dependency to 0.3.1
0.2.1 (2018-05-25)
Fix replay issues on mass record delete operations
Improve the documentation of the Client.publish method
0.2.0 (2018-05-05)
Enable the usage of third party JSON libraries
Expose authentication results as public attributes in Authenticator classes
0.1.0 (2018-04-26)
- Supported authentication types:
using a username and password
using a refresh token
- Subscribe to and receive messages on:
Support for durable messages and replay of events
Automatic recovery from replay errors
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aiosfstream-ng-0.7.5.tar.gz
.
File metadata
- Download URL: aiosfstream-ng-0.7.5.tar.gz
- Upload date:
- Size: 64.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b89983d99cce992c65771023ece8c7a6dc0e6938eab38ee8b3ace2fae974866f |
|
MD5 | 54596e5a522fe8cc039a286f995cf6bf |
|
BLAKE2b-256 | b4dddcf5a16177648410a1a8c7b29453c83569bf46b1ed9902ca03068d80c831 |
File details
Details for the file aiosfstream_ng-0.7.5-py3-none-any.whl
.
File metadata
- Download URL: aiosfstream_ng-0.7.5-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c9cfe6762609da2cbbbe8de1b86738aab3898055b5dc5c01d4efcfad719fedc |
|
MD5 | 662c072194b0785feef78049d8013752 |
|
BLAKE2b-256 | 83bec92c69bfe3d20cd16686f4fbb96bee76e3633d7adfc7b0f238fdc85ea452 |