--- id: zulip version: "0.9.1" license: unclear license_treatment: permissive maintenance: active --- # zulip — Bindings for the Zulip message API License: permissive · Maintenance: active · Downloads: 606.4K/mo ## What it is and what it does Zulip is a Python client library that wraps the Zulip messaging API, allowing you to programmatically send messages to streams and private conversations, create bots, and integrate Zulip into your applications. It reads credentials from a standard config file (~/.zuliprc) or environment variables, reducing boilerplate for typical use cases. The library's primary strength is message sending, which is fully supported and production-ready. It also provides a ZulipStream logging handler for routing Python log records directly to Zulip, and includes a command-line tool (zulip-send) for dispatching messages from shell scripts. Other API operations exist but are documented as under active development, so their interfaces may change. Use it for: - Build a bot that monitors a system and sends alerts to a Zulip stream when thresholds are exceeded. - Integrate Zulip notifications into a Python application's logging pipeline using the ZulipStream handler. - Dispatch messages from cron jobs or shell scripts using the zulip-send command-line tool. - Create a chatbot that responds to private messages or stream mentions by querying an API and posting replies. - Automate team notifications (deployments, test results, build failures) to designated Zulip channels. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Python client library for sending and receiving messages through the Zulip messaging API, with support for bots, logging integration, and command-line message dispatch. Yes, if you need to integrate Zulip messaging into a Python application or bot. The library is actively maintained, has no known vulnerabilities, and installs cleanly with minimal dependencies. The primary caveat is that only message sending is fully stable; other API operations may change. For simple message dispatch or logging integration, this is a straightforward choice. ## Install pip install zulip uv add zulip poetry add zulip ## Installing zulip Before you install: Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and no known vulnerabilities. Requires Python 3.9 or later and four lightweight runtime dependencies (requests, distro, click, typing_extensions). License in practice: Licensed under the Apache License (permissive), allowing commercial and private use with minimal restrictions. Quickstart: pip install zulip import zulip client = zulip.Client(email="bot@example.com", client="MyBot/0.1") message = {"type": "stream", "to": ["support"], "subject": "test", "content": "Hello"} client.send_message(message) Requires Python 3.9 or later. API credentials (email and key) must be configured via ~/.zuliprc file, command-line arguments, or environment variables (ZULIP_EMAIL, ZULIP_API_KEY, ZULIP_SITE). Verify before relying: - Current API stability and scope beyond message sending—description notes other operations are 'under active development'. - Whether all classifiers (Python 3.10, 3.11, 3.12) are actively tested or merely declared. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 606.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags zulip api client, zulip bot python, send zulip messages, zulip messaging library, zulip stream integration, zulip chat api bindings, chat-api, bot-framework, messaging [View on SkillFed](https://skillfed.io/packages/zulip) · [View on PyPI](https://pypi.org/project/zulip/)