Awesome
perceval-zulip
Perceval backend for Zulip.
Requirements
- Python >= 3.8
- python3-requests >= 2.7
- grimoirelab-toolkit >= 0.3, <1.1
- perceval >= 1.0.2, <1.1
Prerequisites
Poetry
We use Poetry for managing the project. You can install it following these steps.
Installation
1. PyPI
Perceval Zulip backend can be installed using pip
It is advised to use a virtual environment
(.venv) $ pip install perceval-zulip
2. Getting the source code
Clone the repository
$ git clone https://github.com/vchrombie/grimoirelab-perceval-zulip perceval-zulip
$ cd perceval-zulip
Install the required dependencies (this will also create a virtual environment)
$ poetry install
Activate the virtual environment
$ poetry shell
Usage
Note: You need the email
and the api_token
(API key) from the server. You can use the user email and API key
for authentication or create a bot and use the bot email and API key.
Reference: About bots (Zulip Help Center).
(.venv) $ perceval zulip --help
[2021-09-20 15:57:22,523] - Sir Perceval is on his quest.
usage: perceval [-h] [--category CATEGORY] [--tag TAG] [--filter-classified] -t API_TOKEN
[--archive-path ARCHIVE_PATH] [--no-archive] [--fetch-archive]
[--archived-since ARCHIVED_SINCE] [--no-ssl-verify] [-o OUTFILE]
[--json-line] -e EMAIL
url stream
positional arguments:
url Zulip chat URL
stream Zulip chat stream name
optional arguments:
-h, --help show this help message and exit
authentication arguments:
-t API_TOKEN, --api-token API_TOKEN
backend authentication token / API key
zulip arguments:
-e EMAIL, --email EMAIL
Zulip bot/user email
Fetch messages from the importlib
stream of the Python Zulip Server with the
bot email bot@zulipchat.com
and API key xxxx
(.venv) $ perceval zulip https://python.zulipchat.com importlib -e bot@zulipchat.com -t xxxx
[2021-09-20 15:59:24,593] - Sir Perceval is on his quest.
{
...
Contributing
This project follows the contributing guidelines of the GrimoireLab.
Acknowledgment
The backend was initially developed by @vchrombie.
Adhering to the guidelines, the work is started in this external repository. But, this can be merged (chaoss/grimoirelab-perceval/#/667) into the Perceval repository in the future.
License
Licensed under GNU General Public License (GPL), version 3 or later.