--- id: mautrix version: "0.21.1" license: unclear license_treatment: copyleft maintenance: active --- # mautrix — A Python 3 asyncio Matrix framework. License: copyleft · Maintenance: active · Downloads: 973.5K/mo ## What it is and what it does Mautrix is an asyncio-based Python framework for building applications that interact with the Matrix protocol. It sits between raw HTTP and high-level application logic, offering layered abstractions: a basic HTTP client, Matrix Client API endpoints, application service transaction handling, end-to-end encryption support via libolm, and specialized bridging utilities. The framework targets developers building Matrix bots, bridges to other chat systems, or custom Matrix clients. The package provides utilities for common tasks like HTML parsing, configuration management, database access (via asyncpg or SQLAlchemy), and token signing. It requires Python 3.10+ and depends on aiohttp, attrs, and yarl for async HTTP operations. The codebase is actively maintained and classified as Beta, indicating core functionality is stable but the API may evolve. Use it for: - Build a Matrix appservice that bridges messages between Matrix and another chat platform - Create a Matrix bot that syncs room state and handles encrypted messages - Implement end-to-end encryption in a custom Matrix client using the crypto framework - Develop a Matrix application service with transaction support and user/alias query handling - Build double-puppeting integrations where a bridge controls user accounts on both sides ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. An asyncio Matrix framework for Python that provides HTTP client APIs, application service support, end-to-end encryption, and bridging utilities for building Matrix protocol applications. Yes, if you are building a Matrix application or bridge. The framework is actively maintained, has low install friction, and provides well-structured abstractions for the full Matrix protocol stack. The copyleft license (MPL 2.0) requires source disclosure if you modify and redistribute, so review your licensing constraints. No known security vulnerabilities as of the fact sheet date. ## Install pip install mautrix uv add mautrix poetry add mautrix ## Installing mautrix Before you install: Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (40 days old) and ongoing repository activity. Requires Python 3.10 or later. License in practice: Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license. You must disclose source code modifications and distribute under the same license if you modify and redistribute the package. Quickstart: pip install mautrix import asyncio from mautrix.client import Client async def main(): client = Client(homeserver="https://matrix.example.com", user_id="@user:example.com") # Use client for Matrix operations asyncio.run(main()) Requires Python 3.10 or later. End-to-end encryption support requires libolm system library (installed via python-olm dependency). Verify before relying: - Whether libolm system library is required for end-to-end encryption support or if python-olm handles installation - Specific asyncpg or SQLAlchemy version requirements for database helpers - Whether all advertised components (bridge, crypto, appservice) are production-ready or still experimental ## Package facts - License: not declared (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 973.5K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags matrix protocol python client, asyncio matrix framework, matrix appservice framework, matrix bridge builder, matrix e2e encryption python, matrix chat client library, matrix homeserver integration, matrix-protocol, asyncio, e2e-encryption [View on SkillFed](https://skillfed.io/packages/mautrix) · [View on PyPI](https://pypi.org/project/mautrix/)