matrix-client
Client-Server SDK for Matrix
What it is and what it does
matrix-client is a Python SDK for the Matrix protocol that lets you build applications that connect to Matrix homeservers. It wraps the Matrix client-server HTTP API in two layers: a low-level API module for raw HTTP calls, and a high-level client module that provides object models like Room and User for easier interaction. You can use it to log in, create rooms, send messages, and manage other chat operations programmatically.
However, the package is no longer actively maintained. The last release was in 2021, and the project maintainers explicitly recommend using matrix-nio instead, which is both more featureful and actively developed. Pull requests may be reviewed but no new features or bug fixes are being actively developed. If you are starting a new project, you should strongly consider matrix-nio; matrix-client is suitable only if you have an existing codebase or specific compatibility requirements.
Use it for:
- Build a bot or automation tool that sends messages to Matrix rooms or responds to events
- Integrate Matrix chat into an existing Python application as a notification or messaging channel
- Write a simple Matrix client application for a specific use case or workflow
- Prototype or experiment with the Matrix protocol in Python before committing to a maintained library
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for connecting to and interacting with Matrix homeservers via the client-server API, supporting both low-level HTTP calls and high-level room and user operations.
No, not for new projects. The package is abandoned (last release 2021, no active maintenance) and the maintainers explicitly recommend matrix-nio as a superior, actively maintained alternative. Install only if you are maintaining legacy code that already depends on matrix-client or have a specific reason to avoid matrix-nio. For any new development, use matrix-nio instead.
Install
matrix-client on PyPI
pip
pip install matrix-clientuv
uv add matrix-clientpoetry
poetry add matrix-clientInstalling matrix-client
Before you install
Low install friction with only two runtime dependencies (requests and urllib3), but the package is in abandoned maintenance status as of 1845 days since last release. The project maintainers explicitly recommend matrix-nio as a more actively maintained alternative.
License in practice
Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions, though you must include a copy of the license and note any modifications.
Quickstart
pip install matrix-client
from matrix_client.client import MatrixClient
client = MatrixClient("http://localhost:8008")
token = client.login(username="user", password="pass")
room = client.create_room("my_room")
room.send_text("Hello!")
Requires a running Matrix homeserver accessible at the provided URL; the package itself supports Python 2.7 and 3.4+ but is no longer actively maintained.
Verify before relying
- Whether the package works reliably with modern Python versions (3.9+) despite claiming support for 3.4+
- Current state of compatibility with recent Matrix protocol changes or homeserver versions
- Whether pull requests are still being reviewed or merged
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — requests, urllib3 |
| Maintenance | abandoned — 1,845 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 401,935/month — #6,922 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: matrix_client-0.4.0-py2.py3-none-any.whl
Keywords: chat, sdk, matrix, matrix.org
Tags
More Chat packages
Provides Python bindings for Slack's Web API,…
permissive · top 1,000 on PyPI
python-telegram-botProvides a pure Python asynchronous interface…
copyleft · top 1,000 on PyPI
slackclientProvides Python interfaces to Slack's Web API…
permissive · top 5,000 on PyPI
aiogramaiogram is an asynchronous Python framework for…
permissive · top 5,000 on PyPI
TelethonTelethon is an asyncio-based Python library…
permissive · top 5,000 on PyPI
mleapSerializes and deserializes machine learning…
permissive · top 5,000 on PyPI
matrix-niomatrix-nio is an asyncio-based Python client…
unclear · top 5,000 on PyPI
matrix-synapseMatrix Synapse is a homeserver implementation…
unclear · top 15,000 on PyPI
mautrixAn asyncio Matrix framework for Python that…
copyleft · top 5,000 on PyPI
openfire-restapiA Python client library for interacting with…
copyleft · top 15,000 on PyPI
ipfshttpclientA Python HTTP client library for interacting…
permissive · top 15,000 on PyPI
webexpythonsdkA Python library for interacting with Webex…
permissive · top 15,000 on PyPI
scikit-rfscikit-rf is an object-oriented Python library…
permissive · top 15,000 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
azure-communication-roomsManages Azure Communication Services rooms for…
permissive · top 15,000 on PyPI
kafkaA pure-Python client library for Apache Kafka…
permissive · top 15,000 on PyPI