A rust implementation of skywatch-phash
at main 1.5 kB view raw
1[package] 2name = "skywatch-phash-rs" 3version = "0.2.0" 4edition = "2024" 5authors = ["Giulia <skywatch@skywatch.blue"] 6description = "Perceptual hash-based image moderation for Bluesky (Rust rewrite)" 7license = "MIT" 8 9[dependencies] 10# Async runtime 11tokio = { version = "1", features = ["full"] } 12futures-util = "0.3" 13 14# ATProto client (Jacquard) - using local path 15jacquard = { path = "../jacquard/crates/jacquard" } 16jacquard-api = { path = "../jacquard/crates/jacquard-api" } 17jacquard-common = { path = "../jacquard/crates/jacquard-common", features = ["websocket"] } 18jacquard-identity = { path = "../jacquard/crates/jacquard-identity" } 19jacquard-oauth = { path = "../jacquard/crates/jacquard-oauth" } 20 21# Serialization 22serde = { version = "1.0", features = ["derive"] } 23serde_json = "1.0" 24 25# HTTP client 26reqwest = { version = "0.12", features = ["json"] } 27 28# Redis 29redis = { version = "0.27", features = ["tokio-comp", "connection-manager"] } 30 31# Image processing 32image = "0.25" 33image_hasher = "3.0" 34 35# Error handling 36miette = { version = "7.6", features = ["fancy"] } 37thiserror = "2.0" 38 39# Logging 40tracing = "0.1" 41tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } 42 43# Config 44dotenvy = "0.15" 45 46# Utilities 47chrono = "0.4" 48url = "2.5" 49futures = "0.3" 50 51# Rate limiting 52governor = "0.8" 53 54[dev-dependencies] 55mockito = "1" 56tokio-test = "0.4" 57 58[[bin]] 59name = "skywatch-phash" 60path = "src/main.rs" 61 62[profile.release] 63opt-level = 3 64lto = true 65codegen-units = 1 66strip = true 67 68[profile.dev] 69opt-level = 0