matrix-synapse
Homeserver for the Matrix decentralised comms protocol
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- Medium install friction due to 39 runtime dependencies including cryptographic libraries (pyopenssl, bcrypt, cryptography), async frameworks (twisted, treq), and data processing tools.
License · maintenance · safety
AGPL-3.0-or-later OR LicenseRef-Element-Commercial (unclear) — 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.
last release 2026-08-04 (10 days) · last repo commit 2026-08-14 · 4,521 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 88,854 downloads/mo, #13,699 on PyPI
Alternatives
Verify before relying
pip install matrix-synapse
from synapse.server import SynapseHomeServer
# Configure and run via YAML config file (see docs)- 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
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 on it.
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
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.
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.
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)
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 packagesjsonschemarpds-pyimmutabledictunpaddedbase64canonicaljsonsignedjsonservice-identitytwistedtreqpyopensslpyyamlpyasn1pyasn1-modulesbcryptpillowsortedcontainerspymacaroonsmsgpackphonenumbersprometheus-clientattrsnetaddrjinja2bleachtyping-extensionscryptographyijsonmatrix-commonpackagingpydantic |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableTopic :: Communications :: Chat |
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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “matrix homeserver”
- matrix-synapseMatrix Synapse is a homeserver implementation for the Matrix…
- matrix-niomatrix-nio is an asyncio-based Python client library for the Matrix…
- matrix-clientPython client library for connecting to and interacting with Matrix…
Give your agent the search over MCP, or paste the wish link into any chat.
More Chat packages
Provides Python bindings for Slack's Web API, webhooks, Socket Mode, OAuth, and other platform APIs, enabling apps to send messages, manage files, verify requests, and interact with Slack workspaces.
Install it if you need to integrate Python applications with Slack—whether for bots, notifications, or custom workflows.
Provides a pure Python asynchronous interface to the Telegram Bot API, with convenience methods and high-level classes for building chatbots.
Install it if you need to build or integrate with Telegram bots in Python.
Provides Python interfaces to Slack's Web API and Real Time Messaging (RTM) API for building Slack applications and bots.
Install only if you are maintaining legacy code or have a specific reason not to migrate.
aiogram is an asynchronous Python framework for building Telegram bots using asyncio and aiohttp, with type hints, routing, state machines, and middleware support.
Telethon is an asyncio-based Python library that implements the MTProto protocol to interact with Telegram's API as a user account or bot, providing an alternative to Telegram's official bot API.
Serializes and deserializes machine learning pipelines to a portable Bundle.ML format for cross-platform deployment and execution.
See also matrix-client · synapse-s3-storage-provider · matrix-nio · mautrix · ciris-server · mailman · mindroom · synapseml · azure-synapse-managedprivateendpoints · azure-mgmt-synapse