https://github.com/shadowjonathan/axiom
Python Matrix Homeserver implementation aimed for easy prototyping and experimentation
https://github.com/shadowjonathan/axiom
matrix-homeserver matrix-protocol
Last synced: 6 months ago
JSON representation
Python Matrix Homeserver implementation aimed for easy prototyping and experimentation
- Host: GitHub
- URL: https://github.com/shadowjonathan/axiom
- Owner: ShadowJonathan
- License: eupl-1.2
- Created: 2021-02-17T13:42:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-02-18T14:29:23.000Z (over 4 years ago)
- Last Synced: 2025-02-08T14:23:05.446Z (8 months ago)
- Topics: matrix-homeserver, matrix-protocol
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `axiom`
A minimal Matrix Homeserver implementation for testing and prototyping.
It's objective is to provide a codebase that is easy for developers to fork and iterate prototyping
It is not intended to be a heavily-used or stable homeserver implementation, the focus is an easy gate into a matrix
feature, stability and master-branch compatibility with the matrix spec and ecosystem comes second.*Licensed under the EUPL*
## Structure
Most/all `axiom` classes are intended to be subclassed and implemented for experimental purposes, but there are a few
pointers to its intended structure and operational boundaries;`axiom.network` contains code for communication, this communication can be capsuled, redirected, or sub-implemented (
e.g. `axiom.network.http`), but no logic happens here.`axiom.server` contains code pertaining to the real "meat and bones" of a matrix server, the "logic".
`axiom.storage` contains code for storage and retrieval.
All classes provided are intended to be abstract, default implementations may be provided, but ultimately, the goal is
to provide a generic framework for matrix-server-oriented prototyping, with specialization in those three sub-modules.