https://github.com/zulip/python-zulip-api
Python library for the Zulip API.
https://github.com/zulip/python-zulip-api
python python3 zulip
Last synced: 9 months ago
JSON representation
Python library for the Zulip API.
- Host: GitHub
- URL: https://github.com/zulip/python-zulip-api
- Owner: zulip
- License: apache-2.0
- Created: 2017-07-06T17:25:46.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-04-07T19:14:43.000Z (10 months ago)
- Last Synced: 2025-04-13T08:05:03.900Z (10 months ago)
- Topics: python, python3, zulip
- Language: Python
- Homepage: https://zulip.com/api/
- Size: 5.25 MB
- Stars: 372
- Watchers: 30
- Forks: 393
- Open Issues: 137
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Zulip API
[](
https://github.com/zulip/python-zulip-api/actions?query=branch%3Amain+workflow%3Abuild)
[](
https://codecov.io/gh/zulip/python-zulip-api)
This repository contains the source code for Zulip's PyPI packages:
* `zulip`: [PyPI package](https://pypi.python.org/pypi/zulip/)
for Zulip's API bindings.
* `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 Botserver.
The source code is written in *Python 3*.
## Development
This is part of the Zulip open source project; see the
[contributing guide](https://zulip.readthedocs.io/en/latest/overview/contributing.html)
and [commit guidelines](https://zulip.readthedocs.io/en/latest/contributing/version-control.html).
1. Fork and clone the Git repo, and set upstream to zulip/python-zulip-api:
```
git clone https://github.com//python-zulip-api.git
cd python-zulip-api
git remote add upstream https://github.com/zulip/python-zulip-api.git
git fetch upstream
```
2. Make sure you have [pip](https://pip.pypa.io/en/stable/installing/).
3. Run:
```
python3 ./tools/provision
```
This sets up a virtual Python environment in `zulip-api-py-venv`,
where `` is your default version of Python. If you would like to specify
a different Python version, run
```
python3 ./tools/provision -p
```
4. If that succeeds, it will end with printing the following command:
```
source /.../python-zulip-api/.../activate
```
You can 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`.
5. 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
You can run all the tests with:
`pytest`
or test individual packages with `pytest zulip`, `pytest zulip_bots`,
or `pytest zulip_botserver` (see the [pytest
documentation](https://docs.pytest.org/en/latest/how-to/usage.html)
for more options).
To run the linter, type:
`./tools/lint`
To check the type annotations, run:
`./tools/run-mypy`