matrix-nio


Namematrix-nio JSON
Version 0.24.0 PyPI version JSON
download
home_pagehttps://github.com/poljar/matrix-nio
SummaryA Python Matrix client library, designed according to sans I/O principles.
upload_time2024-01-18 08:27:02
maintainer
docs_urlNone
authorDamir Jelić
requires_python>=3.8.0,<4.0.0
licenseISC
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            nio
===

[![Build Status](https://img.shields.io/github/actions/workflow/status/poljar/matrix-nio/tests.yml?branch=main&style=flat-square)](https://github.com/poljar/matrix-nio/actions)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/matrix-nio?style=flat-square)](https://pypi.org/project/matrix-nio/)
[![codecov](https://img.shields.io/codecov/c/github/poljar/matrix-nio/master.svg?style=flat-square)](https://codecov.io/gh/poljar/matrix-nio)
[![license](https://img.shields.io/badge/license-ISC-blue.svg?style=flat-square)](https://github.com/poljar/matrix-nio/blob/master/LICENSE.md)
[![Documentation Status](https://readthedocs.org/projects/matrix-nio/badge/?version=latest&style=flat-square)](https://matrix-nio.readthedocs.io/en/latest/?badge=latest)
[![#nio](https://img.shields.io/badge/matrix-%23nio:matrix.org-blue.svg?style=flat-square)](https://matrix.to/#/!JiiOHXrIUCtcOJsZCa:matrix.org?via=matrix.org&via=maunium.net&via=t2l.io)

nio is a multilayered [Matrix](https://matrix.org/) 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](https://github.com/aio-libs/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](https://matrix-nio.readthedocs.io/en/latest/#api-documentation)

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](https://matrix.org/docs/spec/client_server/r0.6.0#id183)
- ✅ 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](https://github.com/poljar/matrix-nio/issues/112))
- ❌ threading support
- ❌ in-room emoji verification

Installation
------------

To install nio, simply use pip:

```bash
$ 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](https://gitlab.matrix.org/matrix-org/olm) 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](https://brew.sh/) 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:

```bash
$ 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](https://matrix-nio.readthedocs.io/en/latest/examples.html)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/poljar/matrix-nio",
    "name": "matrix-nio",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8.0,<4.0.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Damir Jeli\u0107",
    "author_email": "poljar@termina.org.uk",
    "download_url": "https://files.pythonhosted.org/packages/56/fa/7201f86adce5bd1b63f8970904d51a274ed2ea30160da51a60ac7a8597fe/matrix_nio-0.24.0.tar.gz",
    "platform": null,
    "description": "nio\n===\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/poljar/matrix-nio/tests.yml?branch=main&style=flat-square)](https://github.com/poljar/matrix-nio/actions)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/matrix-nio?style=flat-square)](https://pypi.org/project/matrix-nio/)\n[![codecov](https://img.shields.io/codecov/c/github/poljar/matrix-nio/master.svg?style=flat-square)](https://codecov.io/gh/poljar/matrix-nio)\n[![license](https://img.shields.io/badge/license-ISC-blue.svg?style=flat-square)](https://github.com/poljar/matrix-nio/blob/master/LICENSE.md)\n[![Documentation Status](https://readthedocs.org/projects/matrix-nio/badge/?version=latest&style=flat-square)](https://matrix-nio.readthedocs.io/en/latest/?badge=latest)\n[![#nio](https://img.shields.io/badge/matrix-%23nio:matrix.org-blue.svg?style=flat-square)](https://matrix.to/#/!JiiOHXrIUCtcOJsZCa:matrix.org?via=matrix.org&via=maunium.net&via=t2l.io)\n\nnio is a multilayered [Matrix](https://matrix.org/) client library. The\nunderlying base layer doesn't do any network IO on its own, but on top of that\nis a full-fledged batteries-included asyncio layer using\n[aiohttp](https://github.com/aio-libs/aiohttp/). File IO is only done if you\nenable end-to-end encryption (E2EE).\n\nDocumentation\n-------------\n\nThe full API documentation for nio can be found at\n[https://matrix-nio.readthedocs.io](https://matrix-nio.readthedocs.io/en/latest/#api-documentation)\n\nFeatures\n--------\n\nnio has most of the features you'd expect in a Matrix library, but it's still a work in progress.\n\n- \u2705 transparent end-to-end encryption (EE2E)\n- \u2705 encrypted file uploads & downloads\n- \u2705 space parents/children\n- \u2705 manual and emoji verification\n- \u2705 custom [authentication types](https://matrix.org/docs/spec/client_server/r0.6.0#id183)\n- \u2705 well-integrated type system\n- \u2705 knocking, kick, ban and unban\n- \u2705 typing notifications\n- \u2705 message redaction\n- \u2705 token based login\n- \u2705 user registration\n- \u2705 read receipts\n- \u2705 live syncing\n- \u2705 `m.reaction`s\n- \u2705 `m.tag`s\n- \u274c cross-signing support\n- \u274c server-side key backups (room key backup, \"Secure Backup\")\n- \u274c user deactivation ([#112](https://github.com/poljar/matrix-nio/issues/112))\n- \u274c threading support\n- \u274c in-room emoji verification\n\nInstallation\n------------\n\nTo install nio, simply use pip:\n\n```bash\n$ pip install matrix-nio\n```\n\nNote that this installs nio without end-to-end encryption support. For e2ee\nsupport, python-olm is needed which requires the\n[libolm](https://gitlab.matrix.org/matrix-org/olm) C library (version 3.x).\nOn Debian and Ubuntu one can use `apt-get` to install package `libolm-dev`.\nOn Fedora one can use `dnf` to install package `libolm-devel`.\nOn MacOS one can use [brew](https://brew.sh/) to install package `libolm`.\nMake sure version 3 is installed.\n\nAfter libolm has been installed, the e2ee enabled version of nio can be\ninstalled using pip:\n\n```bash\n$ pip install matrix-nio[e2e]\n```\n\nAdditionally, a docker image with the e2ee enabled version of nio is provided in\nthe `docker/` directory.\n\nExamples\n--------\n\nFor examples of how to use nio, and how others are using it,\n[read the docs](https://matrix-nio.readthedocs.io/en/latest/examples.html)\n\n",
    "bugtrack_url": null,
    "license": "ISC",
    "summary": "A Python Matrix client library, designed according to sans I/O principles.",
    "version": "0.24.0",
    "project_urls": {
        "Documentation": "https://matrix-nio.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/poljar/matrix-nio",
        "Repository": "https://github.com/poljar/matrix-nio"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "123aee8afa828c70e60007f204416e875d4cd7f1a7dd361d00ed76ac646aef7d",
                "md5": "ddb794693ad6323c33d785fde741d2a6",
                "sha256": "87bcf8139e081e8e85ced2d02a2be08662bf1accb726e850325b4ab3c840e946"
            },
            "downloads": -1,
            "filename": "matrix_nio-0.24.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ddb794693ad6323c33d785fde741d2a6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.0,<4.0.0",
            "size": 176188,
            "upload_time": "2024-01-18T08:27:00",
            "upload_time_iso_8601": "2024-01-18T08:27:00.061883Z",
            "url": "https://files.pythonhosted.org/packages/12/3a/ee8afa828c70e60007f204416e875d4cd7f1a7dd361d00ed76ac646aef7d/matrix_nio-0.24.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56fa7201f86adce5bd1b63f8970904d51a274ed2ea30160da51a60ac7a8597fe",
                "md5": "ddec62f994ac98f196d1e5e1da487269",
                "sha256": "75f9c58958dbe353bec29be1854835df6d91e6f3be2952261a3a27c99ea896b9"
            },
            "downloads": -1,
            "filename": "matrix_nio-0.24.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ddec62f994ac98f196d1e5e1da487269",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.0,<4.0.0",
            "size": 150552,
            "upload_time": "2024-01-18T08:27:02",
            "upload_time_iso_8601": "2024-01-18T08:27:02.692663Z",
            "url": "https://files.pythonhosted.org/packages/56/fa/7201f86adce5bd1b63f8970904d51a274ed2ea30160da51a60ac7a8597fe/matrix_nio-0.24.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-18 08:27:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "poljar",
    "github_project": "matrix-nio",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "matrix-nio"
}
        
Elapsed time: 0.16687s