Clone or download

Zulip API

Build status Coverage status

This repository contains the source code for Zulip's PyPI packages:

The source code is written in Python 3.


  1. Fork and clone the Git repo: git clone<your_username>/python-zulip-api.git

  2. Make sure you have pip and virtualenv installed.

  3. cd into the repository cloned earlier: cd python-zulip-api

  4. Run:

    python3 ./tools/provision

    This sets up a virtual Python environment in zulip-api-py<your_python_version>-venv, where <your_python_version> is your default version of Python. If you would like to specify a different Python version, run

    python3 ./tools/provision -p <path_to_your_python_version>
  5. If that succeeds, it will end with printing the following command:

    source /.../python-zulip-api/.../activate

    You can run run this command to enter the virtual environment. You'll want to run this in each new shell before running commands from python-zulip-api.

  6. Once you've entered the virtualenv, you should see something like this on the terminal:

    (zulip-api-py3-venv) user@pc ~/python-zulip-api $

    You should now be able to run any commands/tests/etc. in this virtual environment.

Running tests

To run the tests for

  • zulip: run ./tools/test-zulip

  • zulip_bots: run ./tools/test-bots

  • zulip_botserver: run ./tools/test-botserver

To run the linter, type:


To check the type annotations, run: