matrix-synapse
Homeserver for the Matrix decentralised comms protocol
What it is and what it does
Synapse is a complete Matrix homeserver—a server application that implements the Matrix open standard for decentralized, interoperable real-time communications. It lets you run your own messaging infrastructure that can federate with other Matrix servers and clients, similar to how email works across domains. You install it as a standalone application (not a library), configure it via YAML, connect it to a database, and expose it through a reverse proxy to handle client and server-to-server traffic.
The package bundles 39 runtime dependencies covering cryptography (bcrypt, pyopenssl, cryptography), async networking (twisted, treq), JSON and data handling (jsonschema, msgpack, pydantic), and monitoring (prometheus-client). It is actively maintained by Element, production-stable, and available under AGPL-3.0-or-later (or commercial license). Deployment is non-trivial—you are running a full messaging server, not integrating a library—but the project provides extensive documentation and community support.
Use it for:
- Run a private Matrix homeserver for a team or organization to avoid centralized chat platforms
- Deploy a federated messaging infrastructure for communities that need interoperability with other Matrix servers
- Build a self-hosted communication backbone for applications requiring Matrix protocol compliance
- Operate a Matrix server for regulated environments (healthcare, government) where data sovereignty is required
- Set up a test/development Matrix network for protocol experimentation or client development
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Matrix Synapse is a homeserver implementation for the Matrix decentralized communications protocol, enabling you to run your own federated real-time messaging infrastructure.
Yes, with conditions. Install if you need to run a Matrix homeserver and can commit to operational overhead (database, reverse proxy, TLS, monitoring). The active maintenance, production-stable status, and zero known vulnerabilities support reliability. However, the dual AGPL/commercial license requires careful review before production use, the 39 dependencies and medium install friction demand a capable deployment environment, and this is a server application requiring infrastructure—not a library for embedding. Not suitable for casual experimentation without DevOps capacity.
Install
matrix-synapse on PyPI
pip
pip install matrix-synapseuv
uv add matrix-synapsepoetry
poetry add matrix-synapseInstalling matrix-synapse
Before you install
Medium install friction due to 39 runtime dependencies including cryptographic libraries (pyopenssl, bcrypt, cryptography), async frameworks (twisted, treq), and data processing tools. Actively maintained with a release 10 days old and recent commits; production-stable status suggests operational reliability for those who can manage the dependency footprint.
License in practice
Dual-licensed under AGPL-3.0-or-later (free, copyleft) or a commercial license from Element. The AGPL requires you to share modifications if you distribute the software; commercial licensing is available for proprietary deployments. License treatment is marked unclear, so review Element's licensing terms before production use.
Quickstart
pip install matrix-synapse
from synapse.server import SynapseHomeServer
# Configure and run via YAML config file (see docs)
Requires Python 3.10.0 or later (and <4.0.0); production deployment typically requires a database (PostgreSQL recommended), reverse proxy, and TLS certificates. Not a library for embedding—it is a standalone server application.
Verify before relying
- Actual memory and CPU requirements for small vs. large deployments
- Whether the PyPI package alone is sufficient or if system packages/services are required
- Performance characteristics and federation scalability limits
- Upgrade path complexity between major versions
Package facts
| License | AGPL-3.0-or-later OR LicenseRef-Element-Commercial (unclear) |
| Python support | supports the current Python release (<4.0.0,>=3.10.0) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 39 — jsonschema, rpds-py, immutabledict, unpaddedbase64, canonicaljson, signedjson, service-identity, twisted, treq, pyopenssl, pyyaml, pyasn1, pyasn1-modules, bcrypt, pillow, sortedcontainers, pymacaroons, msgpack, phonenumbers, prometheus-client, attrs, netaddr, jinja2, bleach, typing-extensions, cryptography, ijson, matrix-common, packaging, pydantic |
| Maintenance | actively maintained — 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,854/month — #13,699 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: matrix_synapse-1.158.0-cp310-abi3-manylinux_2_28_aarch64.whl; matrix_synapse-1.158.0-cp310-abi3-manylinux_2_28_x86_64.whl; matrix_synapse-1.158.0-cp310-abi3-musllinux_1_2_aarch64.whl; matrix_synapse-1.158.0-cp310-abi3-musllinux_1_2_x86_64.whl; matrix_synapse-1.158.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl; matrix_synapse-1.158.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
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-clientPython client library for connecting to and…
permissive · top 15,000 on PyPI
synapse-s3-storage-providerA Synapse media storage provider that…
permissive · top 15,000 on PyPI
matrix-niomatrix-nio is an asyncio-based Python client…
unclear · top 5,000 on PyPI
mautrixAn asyncio Matrix framework for Python that…
copyleft · top 5,000 on PyPI
ciris-serverEmbeds a Rust-based federation node that…
agpl · top 15,000 on PyPI
mailmanMailman is a mailing list management system…
copyleft · top 15,000 on PyPI
mindroomMindRoom is a multi-agent runtime that deploys…
permissive · top 15,000 on PyPI
synapsemlSynapseML is a distributed machine learning…
permissive · top 5,000 on PyPI
azure-synapse-managedprivateendpointsManages private endpoints for Azure Synapse…
permissive · top 5,000 on PyPI
azure-mgmt-synapseProvides Python client library for…
permissive · top 5,000 on PyPI