at protocol indexer with flexible filtering, xrpc queries, and a cursor-backed event stream, built on fjall
at-protocol
atproto
indexer
rust
fjall
1[package]
2name = "hydrant"
3version = "0.1.0"
4edition = "2024"
5
6[dependencies]
7tokio = { version = "1.0", features = ["full"] }
8n0-future = "0.3"
9
10tracing = "0.1"
11tracing-subscriber = { version = "0.3", features = ["env-filter"] }
12miette = { version = "7", features = ["fancy"] }
13
14serde = { version = "1.0", features = ["derive"] }
15serde_bytes = "0.11"
16serde_json = "1.0"
17rmp-serde = { git = "https://github.com/90-008/msgpack-rust.git" }
18
19fjall = "3.0"
20serde_ipld_dagcbor = "0.6"
21
22url = "2.5"
23smol_str = "0.3"
24futures = "0.3"
25reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream", "gzip", "brotli", "zstd", "http2"], default-features = false }
26axum = { version = "0.8.8", features = ["ws", "macros"] }
27tower-http = { version = "0.6.6", features = ["cors", "trace"] }
28tokio-stream = "0.1"
29async-stream = "0.3"
30
31jacquard = { git = "https://tangled.org/nonbinary.computer/jacquard", features = ["streaming"] }
32jacquard-common = { git = "https://tangled.org/nonbinary.computer/jacquard" }
33jacquard-api = { git = "https://tangled.org/nonbinary.computer/jacquard" }
34jacquard-identity = { git = "https://tangled.org/nonbinary.computer/jacquard", features = ["dns", "cache"] }
35jacquard-repo = { git = "https://tangled.org/nonbinary.computer/jacquard" }
36jacquard-axum = { git = "https://tangled.org/nonbinary.computer/jacquard" }
37jacquard-derive = { git = "https://tangled.org/nonbinary.computer/jacquard" }
38chrono = { version = "0.4.43", features = ["serde"] }
39humantime = "2.3.0"
40
41mimalloc = { version = "0.1", features = ["v3"] }
42hex = "0.4"
43scc = "3"
44data-encoding = "2.10.0"
45cid = "0.11.1"
46smallvec = "2.0.0-alpha.12"
47thiserror = "2.0.18"
48rand = "0.10.0"
49glob = "0.3"
50ordermap = { version = "1.1.0", features = ["serde"] }
51arc-swap = "1.8.2"