RFC9420 Documentation
This folder documents the current provider-based API in src/rfc9420.
Start Here
- Getting Started: install, configure providers, create/join a group.
- Examples: practical end-to-end snippets.
- API Reference: public classes, methods, and backends.
- Advanced Features: external commit, PSK, re-init, policy, X.509.
- Architecture: how
session,group,protocol,providers, andbackendsfit together.
What Changed In This Refactor
The package now centers on:
GroupConfig(rfc9420.providers.config) to compose crypto/storage/identity/rand.MLSGroup(rfc9420.group.mls_group) with staged commits:create_commit(...) -> StagedCommitawait staged.merge(storage_provider)group.apply_staged_commit(staged)MLSGroupSession(rfc9420.api.session) as a sync, byte-oriented wrapper around the staged flow.PublicGroup(rfc9420.group.public_group) for passive validation (no secrets).
Recommended Reading Order
Dev Commands
uv sync --dev
uv run ruff check .
uv run mypy src
uv run pytest -q