1
0
Fork
You've already forked matrix-nio
0
forked from alertrix/matrix-nio
matrix-nio, but with some changes for compatibility with sync-only databases
  • Python 99.7%
  • Dockerfile 0.2%
2024年10月26日 14:25:10 +02:00
.github/workflows Activate pypi publishing ( #504 ) 2024年05月28日 03:42:19 -07:00
contrib/archlinux/pkgbuild Publish 0.25.2 2024年10月04日 00:49:07 -07:00
doc Publish 0.25.2 2024年10月04日 00:49:07 -07:00
docker Update Dockerfile: Update version numbers 2022年05月30日 13:14:07 +02:00
examples Pre-commit autoupdate ( #524 ) 2024年09月15日 12:08:35 -07:00
src/nio create a synchronous context for all synchronous methods that might not work in an async context 2024年10月26日 14:01:19 +02:00
tests Pre-commit autoupdate ( #524 ) 2024年09月15日 12:08:35 -07:00
.gitignore ( fix #520 ) utilise the old media path for uploads ( #523 ) 2024年09月13日 20:25:51 -07:00
.nojekyll Move the index.html and nojekyll files. 2019年01月16日 14:26:55 +01:00
.pre-commit-config.yaml Pre-commit autoupdate ( #524 ) 2024年09月15日 12:08:35 -07:00
.readthedocs.yaml Improve dependency resolution + tidy up dependencies ( #516 ) 2024年08月24日 15:04:51 -07:00
apache_license.txt style: Fix formatting using black and isort. 2022年03月17日 18:33:02 +05:30
CHANGELOG.md Publish 0.25.2 2024年10月04日 00:49:07 -07:00
codecov.yml Pre-commit autoupdate + Fix codecov coverage ( #496 ) 2024年05月01日 02:30:05 -07:00
index.html Move the index.html and nojekyll files. 2019年01月16日 14:26:55 +01:00
LICENSE.md Initial commit. 2018年04月06日 13:51:15 +02:00
Makefile Replace type comments with type hints ( #447 ) 2023年10月03日 23:14:31 -07:00
MANIFEST.in nio: Add manifest. 2018年10月10日 16:28:57 +02:00
pyproject.toml dep: require asgiref~=3.8.1 2024年10月26日 14:25:10 +02:00
README.md Pre-commit autoupdate + Fix codecov coverage ( #496 ) 2024年05月01日 02:30:05 -07:00
setup.cfg nio: Remove some unused variables for now. 2018年06月06日 17:47:42 +02:00
tox.ini Improve dependency resolution + tidy up dependencies ( #516 ) 2024年08月24日 15:04:51 -07:00

nio

Build Status PyPI - Python Version codecov license Documentation Status #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.reactions
  • m.tags
  • 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