Find a file
Robert Hönig e6ef34a964 botserver: Strip messages like we do in zulip-run-bot.
Previously, messages weren't stripped at all. This
caused most bots to break and send replies similar to
"I didn't understand your command". Nobody noticed,
because the tests were only validating that replies
were sent, but not the content in them. Thus, this
commit also adds tests to avoid further regressions.
2018-05-29 10:05:19 +02:00
tools mypy: Fix paths to chessbot files. 2018-05-28 13:43:15 +02:00
zulip matrix: Edit matrix.org README further. 2018-05-22 14:01:24 -07:00
zulip_bots bots: Don't run tests for monkeytestit bot. 2018-05-28 13:43:15 +02:00
zulip_botserver botserver: Strip messages like we do in zulip-run-bot. 2018-05-29 10:05:19 +02:00
.codecov.yml codecov: Adjust failure threshold. 2017-09-14 04:26:12 -07:00
.editorconfig Editing: Add .editorconfig from zulip/zulip (with note). 2017-12-18 07:36:40 -05:00
.gitignore git: Add ignoring pycharm-specific dependencies. 2018-05-17 16:57:16 +03:00
.travis.yml slack importer: Shift the slack data conversion files to zulip server repo. 2017-12-27 07:54:42 -05:00
mypy.ini mypy: Improve typing of bots & API; enforce no_implicit_optional. 2018-04-06 13:45:11 -04:00
py3_requirements.txt requirements: Upgrade to mypy 0.600. 2018-05-15 10:03:57 -07:00
README.md docs: Add python3 to ./tools/provision command. 2018-05-02 12:18:27 -07:00
requirements.txt requirements: Remove runtime dependency on mock. 2018-01-09 17:01:16 -03:30

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.

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:

    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 print 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:

./tools/lint

To check the type annotations, run:

./tools/run-mypy