SDKs

Language / PlatformMaintainerRepoMatrix RoomSupports E2E
Matrix.org iOS SDKObjective-CMatrix.org teamhttps://github.com/matrix-org/matrix-ios-sdk#riot-ios:matrix.orgYes
Matrix.org Android SDKJavaMatrix.org teamhttps://github.com/matrix-org/matrix-android-sdk#riot-android:matrix.orgYes
Matrix.org Python SDKPythonMatrix.org teamhttps://github.com/matrix-org/matrix-python-sdk#matrix-python-sdk:matrix.org
Matrix.org JS SDKJavaScriptMatrix.org teamhttps://github.com/matrix-org/matrix-js-sdkYes
Matrix.org MatrixKit (iOS)Objective-CMatrix.org teamhttps://github.com/matrix-org/matrix-ios-kit#riot-ios:matrix.orgYes
Matrix Client SDK for GLibCGergely Polonkaihttps://github.com/gergelypolonkai/matrix-glib-sdk
Net::Async::Matrix (Perl)PerlLeoNerdhttps://metacpan.org/release/Net-Async-Matrix
libQMatrixClientC++/QtQMatrixClient teamhttps://github.com/QMatrixClient/libQMatrixClient#qmatrixclient:matrix.org
Drupal matrix_api modulePHPfreelockhttps://cgit.drupalcode.org/matrix_api
gomatrixGoMatrix.orghttps://github.com/matrix-org/gomatrix
Matrix Java SDKJavaKamax.iohttps://github.com/kamax-io/matrix-java-sdk#matrix-java-sdk:kamax.io
Glitch in the MatrixRustetahttps://github.com/eeeeeta/glitch-in-the-matrix
godot-matrixC++vurpohttps://gitlab.com/vurpo/godot-matrix
Matrix on HaxeHaxeendeshttps://notabug.org/Tamaimo/haxe-matrix-im
Matrix::ClientPerlmatiaslinahttps://github.com/matiaslina/perl6-matrix-client
matrix-js-bot-sdkTypeScriptTravis Ralstonhttps://github.com/turt2live/matrix-js-bot-sdk#matrix-bot-sdk:t2bot.io
mautrix-pythonPythontulirhttps://github.com/tulir/mautrix-python#maunium.net:maunium.net
mautrix-goGoTulirhttps://github.com/tulir/mautrix-go#maunium.net:maunium.net
mtxclientC++mujxhttps://github.com/mujx/mtxclient
Ruby Matrix SDKRubyAnanacehttps://github.com/ananace/ruby-matrix-sdk#ruby-matrix-sdk:kittenface.studio
Racket Matrix SDKRacketAidan Gaulandhttps://gitlab.com/aidalgol/racket-matrix-sdk/
MatrixAPIC#VRockerhttps://github.com/VRocker/MatrixAPI
botkit-matrixJavaScriptfrankgerhardthttps://github.com/frankgerhardt/botkit-matrixYes

Matrix.org iOS SDK

Matrix.org's iOS SDK.

Matrix.org Android SDK

Matrix.org's Android SDK (github)

Matrix.org Python SDK

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.

Documentation can be found at https://matrix-org.github.io/matrix-python-sdk/

Matrix.org JS SDK

Matrix.org's JS SDK.

Matrix.org MatrixKit (iOS)

Matrix.org's reusable UI interfaces for iOS.

Matrix Client SDK for GLib

A Matrix.org client-server SDK for GLib >= 2.40. It contains both raw API calls and a signal based asynchronous client.

Net::Async::Matrix (Perl)

LeoNerd's Net::Async::Matrix client SDK library for Perl: https://metacpan.org/release/Net-Async-Matrix

libQMatrixClient

libqmatrixclient is a Qt-based library to make IM clients for Matrix. Quaternion is a reference client using its features; together with the library they form the QMatrixClient project. The SDK is also used by Spectral and uMatriks.

The project lives in QMatrixClient GitHub space. Aside from the dedicated Matrix room (see above), news about the library are regularly posted to This Week in Matrix.

Drupal matrix_api module

A Drupal API module to facilitate posting messages into Matrix rooms. Drupal.org

gomatrix

Official Golang Matrix client SDK, as used by go-neb and others

Matrix Java SDK

The Java SDK provides a low level (I/O synchronous) object oriented library to interact with Matrix. It is aimed to regular clients, bots, bridges and generic Application Services.

It is currently work in progress, is incomplete and is early alpha.

Github

Glitch in the Matrix

Glitch in the Matrix is a set of (minimal) Matrix bindings for Rust.

https://github.com/eeeeeta/glitch-in-the-matrix

godot-matrix

Module for Godot Engine that lets you easily integrate a Matrix client into a game developed using Godot (for example for in-game chat, matchmaking, lobbies, or something else entirely). Source

Matrix on Haxe

Implementation of client-server matrix API in haxe using HaxeHttpClient.

haxelib Source

Matrix::Client

Perl6 Matrix client. github

matrix-js-bot-sdk

Bots on matrix often have very different requirements than regular clients or users. This SDK is aimed towards making bots more lightweight and responsive. Much of the library is a direct proxy to the client/server API, however it abstracts away the HTTP part as much as possible.

The source, and more information, can be found on GitHub.

mautrix-python

mautrix-python is a Python 3 asyncio Matrix framework.

mautrix-go

A Golang Matrix framework.

mtxclient

SDK built on top of Boost.Asio

Ruby Matrix SDK

An SDK for building Matrix communication applications in Ruby

Available on github, and on rubygems.org as matrix_sdk.

Some examples can be found on github as well.

Racket Matrix SDK

Available on GitLab. Still very early stages and only useful to developers already familiar with both the Matrix client API and the Racket language.

MatrixAPI

A Matrix library for C# UWP.

botkit-matrix

A Botkit connector for Matrix

Install

$ npm install botkit-matrix

Usage

let config = {
    'baseUrl': 'https://matrix.org',
    'botUserId': '@youruserid:matrix.org',
    'password': 'yourpassword',
    'localStorage': 'filepath'
};

require('botkit-matrix').MatrixController(config)
.then((controller) => {

    controller.hears(['hi', 'hello'], 'message_received', function (bot, message) {
        bot.reply(message, "Hello, world!");
    });
});

You can get a sample bot at botkit-matrix-sample

For more features see Botkit Core