Find a file
Tim Abbott 3bbe972314 tools: Disable python3 shebang lint check for botserver.
Since the botserver can be run directly after installation via pip,
and only supports Python 3, we definitely want the explicit shebang
lines there.

We only don't want this in zulip/, which supports Python 2+3.
2019-03-18 13:58:11 -07:00
tools tools: Disable python3 shebang lint check for botserver. 2019-03-18 13:58:11 -07:00
zulip zulip: Fix argument name in add/remove reaction example comment. 2019-03-02 19:12:44 -03:30
zulip_bots pypi: Release version 0.5.9. 2019-02-17 02:49:27 -03:30
zulip_botserver botserver: Add a python3 !# line. 2019-03-18 13:10:06 -07:00
.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
.gitignore gitignore: Add swp files (for vim). 2018-10-11 10:36:00 -04:00
.travis.yml slack importer: Shift the slack data conversion files to zulip server repo. 2017-12-27 07:54:42 -05:00
mypy.ini mypy: Improve typing of bots & API; enforce no_implicit_optional. 2018-04-06 13:45:11 -04:00
py3_requirements.txt requirements: Upgrade to mypy 0.600. 2018-05-15 10:03:57 -07:00
README.md docs: Add tools/test-lib to README. 2018-12-09 11:16:30 -08:00
requirements.txt test-bots: Add option to use pytest for running tests. 2018-06-09 14:13:18 -04: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