skillfed

zulip

Bindings for the Zulip message API

zulip v0.9.1 606.4K downloads/30d#5,791 on PyPI402
Permissive license Active released

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 on this page — 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

zulip on PyPI

pip

pip install zulip

uv

uv add zulip

poetry

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 the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 4 — requests, distro, click, typing_extensions
Maintenance actively maintained — 318 days since the last release
Last repo commit
First released
Downloads 606,405/month — #5,791 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zulip-0.9.1-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Communications :: Chat

Tags

zulip api clientzulip bot pythonsend zulip messageszulip messaging libraryzulip stream integrationzulip chat api bindings
chat-apibot-frameworkmessaging

More Chat packages