Highly ambitious ATProtocol AppView service and sdks
1[package]
2name = "slices"
3version = "0.2.0"
4edition = "2024"
5
6[dependencies]
7# Core async runtime
8tokio = { version = "1.0", features = ["full"] }
9
10# Database and ORM
11sqlx = { version = "0.8", features = ["postgres", "chrono", "json", "runtime-tokio-rustls", "migrate"] }
12
13# Serialization
14serde = { version = "1.0", features = ["derive"] }
15serde_json = "1.0"
16
17# Lexicon validation
18slices-lexicon = { path = "../crates/slices-lexicon" }
19
20# HTTP client and server
21reqwest = { version = "0.12", features = ["json", "stream"] }
22axum = { version = "0.8", features = ["ws", "macros"] }
23axum-extra = { version = "0.10", features = ["form"] }
24tower = "0.5"
25tower-http = { version = "0.6", features = ["cors", "trace"] }
26
27# Error handling
28thiserror = "1.0"
29anyhow = "1.0"
30
31# Logging and tracing
32tracing = "0.1"
33tracing-subscriber = { version = "0.3", features = ["env-filter"] }
34
35# Time handling
36chrono = { version = "0.4", features = ["serde"] }
37
38# UUID generation
39uuid = { version = "1.0", features = ["v4", "serde"] }
40
41# Base64 encoding for cursors
42base64 = "0.22"
43
44# Environment variables
45dotenvy = "0.15"
46
47# Async utilities
48futures-util = "0.3"
49async-trait = "0.1"
50
51# AT Protocol client
52atproto-client = "0.12.0"
53atproto-identity = "0.12.0"
54atproto-oauth = "0.12.0"
55atproto-jetstream = "0.12.0"
56
57
58# Middleware for HTTP requests with retry logic
59reqwest-middleware = { version = "0.4.2", features = ["json", "multipart"] }
60reqwest-chain = "1.0.0"
61
62# Job queue
63sqlxmq = "0.6"
64regex = "1.11.2"
65
66# Redis for caching and pub/sub
67redis = { version = "0.32", features = ["tokio-comp", "connection-manager", "aio"] }
68
69# GraphQL server
70async-graphql = { version = "7.0", features = ["dynamic-schema", "dataloader"] }
71async-graphql-axum = "7.0"
72lazy_static = "1.5"
73async-stream = "0.3"