With this change, StateHandler.put() does only accept JSON-able objects by default. The incrementor test tried to store the return value of send_reply(), a non-JSON-able MockObject, in the state. Therefore, this commits also sets functional default test return values for send_message() and send_reply(). Finally, it fixes the tictactoe bot which relied on directly modifying the state_ attribute. |
||
|---|---|---|
| tools | ||
| zulip | ||
| zulip_bots | ||
| zulip_botserver | ||
| .codecov.yml | ||
| .gitignore | ||
| .travis.yml | ||
| py3_requirements.txt | ||
| README.md | ||
| requirements.txt | ||
Zulip API
This repository contains the source code for Zulip's PyPI packages:
zulip: PyPI package for Zulip's API bindings.zulip_bots: PyPI package for Zulip's bots and bots API.zulip_botserver: PyPI package for Zulip's Flask bot server.
Development
-
Fork and clone the Git repo:
git clone https://github.com/<your_username>/python-zulip-api.git -
Make sure you have pip and virtualenv installed.
-
cdinto the repository cloned earlier:cd python-zulip-api -
Run:
./tools/provisionThis 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>` -
The above step, if successful, will tell you the command to "source" your virtual environment. Run that command!
-
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