Crates.io | zulip-api |
lib.rs | zulip-api |
version | 0.0.2 |
created_at | 2025-09-20 23:30:15.253606+00 |
updated_at | 2025-09-23 15:34:49.931405+00 |
description | Client library for interacting with the Zulip API |
homepage | |
repository | https://codeberg.org/weathered-steel/zulip-api |
max_upload_size | |
id | 1848289 |
size | 266,312 |
This crate aims to implement the full Zulip REST API.
There is potential for also implementing the Webhook API for more complete integration with Zulip servers.
Unit tests can be run with the normal:
$ cargo test
Integration tests require a little more setup based on the docker-zulip project.
First, use the Docker setup inside the tests/docker
folder to launch a local Zulip instance:
$ cd tests/docker
// use docker-compose to launch the instance
# docker compose up -d
// create new "realm" (Zulip term for an organization) link
# docker compose exec docker_zulip_1 \
"su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'"
Instructions are the same using podman compose
.
After getting the realm
creation link, open it in a browser, and complete the form.
You will need to click through a TLS error about self-signed certificates.
For detailed instructions, see the docker-zulip repository.
A zuliprc
file with API authentication settings will be needed to run the integration tests.
You can generate the file by navigating to Settings > Account & Privacy > API Key
, and click the Manage API Key
button.
You will be prompted for your account password, and presented with the option to download a zuliprc
file.
Save the file to zulip-api/tests/zuliprc
.
Once setup is complete, you can run integration tests with:
$ cargo test --features int-tests