A Python Matrix client library, designed according to sans I/O (http://sans-io.readthedocs.io/) principles
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).
The full API documentation for nio can be found at
https://matrix-nio.readthedocs.io
nio has most of the features you’d expect in a Matrix library, but it’s still a work in progress.
m.reaction
sm.tag
sTo 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.
For examples of how to use nio, and how others are using it,
read the docs