Getting Started

Setup

The official Python SDK for Stream covers Chat, Video, Moderation, and Feeds.

Install the SDK:

pip install getstream

Initialize the client with your API key and secret (available on the Dashboard):

from getstream import Stream

client = Stream(api_key="your-api-key", api_secret="your-api-secret")

The client also auto-loads STREAM_API_KEY and STREAM_API_SECRET from the environment or a .env file:

client = Stream()

Server-side Token

Your backend generates a user token that the client SDKs use to authenticate. A typical place to issue this token is during login or registration.

token = client.create_token(user_id="user-id")
# return the token to the client app

Tokens with an expiry (in seconds):

token = client.create_token(user_id="user-id", expiration=3600)

Making Your First API Call

Create a user, open a channel, and send a message:

from getstream.models import UserRequest, ChannelInput, MessageRequest

# Upsert a user
client.upsert_users(
    UserRequest(id="john", name="John")
)

# Create or join a channel
channel = client.chat.channel("messaging", "hello-world")
channel.get_or_create(data=ChannelInput(created_by_id="john"))

# Send a message
channel.send_message(
    MessageRequest(text="Hello, Stream!", user_id="john")
)