Find a file
Steve Howell 043d963a99 Fail fast for bad connections with the API and bots.
The API has aggressive retry logic for connecting to a
server, which may make sense for situation where you have
connection blips or server restarts.

When you're first connecting to the API, however, connection
failures are almost certainly a sign of misconfiguration, so
now we fail fast.

The bot lib takes advantage of this API change by catching the
ZulipError exception and exiting gracefully.
2017-11-21 14:21:04 -08:00
tools Ignore prior coverage data in tools/test-main. 2017-11-20 12:48:36 -08:00
zulip Fail fast for bad connections with the API and bots. 2017-11-21 14:21:04 -08:00
zulip_bots Fail fast for bad connections with the API and bots. 2017-11-21 14:21:04 -08:00
zulip_botserver bots: Make StateHandler store state on Zulip server. 2017-11-18 08:58:47 -08:00
.codecov.yml codecov: Adjust failure threshold. 2017-09-14 04:26:12 -07:00
.gitignore tools: Add mypy runner. 2017-09-15 13:24:20 +02:00
.travis.yml travis: Run mypy and linter in a single job. 2017-09-27 10:27:37 +02:00
py3_requirements.txt provision: Don't fail on mypy install for Python 2. 2017-09-15 13:24:35 +02:00
README.md README.md: Add command for running mypy. 2017-11-13 12:08:14 +01:00
requirements.txt packaging: Automate the package release process. 2017-10-05 12:01:37 -07:00

Zulip API

Build status Coverage status

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

Development

  1. Fork and clone the Git repo: git clone https://github.com/<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:

    ./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

    ./tools/provision -p <path_to_your_python_version>`
    
  5. The above step, if successful, will tell you the command to "source" your virtual environment. Run that command!

  6. You should now be able to run all the tests within this virtualenv.

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:

./tools/lint

To check the type annotations, run:

./tools/run-mypy