perceval-zulip

Build Status Coverage Status PyPI version

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.