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