2017-07-18 01:49:51 -02:30
|
|
|
# Zulip API
|
2012-11-27 11:19:05 -05:00
|
|
|
|
2017-08-22 10:02:25 +02:00
|
|
|

|
|
|
|
[](
|
|
|
|
https://codecov.io/gh/zulip/python-zulip-api)
|
|
|
|
|
2017-07-18 01:49:51 -02:30
|
|
|
This repository contains the source code for Zulip's PyPI packages:
|
2012-11-26 11:54:21 -05:00
|
|
|
|
2017-07-18 01:49:51 -02:30
|
|
|
* `zulip`: [PyPI package](https://pypi.python.org/pypi/zulip/)
|
|
|
|
for Zulip's API bindings.
|
2017-08-07 20:40:20 -02:30
|
|
|
* `zulip_bots`: [PyPI package](https://pypi.python.org/pypi/zulip-bots)
|
|
|
|
for Zulip's bots and bots API.
|
|
|
|
* `zulip_botserver`: [PyPI package](https://pypi.python.org/pypi/zulip-botserver)
|
|
|
|
for Zulip's Flask bot server.
|
2017-08-07 20:53:15 -02:30
|
|
|
|
2017-11-29 06:36:58 -08:00
|
|
|
The source code is written in *Python 3*.
|
|
|
|
|
2017-08-07 20:53:15 -02:30
|
|
|
## 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](https://pip.pypa.io/en/stable/installing/)
|
|
|
|
and [virtualenv](https://virtualenv.pypa.io/en/stable/installation/)
|
|
|
|
installed.
|
|
|
|
|
|
|
|
3. `cd` into the repository cloned earlier:
|
|
|
|
`cd python-zulip-api`
|
|
|
|
|
|
|
|
4. Run:
|
|
|
|
```
|
|
|
|
./tools/provision
|
2017-08-18 14:13:33 +02:00
|
|
|
```
|
|
|
|
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
|
|
|
|
```
|
2017-11-27 16:45:19 +01:00
|
|
|
./tools/provision -p <path_to_your_python_version>
|
2017-08-07 20:53:15 -02:30
|
|
|
```
|
|
|
|
|
2017-11-10 19:24:59 -03:30
|
|
|
5. The above step, if successful, will tell you the command to "source" your
|
2017-11-10 13:03:40 -08:00
|
|
|
virtual environment. Run that command!
|
|
|
|
|
|
|
|
6. You should now be able to run all the tests within this virtualenv.
|
2017-08-07 20:53:15 -02:30
|
|
|
|
|
|
|
### Running tests
|
|
|
|
|
2017-09-05 16:20:59 +02:00
|
|
|
To run the tests for
|
2017-08-07 20:53:15 -02:30
|
|
|
|
2017-09-05 16:20:59 +02:00
|
|
|
* *zulip*: run `./tools/test-zulip`
|
2017-08-07 20:53:15 -02:30
|
|
|
|
2017-09-05 16:20:59 +02:00
|
|
|
* *zulip_bots*: run `./tools/test-bots`
|
2017-08-07 20:53:15 -02:30
|
|
|
|
2017-09-05 16:20:59 +02:00
|
|
|
* *zulip_botserver*: run `./tools/test-botserver`
|
2017-08-07 20:53:15 -02:30
|
|
|
|
|
|
|
To run the linter, type:
|
|
|
|
|
|
|
|
`./tools/lint`
|
2017-11-13 12:08:14 +01:00
|
|
|
|
|
|
|
To check the type annotations, run:
|
|
|
|
|
|
|
|
`./tools/run-mypy`
|