Matrix Client-Server SDK for Python 2 and 3
.. 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+
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
Install with pip from pypi. This will install all necessary dependencies as well.
.. code:: shell
pip install matrix_client
Install using
setup.pyin 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
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 MatrixClientclient = 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 MatrixHttpApimatrix = MatrixHttpApi("https://matrix.org", token="some_token") response = matrix.send_message("!roomid:matrix.org", "Hello!")
The SDK is split into two modules:
apiand
client.
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.
This encapsulates the API module and provides object models such as
Room.
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
The documentation can be built by installing
sphinxand
sphinx_rtd_theme.
Simple run
makeinside
docswhich will list the avaliable output formats.