192e9e101d
This method allows bots to validate their config info in a standardized way. Adding the method to a bot is optional, but recommended for bots with config options that can be invalid, like api keys. The giphy bot serves as an example. The primary reason behind this is to allow the zulip backend to validate config data for embedded bots. The backend does not have a permanent bot class instance, so validate_config() must be a static method. |
||
---|---|---|
tools | ||
zulip | ||
zulip_bots | ||
zulip_botserver | ||
.codecov.yml | ||
.editorconfig | ||
.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.
The source code is written in Python 3.
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.
-
cd
into the repository cloned earlier:cd python-zulip-api
-
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>
-
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