shrike
AT Protocol library for Rust. Designed to be correct, fast, and easy to use.
Modules
| Module | Description |
|---|---|
shrike::syntax |
core identifier types (DID, Handle, NSID, AT-URI, TID, RecordKey) |
shrike::cbor |
DAG-CBOR encoding and decoding |
shrike::crypto |
P-256 and secp256k1 signing, verification, and did:key encoding |
shrike::mst |
Merkle Search Tree implementation |
shrike::repo |
AT Protocol repository with signed commits |
shrike::car |
CAR v1 archive reading and writing |
shrike::lexicon |
Lexicon schema loading and record validation |
shrike::xrpc |
XRPC HTTP client with retry and auth |
shrike::xrpc_server |
Axum-based XRPC server framework |
shrike::identity |
DID resolution and handle verification |
shrike::streaming |
firehose and Jetstream WebSocket consumers |
shrike::sync |
repository download and verification |
shrike::backfill |
concurrent bulk repo downloading |
shrike::labeling |
label signing and verification |
shrike::oauth |
OAuth 2.0 client with PKCE and DPoP |
shrike::api |
generated types and functions for the com.atproto.*, app.bsky.*, etc. lexicons |
Each module is behind a feature flag. Enable full for everything, or pick what you need.
[]
= { = "0.1", = ["full"] }
License
Dual-licensed under MIT and Apache 2.0.