Find a file
Rohitt Vashishtha fe78a363b0 bots: Do not remove self from list of recipients in group PMs.
The origin of this line seems like an arbitary decision when writing the
wikipedia bot in ad25f27853. Removing self
doesn't have any other significance, and not making any changes to the
recipient list helps with https://github.com/zulip/zulip/issues/14228.

Fixes #552.
2020-04-28 11:56:16 -04:00
tools tools/release-packages: Stop generating universal wheels. 2020-04-18 20:33:17 -07:00
zulip pypi: Release version 0.7.0. 2020-04-20 23:23:58 -02:30
zulip_bots bots: Do not remove self from list of recipients in group PMs. 2020-04-28 11:56:16 -04:00
zulip_botserver pypi: Release version 0.7.0. 2020-04-20 23:23:58 -02:30
.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
.flake8 lint: Replace pycodestyle with Flake8. 2020-04-18 20:31:14 -07:00
.gitignore gitignore: Add swp files (for vim). 2018-10-11 10:36:00 -04:00
.travis.yml Travis: Remove test-py2-legacy-support. 2020-04-03 08:18:08 -04:00
LICENSE docs: Add more proper LICENSE and THIRDPARTY files. 2020-03-22 16:52:19 -07:00
mypy.ini mypy: Improve typing of bots & API; enforce no_implicit_optional. 2018-04-06 13:45:11 -04:00
NOTICE docs: Add more proper LICENSE and THIRDPARTY files. 2020-03-22 16:52:19 -07:00
README.md docs: Add tools/test-lib to README. 2018-12-09 11:16:30 -08:00
requirements.txt lint: Replace pycodestyle with Flake8. 2020-04-18 20:31:14 -07:00
THIRDPARTY docs: Add more proper LICENSE and THIRDPARTY files. 2020-03-22 16:52:19 -07:00

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

This is part of the Zulip open source project; see the contributing guide and commit guidelines.

  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 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.

  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-lib && ./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