34f5c4ef02
Without universal_newlines=True or text=True, subprocess.check_output returns bytes, not str, so it makes no sense to compare its return to "true". But upstream Git’s behavior only depends on the filename, not whether the repository is bare; emulate this more closely. Signed-off-by: Anders Kaseorg <anders@zulip.com> |
||
---|---|---|
.github | ||
packaged_helloworld | ||
stubs | ||
tools | ||
zulip | ||
zulip_bots | ||
zulip_botserver | ||
.codecov.yml | ||
.editorconfig | ||
.flake8 | ||
.gitignore | ||
.gitlint | ||
.mailmap | ||
LICENSE | ||
mypy.ini | ||
NOTICE | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
THIRDPARTY |
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 Botserver.
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.
-
Fork and clone the Git repo, and set upstream to zulip/python-zulip-api:
git clone https://github.com/<your_username>/python-zulip-api.git cd python-zulip-api git remote add upstream https://github.com/zulip/python-zulip-api.git git fetch upstream
-
Make sure you have pip.
-
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, runpython3 ./tools/provision -p <path_to_your_python_version>
-
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
. -
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
for more options).
To run the linter, type:
./tools/lint
To check the type annotations, run:
./tools/run-mypy