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
uvmanages 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-ffishared 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-apidocoversrc/matrix_sdk_pythonafter bindings have been generated.
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83e9b3321db6cae43c160aba6ca976090c7e3dc44fd44c97381855a05c9365ce
|
|
| MD5 |
8c8bfb91f423e5fc67eb6d26ce1b8c39
|
|
| BLAKE2b-256 |
4abef38c7c5477aa1cf4f82f6009a2ba9467d185f0d8c774a3c8bc749369514b
|