Stream Python Client

5.4.0 · active · verified Sun Apr 12

Client for getstream.io, enabling developers to build scalable newsfeeds and activity streams. The library provides functionality to interact with Stream's API for feed management, activity posting, and user token generation. Currently at version 5.4.0, it maintains an active development pace with several releases per year, including minor updates and occasional major feature additions.

Warnings

Install

Imports

Quickstart

Connects to the Stream API using environment variables for credentials, initializes a user feed, adds a simple activity, and then retrieves it to confirm.

import stream
import os

# Get your API key and secret from getstream.io/dashboard
STREAM_API_KEY = os.environ.get('STREAM_API_KEY', 'YOUR_STREAM_API_KEY')
STREAM_API_SECRET = os.environ.get('STREAM_API_SECRET', 'YOUR_STREAM_API_SECRET')

# Connect to the Stream API
client = stream.connect(STREAM_API_KEY, STREAM_API_SECRET)

# Get a user feed
user_feed = client.feed('user', 'john-doe')

# Add an activity to the feed
activity_data = {
    'actor': 'john-doe',
    'verb': 'post',
    'object': '1',
    'foreign_id': 'post:1',
    'message': 'Hello world from Stream!'
}
response = user_feed.add_activity(activity_data)
print(f"Activity added: {response['id']}")

# Read activities from the feed (optional, for demonstration)
activities = user_feed.get(limit=1)['results']
if activities:
    print(f"Retrieved activity: {activities[0]['message']}")

view raw JSON →