Skip to main content

Python bindings for matrix-rust-sdk via UniFFI

Project description

matrix-sdk-python

Python bindings for matrix-rust-sdk built from the existing matrix-sdk-ffi UniFFI layer.

Overview

This repository packages the upstream Rust FFI bindings as a Python distribution:

  • Rust FFI source lives in matrix-rust-sdk/bindings/matrix-sdk-ffi
  • Python packaging lives in this repository root
  • uv manages the Python project and developer workflows
  • GitHub Actions builds platform wheels and publishes them to PyPI and GitHub Releases

Requirements

  • Python 3.10+
  • uv
  • Rust toolchain
  • Git with submodule support

Development

Sync dependencies:

uv sync

Generate Python bindings and copy the native library into the package tree:

uv run python scripts/build_bindings.py --profile reldev

Use the package through the top-level public API, for example:

from matrix_sdk_python import MediaSource, matrix_to_user_permalink

Build the Sphinx API documentation locally:

uv run python scripts/build_docs.py

Run smoke tests:

uv run pytest

Build wheel and sdist metadata locally:

uv build

Notes

  • The generated UniFFI Python modules are treated as build artifacts and are not checked in.
  • Wheels are platform-specific because they bundle the native matrix-sdk-ffi shared library.
  • The first release path is optimized for wheel publication; source installs are not the primary target.
  • The Sphinx docs build exports the full generated Python API surface by running sphinx-apidoc over src/matrix_sdk_python after bindings have been generated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matrix_sdk_python-0.18.0a1-cp314-cp314-win_amd64.whl (25.1 MB view details)

Uploaded CPython 3.14Windows x86-64

File details

Details for the file matrix_sdk_python-0.18.0a1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: matrix_sdk_python-0.18.0a1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 25.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for matrix_sdk_python-0.18.0a1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 83e9b3321db6cae43c160aba6ca976090c7e3dc44fd44c97381855a05c9365ce
MD5 8c8bfb91f423e5fc67eb6d26ce1b8c39
BLAKE2b-256 4abef38c7c5477aa1cf4f82f6009a2ba9467d185f0d8c774a3c8bc749369514b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page