A Python Matrix client library, designed according to sans I/O principles.
Project description
mindroom-nio
This fork exists primarily because I need vodozemac-backed E2EE support for
MindRoom, which relies heavily on
nio. libolm is officially deprecated, and the python-olm wheels currently stop
at CPython 3.12, making the old dependency path a poor fit for newer Python
versions. This fork keeps that support, plus a small set of other useful
pending upstream PRs, available in a published package while upstream activity
is quiet. I would be happy to see the upstream project become active again and
reduce fork-specific maintenance over time.
mindroom-nio is a fork of nio, a multilayered Matrix
client library. The distribution name is mindroom-nio; the Python import name
remains nio. 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 mindroom-nio, simply use pip:
$ pip install mindroom-nio
Note that this installs mindroom-nio without end-to-end encryption support. The e2ee enabled version can be installed using pip:
$ pip install "mindroom-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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mindroom_nio-0.25.3.tar.gz.
File metadata
- Download URL: mindroom_nio-0.25.3.tar.gz
- Upload date:
- Size: 161.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a9b35303e3536aba255589da2de81b7c429887ec9ef2caa529b168d19090842
|
|
| MD5 |
6256e2a916c09d44eeaa6c8996cda0c6
|
|
| BLAKE2b-256 |
965e5fc10f5cff3ca0db36920a644a1a4c8b7cf70f6730b54877f0df1d11e86a
|
Provenance
The following attestation bundles were made for mindroom_nio-0.25.3.tar.gz:
Publisher:
release.yml on mindroom-ai/mindroom-nio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mindroom_nio-0.25.3.tar.gz -
Subject digest:
3a9b35303e3536aba255589da2de81b7c429887ec9ef2caa529b168d19090842 - Sigstore transparency entry: 1437900679
- Sigstore integration time:
-
Permalink:
mindroom-ai/mindroom-nio@4fa1d2f3b8d02ca531a29dd7a31dcc0334167497 -
Branch / Tag:
refs/tags/0.25.3 - Owner: https://github.com/mindroom-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4fa1d2f3b8d02ca531a29dd7a31dcc0334167497 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mindroom_nio-0.25.3-py3-none-any.whl.
File metadata
- Download URL: mindroom_nio-0.25.3-py3-none-any.whl
- Upload date:
- Size: 188.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e97f4e8eb1ee5e6f0371a8ef6130fcfe6a4f56ac840f831bcaabb5f96dd435a
|
|
| MD5 |
88139ab547eebb71863071c23bdbf7d8
|
|
| BLAKE2b-256 |
601ea140ec1d07344e8353bfc712e4e7553463ccaf87f857c314e048c8c55c8b
|
Provenance
The following attestation bundles were made for mindroom_nio-0.25.3-py3-none-any.whl:
Publisher:
release.yml on mindroom-ai/mindroom-nio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mindroom_nio-0.25.3-py3-none-any.whl -
Subject digest:
5e97f4e8eb1ee5e6f0371a8ef6130fcfe6a4f56ac840f831bcaabb5f96dd435a - Sigstore transparency entry: 1437900692
- Sigstore integration time:
-
Permalink:
mindroom-ai/mindroom-nio@4fa1d2f3b8d02ca531a29dd7a31dcc0334167497 -
Branch / Tag:
refs/tags/0.25.3 - Owner: https://github.com/mindroom-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4fa1d2f3b8d02ca531a29dd7a31dcc0334167497 -
Trigger Event:
push
-
Statement type: