Skip to main content

aio_sf_streaming is a simple Python 3.6 asyncio library allowing to connect and receive live notifications from Salesforce.

Project description

aio-sf-streaming

Last release Documentation Status Build Coverage Maintainability Requirements Status MIT license

aio-sf-streaming is a simple Python 3.6 asyncio library allowing to connect and receive live notifications from Salesforce. This library is provided to you by papernest.

See The Force.com streaming API developer guide for more information about the different uses cases and how configure your Salesforce organization.

Feature

  • asyncio compatible library
  • Authentication with username/password or refresh token
  • Subscribe to push topics and custom events
  • Receive events pushed by Salesforce
  • Auto-reconnect after too many time of inactivity
  • Replay support: replay events missed while your client is disconnected (see Force.com documentation for more information).

aio-sf-streaming only support Python 3.6.

Getting started

Simple use case:

import asyncio
from aio_sf_streaming import SimpleSalesforceStreaming

async def print_event():
    # Create client and connect
    async with SimpleSalesforceStreaming(
                    username='my-username',
                    password='my-password',
                    client_id='my-client-id',
                    client_secret='my-client-secret') as client:
        # Subscribe to some push topics
        await client.subscribe('/topic/Foo')
        await client.subscribe('/topic/Bar')
        async for message in client.events():
            print(message)
            # client will wait indefinitely, you can ask to exit
            if message['channel'] == '/topic/Bar':
                break
            else:
                # You can unsubscribe when you want, too
                await client.unsubscribe('/topic/Foo')

loop = asyncio.get_event_loop()
loop.run_until_complete(print_event())

Installation

Simply use pip:

$ pip install aio-sf-streaming

Evolution

The library work well for our use-case then we does not plan a lot of new features.

Contributing

If you find any problem, feel free to fill an issue. Pull-Request are also welcomed.

You can install development dependencies with:

$ pip install -e .[tests,docs]

Release history

  • v. 0.2.0: Add refresh token authentication
  • v. 0.1.1: Add documentation and initial typing information.
  • v. 0.1.0: Initial release.

License

aio-sf-streaming is offered under the MIT license.

Project details


Release history Release notifications

This version
History Node

0.2.0

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
aio_sf_streaming-0.2.0-py3-none-any.whl (26.8 kB) Copy SHA256 hash SHA256 Wheel py3 Mar 28, 2018
aio_sf_streaming-0.2.0.tar.gz (21.7 kB) Copy SHA256 hash SHA256 Source None Mar 28, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page