Skip to content

mautrix/python

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mautrix-python

PyPI: mautrix Python versions License: MPL-2.0 Docs Code style Imports

A Python 3.8+ asyncio Matrix framework.

Matrix room: #maunium:maunium.net

Components

  • Basic HTTP request sender (mautrix.api)
  • Client API endpoints as functions (mautrix.client.api)
  • Medium-level application service framework (mautrix.appservice)
    • Basic transaction and user/alias query support (based on Cadair's python-appservice-framework)
    • Basic room state storage
    • Intent wrapper around the client API functions (design based on matrix-appservice-bridge)
  • Medium-level end-to-end encryption framework (mautrix.crypto)
    • Handles all the complicated e2ee key exchange
    • Uses libolm through python-olm for the low-level crypto
  • High-level bridging utility framework (mautrix.bridge)
    • Base class for bridges
    • Common bridge configuration and appservice registration generation things
    • Double-puppeting helper
    • End-to-bridge encryption helper
  • High-level client framework (mautrix.client)
    • Syncing and event handling helper.
    • End-to-end encryption helper.
  • Utilities (mautrix.util)
    • Matrix HTML parsing and generating utilities
    • Manhole system (get a python shell in a running process)
    • YAML config helpers
    • Database helpers (new: asyncpg, legacy: SQLAlchemy)
    • Color logging utility
    • Very simple HMAC-SHA256 utility for signing tokens (like JWT, but hardcoded to use a single good algorithm)