Installation
Requirements
Section titled “Requirements”- Python 3.11 or later
- The
cryptographylibrary (installed automatically)
Install
Section titled “Install”pip install synpareiaOr with uv:
uv add synpareiaOptional dependencies
Section titled “Optional dependencies”SQLite storage backend
Section titled “SQLite storage backend”For persistent chain storage using SQLite:
pip install synpareia[sqlite]This adds aiosqlite for async SQLite operations. Without it, chains use in-memory storage (fast but ephemeral).
Verify installation
Section titled “Verify installation”import synpareiafrom synpareia import templates
print(synpareia.__version__)
# Quick smoke testprofile = synpareia.generate()chain = synpareia.create_chain(profile, policy=templates.cop(profile))block = synpareia.create_block(profile, "message", "test")chain.append(block)
# `verify` needs the public keys of whoever signed the blocks. Without them it# returns False and tells you so — it will not silently claim a chain is fine# when it has checked no signatures.valid, errors = chain.verify(public_keys={profile.id: profile.public_key})assert valid, errorsprint("synpareia is working")For development
Section titled “For development”If you’re contributing to synpareia:
git clone https://github.com/synpareia/synpareia.gitcd synpareiauv sync --extra devmake testSee CONTRIBUTING.md for the full development workflow.
Built by Sam Hyland · Canberra, Australia