pysignalclirestapi
Small python library for the Signal Cli REST API
What it is and what it does
pysignalclirestapi is a thin Python wrapper around the Signal Cli REST API, a separate HTTP service that bridges Signal messaging into programmatic workflows. It provides methods to send and receive Signal messages, manage groups, handle attachments, manage contacts, and interact with Signal identities and reactions—all by wrapping HTTP calls to an already-running signal-cli-rest-api server.
The library depends on requests for HTTP communication and six for Python 2/3 compatibility. Many endpoints are marked as working, but the maintainer notes incomplete testing on newer additions; some group operations, contact sync, and device-specific features remain untested or in-progress. You must have the signal-cli-rest-api service running separately and registered with a Signal phone number before using this library.
Use it for:
- Send automated Signal notifications or alerts from a Python application to registered Signal users.
- Build a bot or automation that receives and responds to Signal messages programmatically.
- Manage Signal groups (create, update, add/remove members) from a Python script or service.
- Integrate Signal messaging into a larger application workflow without direct Signal client integration.
- Retrieve and manage Signal attachments, profiles, and contact information via API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for the Signal Cli REST API, enabling programmatic sending and receiving of Signal messages through an HTTP interface.
Yes, if you already have signal-cli-rest-api running and need a Python client. The library is actively maintained, has low install friction, and covers the core messaging use cases (send, receive, groups). However, be aware that many endpoints are marked untested or in-progress; test thoroughly before relying on group management or contact sync in production. The small community (30 stars) means fewer real-world bug reports.
Install
pysignalclirestapi on PyPI
pip
pip install pysignalclirestapiuv
uv add pysignalclirestapipoetry
poetry add pysignalclirestapiInstalling pysignalclirestapi
Before you install
Low install friction with only two runtime dependencies (requests and six). Active maintenance with a recent commit on 2026-07-03 and a release on 2026-03-19, though the repository is small (30 stars) and the package acknowledges incomplete endpoint testing.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install pysignalclirestapi
from pysignalclirestapi import SignalCliRestApi
signal = SignalCliRestApi(SERVER, SERVER_NUMBER)
message = signal.send_message(message=myMessage, recipients=myFriendSteve)
received = signal.receive(send_read_receipts=True)
The signal-cli-rest-api HTTP service must be running and accessible at the specified server address, and your account must be registered with a valid Signal phone number.
Verify before relying
- Whether all endpoints marked 'In Progress' or 'Untested' in the documentation are production-ready or carry known limitations
- Compatibility with different versions of the signal-cli-rest-api backend service
- Whether the package works with both API V1 and V2 (send_message notes V1 untested)
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=2.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — requests, six |
| Maintenance | actively maintained — 148 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,313/month — #14,731 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pysignalclirestapi-0.3.25-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
pydiscourseA Python client library for the Discourse API…
permissive · top 15,000 on PyPI
slackwebSends messages to Slack channels via incoming…
permissive · top 15,000 on PyPI
PyDispatcherPyDispatcher implements a signal-dispatch…
permissive · top 5,000 on PyPI
qsAPIqsAPI is a Python client for Qlik Sense QPS and…
permissive · top 15,000 on PyPI
smsapi-clientA Python client library for sending SMS…
permissive · top 15,000 on PyPI
aiosignalProvides a Signal class for managing lists of…
permissive · top 100 on PyPI
wslinkwslink provides bi-directional websocket…
permissive · top 5,000 on PyPI
python-redminePython-Redmine provides a Django ORM-style…
permissive · top 15,000 on PyPI
django-signal-webhooksAdds webhook support to Django models by…
permissive · top 15,000 on PyPI
PyPyDispatcherPyPyDispatcher implements a…
permissive · top 15,000 on PyPI