• Stars
    star
    358
  • Rank 118,855 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python library for the Zulip API.

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, 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
    
  2. Make sure you have pip.

  3. 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>
    
  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 for more options).

To run the linter, type:

./tools/lint

To check the type annotations, run:

./tools/run-mypy

More Repositories

1

zulip

Zulip server and web application. Open-source team chat that helps teams stay productive and focused.
Python
21,511
star
2

zulip-mobile

Zulip mobile apps for Android and iOS.
JavaScript
1,285
star
3

zulip-desktop

Zulip Desktop client for Mac, Windows and Linux.
TypeScript
846
star
4

zulip-ios-legacy

Zulip legacy iOS app
Objective-C
682
star
5

zulip-terminal

Official Zulip terminal client.
Python
651
star
6

docker-zulip

Container configurations, images, and examples for Zulip.
Shell
574
star
7

zulip-android-legacy

Legacy Zulip Android app
Java
407
star
8

zulip-desktop-legacy

Zulip legacy desktop app
C++
249
star
9

zulip-flutter

Future Zulip client using Flutter
Dart
174
star
10

zulip-electron

Frozen/legacy project for Zulip desktop app; the current repository is zulip-desktop
JavaScript
104
star
11

zulipbot

GitHub workflow-optimizing bot by @zulip
JavaScript
84
star
12

zulip-js

Javascript library to access the Zulip API
JavaScript
76
star
13

zulip-archive

Generate a static HTML archive of messages in any combination of streams in a Zulip organization.
Python
73
star
14

zulip.github.io

Legacy zulip.org website. No longer used.
HTML
51
star
15

zulip-gci

GCI project category descriptions
Python
41
star
16

github-actions-zulip

A collection of GitHub Actions to interact with Zulip.
TypeScript
24
star
17

fakeldap

A fake ldap implementation to be used in unittests.
Python
21
star
18

zulint

A lightweight linting framework designed for complex applications using a mix of third-party linters and custom rules.
Python
20
star
19

hubot-zulip

CoffeeScript
20
star
20

swift-zulip-api

A Zulip library written in Swift.
Swift
16
star
21

zulip-csharp

A C# library for the Zulip API
C#
14
star
22

zulip-redmine-plugin

Redmine plugin for Zulip notifications on issue tracker changes
Ruby
12
star
23

TinglingGit

This is a tool which helps to avoid introducing merge conflicts for open PR's in a Github repo by creating new PR's which may get merged sooner
Python
10
star
24

zulip-node

CoffeeScript
9
star
25

finbot

Python script for doing financial projections
Python
8
star
26

django-openid-auth

Python
7
star
27

zulip-gci-submissions

Student submissions for Zulip's GCI 2017 program
Python
7
star
28

trello-to-zulip

Script for mirroring a Trello organization's activity to Zulip
Python
6
star
29

phabricator-to-zulip

Publish Phabricator story feed to Zulip chat system.
PHP
6
star
30

zulip-markdown-parser

JavaScript
6
star
31

tsearch_extras

C
6
star
32

errbot-backend-zulip

Zulip backend for err.
Python
5
star
33

zulip-zapier

Zulip's Zapier integration
JavaScript
4
star
34

django-guardian

Python
3
star
35

puppet-zulip

Puppet report handler for Zulip
Ruby
3
star
36

zrequests

Staging area for extracting Zulip's has_request_variables feature.
2
star
37

truncated-django

A fork of rwbarton/django/tabbott-1.8 with upstream history removed
Python
2
star
38

zulip-dist-phantomjs

PhantomJS binaries for use with Zulip
1
star
39

zulip-dist-tsearch-extras

Binaries for tsearch_extras built for Zulip.
1
star
40

zanitizer

Tool for rewriting Git repository history to remove secrets
1
star