# SDKs

## 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.

Repository: https://github.com/gergelypolonkai/matrix-glib-sdk

## MatrixAPI

A Matrix library for C# UWP.

Repository: https://github.com/VRocker/MatrixAPI

## 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

Repository: https://gitlab.com/vurpo/godot-matrix

## mtxclient

SDK built on top of Boost.Asio

Repository: https://github.com/mujx/mtxclient

## 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.

Repository: https://github.com/QMatrixClient/libQMatrixClient

## mautrix-go

A Golang Matrix framework.

Repository: https://github.com/tulir/mautrix-go

## gomatrix

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

Repository: https://github.com/matrix-org/gomatrix

## Matrix on Haxe

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

Repository: https://notabug.org/Tamaimo/haxe-matrix-im

## Matrix.org Android SDK

Matrix.org’s Android SDK (github)

Repository: https://github.com/matrix-org/matrix-android-sdk

## 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.

Repository: https://github.com/kamax-io/matrix-java-sdk

## botkit-matrix

A Botkit connector for Matrix

### Install

`$ npm install botkit-matrix`

### Usage

```JavaScript 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

Repository: https://github.com/frankgerhardt/botkit-matrix

## Matrix.org JS SDK

Matrix.org’s JS SDK.

Repository: https://github.com/matrix-org/matrix-js-sdk

## Matrix.org iOS SDK

Matrix.org’s iOS SDK.

Repository: https://github.com/matrix-org/matrix-ios-sdk

## Matrix.org MatrixKit (iOS)

Matrix.org’s reusable UI interfaces for iOS.

Repository: https://github.com/matrix-org/matrix-ios-kit

## Drupal matrix_api module

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

Repository: https://cgit.drupalcode.org/matrix_api

## Net::Async::Matrix (Perl)

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

Repository: https://metacpan.org/release/Net-Async-Matrix

## Matrix::Client

Perl6 Matrix client. github

Repository: https://github.com/matiaslina/perl6-matrix-client

## maubot

A plugin-based Matrix bot system written in Python.

Repository: https://github.com/maubot/maubot

## 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/

Repository: https://github.com/matrix-org/matrix-python-sdk

## mautrix-python

mautrix-python is a Python 3 asyncio Matrix framework.

Repository: https://github.com/tulir/mautrix-python

Repository: https://github.com/tulir/mautrix-python

## opsdroid

opsdroid is a simple and extensible bot framework and has built-in support for matrix.

There is also a plugin which allows you to use the matrix room state as a store for opsdroid’s memory. database-matrix

Repository: https://github.com/opsdroid/opsdroid

## 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.

Repository: https://gitlab.com/aidalgol/racket-matrix-sdk/

## 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.

Repository: https://github.com/ananace/ruby-matrix-sdk

## 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

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

## 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.

Repository: https://github.com/turt2live/matrix-js-bot-sdk