158 lines
4.8 KiB
Plaintext
158 lines
4.8 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: matrix-client
|
|
Version: 0.4.0
|
|
Summary: Client-Server SDK for Matrix
|
|
Home-page: https://github.com/matrix-org/matrix-python-sdk
|
|
Author: The Matrix.org Team
|
|
Author-email: team@matrix.org
|
|
License: Apache License, Version 2.0
|
|
Keywords: chat sdk matrix matrix.org
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 3 - Alpha
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Topic :: Communications :: Chat
|
|
Classifier: Topic :: Communications :: Conferencing
|
|
Description-Content-Type: text/x-rst
|
|
License-File: LICENSE
|
|
Requires-Dist: requests (~=2.22)
|
|
Requires-Dist: urllib3 (~=1.21)
|
|
Provides-Extra: doc
|
|
Requires-Dist: Sphinx (==1.*,>=1.7.6) ; extra == 'doc'
|
|
Requires-Dist: sphinx-rtd-theme (==0.1.*,>=0.1.9) ; extra == 'doc'
|
|
Requires-Dist: sphinxcontrib-napoleon (==0.5.*,>=0.5.3) ; extra == 'doc'
|
|
Provides-Extra: e2e
|
|
Requires-Dist: python-olm (~=3.1) ; extra == 'e2e'
|
|
Requires-Dist: canonicaljson (~=1.1) ; extra == 'e2e'
|
|
Provides-Extra: test
|
|
Requires-Dist: pytest (<6.0.0,>=4.6) ; extra == 'test'
|
|
Requires-Dist: responses (==0.10.*,>=0.10.6) ; extra == 'test'
|
|
|
|
Matrix Client SDK for Python
|
|
============================
|
|
|
|
.. image:: https://img.shields.io/pypi/v/matrix-client.svg?maxAge=600
|
|
:target: https://pypi.python.org/pypi/matrix-client
|
|
:alt: Latest Version
|
|
.. image:: https://travis-ci.org/matrix-org/matrix-python-sdk.svg?branch=master
|
|
:target: https://travis-ci.org/matrix-org/matrix-python-sdk
|
|
:alt: Travis-CI Results
|
|
.. image:: https://coveralls.io/repos/github/matrix-org/matrix-python-sdk/badge.svg?branch=master
|
|
:target: https://coveralls.io/github/matrix-org/matrix-python-sdk?branch=master
|
|
:alt: coveralls.io Results
|
|
.. image:: https://img.shields.io/matrix/matrix-python-sdk:matrix.org
|
|
:target: https://matrix.to/#/%23matrix-python-sdk:matrix.org
|
|
:alt: Matrix chatroom
|
|
.. image:: https://img.shields.io/badge/docs-stable-blue
|
|
:target: https://matrix-org.github.io/matrix-python-sdk/
|
|
:alt: Documentation
|
|
|
|
|
|
Matrix client-server SDK for Python 2.7 and 3.4+
|
|
|
|
Project Status
|
|
--------------
|
|
|
|
We strongly recommend using the `matrix-nio`_ library rather than this
|
|
sdk. It is both more featureful and more actively maintained.
|
|
|
|
This sdk is currently lightly maintained without any person ultimately
|
|
responsible for the project. Pull-requests **may** be reviewed, but no
|
|
new-features or bug-fixes are being actively developed. For more info
|
|
or to volunteer to help, please see
|
|
https://github.com/matrix-org/matrix-python-sdk/issues/279 or come
|
|
chat in `#matrix-python-sdk:matrix.org`_.
|
|
|
|
.. _`matrix-nio`: https://github.com/poljar/matrix-nio
|
|
.. _`#matrix-python-sdk:matrix.org`: https://matrix.to/#/%23matrix-python-sdk:matrix.org
|
|
|
|
Installation
|
|
============
|
|
Stable release
|
|
--------------
|
|
Install with pip from pypi. This will install all necessary dependencies as well.
|
|
|
|
.. code:: shell
|
|
|
|
pip install matrix_client
|
|
|
|
Development version
|
|
-------------------
|
|
Install using ``setup.py`` in root project directory. This will also install all
|
|
needed dependencies.
|
|
|
|
.. code:: shell
|
|
|
|
git clone https://github.com/matrix-org/matrix-python-sdk.git
|
|
cd matrix-python-sdk
|
|
python setup.py install
|
|
|
|
Usage
|
|
=====
|
|
The SDK provides 2 layers of interaction. The low-level layer just wraps the
|
|
raw HTTP API calls. The high-level layer wraps the low-level layer and provides
|
|
an object model to perform actions on.
|
|
|
|
Client:
|
|
|
|
.. code:: python
|
|
|
|
from matrix_client.client import MatrixClient
|
|
|
|
client = MatrixClient("http://localhost:8008")
|
|
|
|
# New user
|
|
token = client.register_with_password(username="foobar", password="monkey")
|
|
|
|
# Existing user
|
|
token = client.login(username="foobar", password="monkey")
|
|
|
|
room = client.create_room("my_room_alias")
|
|
room.send_text("Hello!")
|
|
|
|
|
|
API:
|
|
|
|
.. code:: python
|
|
|
|
from matrix_client.api import MatrixHttpApi
|
|
|
|
matrix = MatrixHttpApi("https://matrix.org", token="some_token")
|
|
response = matrix.send_message("!roomid:matrix.org", "Hello!")
|
|
|
|
|
|
Structure
|
|
=========
|
|
The SDK is split into two modules: ``api`` and ``client``.
|
|
|
|
API
|
|
---
|
|
This contains the raw HTTP API calls and has minimal business logic. You can
|
|
set the access token (``token``) to use for requests as well as set a custom
|
|
transaction ID (``txn_id``) which will be incremented for each request.
|
|
|
|
Client
|
|
------
|
|
This encapsulates the API module and provides object models such as ``Room``.
|
|
|
|
Samples
|
|
=======
|
|
A collection of samples are included, written in Python 3.
|
|
|
|
You can either install the SDK, or run the sample like this:
|
|
|
|
.. code:: shell
|
|
|
|
PYTHONPATH=. python samples/samplename.py
|
|
|
|
Building the Documentation
|
|
==========================
|
|
|
|
The documentation can be built by installing ``sphinx`` and ``sphinx_rtd_theme``.
|
|
|
|
Simple run ``make`` inside ``docs`` which will list the avaliable output formats.
|
|
|
|
|