A Python Matrix client library, designed according to sans I/O principles.
Project description
nio
nio is a multilayered Matrix client library. The underlying base layer doesn't do any network IO on its own, but on top of that is a full-fledged batteries-included asyncio layer using aiohttp. File IO is only done if you enable end-to-end encryption (E2EE).
Documentation
The full API documentation for nio can be found at https://matrix-nio.readthedocs.io
Features
nio has most of the features you'd expect in a Matrix library, but it's still a work in progress.
- ✅ transparent end-to-end encryption (EE2E)
- ✅ encrypted file uploads & downloads
- ✅ space parents/children
- ✅ manual and emoji verification
- ✅ custom authentication types
- ✅ threading support
- ✅ well-integrated type system
- ✅ knocking, kick, ban and unban
- ✅ typing notifications
- ✅ message redaction
- ✅ token based login
- ✅ user registration
- ✅ read receipts
- ✅ live syncing
- ✅
m.reaction
s - ✅
m.tag
s - ❌ cross-signing support
- ❌ server-side key backups (room key backup, "Secure Backup")
- ❌ user deactivation (#112)
- ❌ in-room emoji verification
Installation
To install nio, simply use pip:
$ pip install matrix-nio
Note that this installs nio without end-to-end encryption support. For e2ee
support, python-olm is needed which requires the
libolm C library (version 3.x).
On Debian and Ubuntu one can use apt-get
to install package libolm-dev
.
On Fedora one can use dnf
to install package libolm-devel
.
On MacOS one can use brew to install package libolm
.
Make sure version 3 is installed.
After libolm has been installed, the e2ee enabled version of nio can be installed using pip:
$ pip install matrix-nio[e2e]
Additionally, a docker image with the e2ee enabled version of nio is provided in
the docker/
directory.
Examples
For examples of how to use nio, and how others are using it, read the docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for matrix_nio-0.25.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ca36f1fef873bd848b58c3bfc287843ec94246867e74b3343e523dc1ae65f9 |
|
MD5 | 0c46acf9df3000543e8cf7a748b2cf6f |
|
BLAKE2b-256 | eb7d5e19b4cfd481567e18a4b227470cdcaa30fd6741412b26645e47e96130ca |