#client-server #server-api #messaging #ruma #sdk #api-client #service

mxlink

A library for connecting (linking) to the Matrix Client Server API (for building bots, etc.)

10 stable releases

Uses new Rust 2024

1.6.1 Feb 27, 2025
1.6.0 Feb 26, 2025
1.5.0 Jan 24, 2025
1.4.1 Dec 12, 2024
1.3.0 Sep 22, 2024

#2092 in Network programming

Download history 39/week @ 2024-11-22 16/week @ 2024-11-29 141/week @ 2024-12-06 66/week @ 2024-12-13 3/week @ 2024-12-20 2/week @ 2025-01-03 5/week @ 2025-01-10 3/week @ 2025-01-17 122/week @ 2025-01-24 17/week @ 2025-01-31 12/week @ 2025-02-07 14/week @ 2025-02-14 242/week @ 2025-02-21 156/week @ 2025-02-28 9/week @ 2025-03-07

422 downloads per month
Used in baibot

LGPL-3.0

100KB
2K SLoC

Matrix Link (mxlink) is a Rust library (a higher-level abstraction on top of matrix-rust-sdk) for building Matrix services (bots, etc.)

It's similar to headjack, but tries to be less opinionated and more featureful.

It finds use in the 🤖 baibot Matrix bot.

✨ Features

  • 🎈 Easy to use API for getting started with matrix-rust-sdk. See the examples directory or baibot

  • 🔒 Encryption

    • (Optional) At-rest encryption of the session file

    • At-rest encryption of the SQLite data store (performed by matrix-rust-sdk itself)

  • 🔄 (Optional) Support for using matrix-rust-sdk's recovery module for backing up and restoring encryption keys (in case of session / SQLite store data loss)

  • 🖴 Helpers for working with Matrix Account Data on a per-room level or globally

  • 🗂 Some convenience functions around Matrix APIs

Dependencies

~34–54MB
~1M SLoC