Skip to content
Stream Chat official Python API Client
Branch: master
Clone or download
Max Klyga
Latest commit d63e323 Jun 27, 2019


Build Status codecov PyPI version PyPI - Python Version

the official Python API client for Stream chat a service for building chat applications.

You can sign up for a Stream account at

You can use this library to access chat API endpoints server-side, for the client-side integrations (web and mobile) have a look at the Javascript, iOS and Android SDK libraries (


pip install stream-chat


Official API docs

How to build a chat app with Python tutorial

Chat with Python, Django and React

Supported features

  • Chat channels
  • Messages
  • Chat channel types
  • User management
  • Moderation API
  • Push configuration
  • User devices
  • User search
  • Channel search


chat = StreamChat(api_key="STREAM_KEY", api_secret="STREAM_SECRET")

# add a user
chat.update_user({"id": "chuck", "name": "Chuck"})

# create a channel about kung-fu
channel ="messaging", "kung-fu")

# add a first message to the channel
channel.send_message({"text": "AMA about kung-fu"})


First, make sure you can run the test suite. Tests are run via py.test

STREAM_KEY=my_api_key STREAM_SECRET=my_api_secret py.test stream_chat/ -v

Install black and pycodestyle

pip install black
pip install pycodestyle

Releasing a new version

In order to release new version you need to be a maintainer on Pypi.

  • Update CHANGELOG
  • Make sure you have twine installed (pip install twine)
  • Update the version on
  • Commit and push to Github
  • Create a new tag for the version (eg. v2.9.0)
  • Create a new dist with python python sdist
  • Upload the new distributable with wine twine upload dist/stream-chat-VERSION-NAME.tar.gz

If unsure you can also test using the Pypi test servers twine upload --repository-url dist/stream-chat-VERSION-NAME.tar.gz

You can’t perform that action at this time.