Client-Server SDK for Matrix
Project description
Matrix Client SDK for Python
============================
.. image:: https://img.shields.io/pypi/v/matrix-client.svg?maxAge=600
:target: https://pypi-hypernode.com/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
This is a Matrix client-server SDK for Python 2.7 and 3.4+
Community discussion on usage of this SDK and development of this SDK can be
found at `#matrix-python-sdk:matrix.org`_.
.. _`#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_with_password(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.
============================
.. image:: https://img.shields.io/pypi/v/matrix-client.svg?maxAge=600
:target: https://pypi-hypernode.com/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
This is a Matrix client-server SDK for Python 2.7 and 3.4+
Community discussion on usage of this SDK and development of this SDK can be
found at `#matrix-python-sdk:matrix.org`_.
.. _`#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_with_password(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.
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
matrix_client-0.2.0.tar.gz
(34.9 kB
view details)
Built Distribution
File details
Details for the file matrix_client-0.2.0.tar.gz
.
File metadata
- Download URL: matrix_client-0.2.0.tar.gz
- Upload date:
- Size: 34.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b96e87adf1bc2270166b2a4cff1320d2ef283779ea8b3c4edd0d9051fc7b7924 |
|
MD5 | 373d961b0258ba2644fc110d4ccd94c6 |
|
BLAKE2b-256 | 8054a5d12bef76bf5afd2899cfe3eac088768714de03e5ecd00b3ed2456550f1 |
Provenance
File details
Details for the file matrix_client-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: matrix_client-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 138cc15937c04edc1fdfc25ef0bc630fa34a086a387a56b709359d26a31cbdc2 |
|
MD5 | 1c4e945bf019840dde39ed24e648232b |
|
BLAKE2b-256 | 7d25878db485dd74c058e4ad4d1e73b4174fdc9cd4a54dd6227e14684a0f6133 |