Parakeet is a Rust-based Bluesky AppServer aiming to implement most of the functionality required to support the Bluesky client
appview atproto bluesky rust appserver
67
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: format toml

Mia 2a36164b e26332f2

+44 -31
+10 -5
crates/consumer/Cargo.toml
··· 19 19 lexica = { path = "../lexica" } 20 20 metrics = "0.24" 21 21 metrics-exporter-prometheus = "0.16.2" 22 - parakeet-db = { path = "../parakeet-db", default-features = false, features = ["postgres"] } 22 + parakeet-db = { path = "../parakeet-db", default-features = false, features = [ 23 + "postgres" 24 + ] } 23 25 parakeet-index = { path = "../parakeet-index" } 24 26 redis = { version = "0.32", features = ["tokio-native-tls-comp"] } 25 - reqwest = { version = "0.12.12", features = ["native-tls", "brotli", "stream"] } 27 + repo-stream = "0.4.0" 28 + reqwest = { version = "0.12.12", features = ["brotli", "native-tls", "stream"] } 26 29 serde = { version = "1.0", features = ["derive"] } 27 - serde_with = "3.14" 28 30 serde_bytes = "0.11" 29 31 serde_ipld_dagcbor = "0.6" 30 32 serde_json = "1.0" 33 + serde_with = "3.14" 31 34 sled = "0.34.7" 32 35 thiserror = "2" 33 36 tokio = { version = "1.49", features = ["full"] } 34 - tokio-postgres = { version = "0.7", features = ["with-chrono-0_4", "with-serde_json-1"] } 37 + tokio-postgres = { version = "0.7", features = [ 38 + "with-chrono-0_4", 39 + "with-serde_json-1" 40 + ] } 35 41 tokio-stream = "0.1" 36 42 tokio-tungstenite = { version = "0.26.1", features = ["native-tls"] } 37 43 tokio-util = { version = "0.7", features = ["io", "rt"] } 38 44 tracing = "0.1" 39 45 tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } 40 - repo-stream = "0.4.0"
+5 -5
crates/dataloader-rs/Cargo.toml
··· 4 4 edition = "2021" 5 5 authors = ["cksac <cs.cksac@gmail.com>", "Mia"] 6 6 description = "Rust implementation of Facebook's DataLoader using async-await." 7 - keywords = ["batcher", "dataloader", "cache"] 7 + keywords = ["batcher", "cache", "dataloader"] 8 8 categories = ["asynchronous", "caching"] 9 9 license = "MIT/Apache-2.0" 10 10 readme = "README.md" 11 11 repository = "https://github.com/cksac/dataloader-rs" 12 12 homepage = "https://github.com/cksac/dataloader-rs" 13 13 documentation = "https://docs.rs/dataloader" 14 - 15 - [badges] 16 - travis-ci = { repository = "/cksac/dataloader-rs" } 17 14 18 15 [dependencies] 19 - tokio = { version = "1", features = [ "sync", "rt" ] } 16 + tokio = { version = "1", features = ["rt", "sync"] } 20 17 21 18 [dev-dependencies] 22 19 futures = "0.3" 20 + 21 + [badges] 22 + travis-ci = { repository = "/cksac/dataloader-rs" }
+1 -1
crates/parakeet-db/Cargo.toml
··· 6 6 [dependencies] 7 7 chrono = { version = "0.4", features = ["serde"] } 8 8 diesel = { version = "2.3", features = ["chrono", "serde_json"], optional = true } 9 - postgres-types = { version = "0.2.9", optional = true } 9 + postgres-types = { version = "0.2.9", optional = true } 10 10 serde = { version = "1.0", features = ["derive"] } 11 11 serde_json = "1.0" 12 12
+20 -17
crates/parakeet-index/Cargo.toml
··· 8 8 required-features = ["server"] 9 9 10 10 [dependencies] 11 + prost = "0.14" 11 12 tonic = "0.14" 12 13 tonic-prost = "0.14" 13 - prost = "0.14" 14 14 tonic-tracing-opentelemetry = { version = "0.32", optional = true } 15 15 tower = { version = "0.5", optional = true } 16 16 ··· 20 20 opentelemetry = { version = "0.31.0", optional = true } 21 21 opentelemetry-otlp = { version = "0.31.0", features = ["reqwest-rustls"], optional = true } 22 22 opentelemetry_sdk = { version = "0.31.0", optional = true } 23 - rocksdb = { version = "0.24", default-features = false, features = ["lz4", "bindgen-runtime"], optional = true } 23 + rocksdb = { version = "0.24", default-features = false, features = [ 24 + "bindgen-runtime", 25 + "lz4" 26 + ], optional = true } 24 27 serde = { version = "1.0", features = ["derive"], optional = true } 25 28 tokio = { version = "1.49", features = ["full"], optional = true } 26 29 tonic-health = { version = "0.14", optional = true } 27 30 tracing = { version = "0.1", optional = true } 31 + tracing-opentelemetry = { version = "0.32", optional = true } 28 32 tracing-subscriber = { version = "0.3", features = ["env-filter", "json"], optional = true } 29 - tracing-opentelemetry = { version = "0.32", optional = true } 30 33 31 34 [build-dependencies] 32 35 tonic-prost-build = "0.14" ··· 34 37 [features] 35 38 otel = ["dep:tonic-tracing-opentelemetry", "dep:tower"] 36 39 server = [ 37 - "dep:eyre", 38 - "dep:figment", 39 - "dep:itertools", 40 - "dep:opentelemetry", 41 - "dep:opentelemetry-otlp", 42 - "dep:opentelemetry_sdk", 43 - "dep:rocksdb", 44 - "dep:serde", 45 - "dep:tokio", 46 - "dep:tonic-health", 47 - "otel", 48 - "dep:tracing", 49 - "dep:tracing-subscriber", 50 - "dep:tracing-opentelemetry" 40 + "dep:eyre", 41 + "dep:figment", 42 + "dep:itertools", 43 + "dep:opentelemetry", 44 + "dep:opentelemetry-otlp", 45 + "dep:opentelemetry_sdk", 46 + "dep:rocksdb", 47 + "dep:serde", 48 + "dep:tokio", 49 + "dep:tonic-health", 50 + "dep:tracing", 51 + "dep:tracing-opentelemetry", 52 + "dep:tracing-subscriber", 53 + "otel" 51 54 ]
+7 -3
crates/parakeet/Cargo.toml
··· 6 6 [dependencies] 7 7 async-recursion = "1.1.1" 8 8 axum = { version = "0.8", features = ["json"] } 9 - axum-tracing-opentelemetry = "0.32" 10 9 axum-extra = { version = "0.10", features = ["query", "typed-header"] } 10 + axum-tracing-opentelemetry = "0.32" 11 11 base64 = "0.22" 12 12 chrono = { version = "0.4", features = ["serde"] } 13 13 dataloader = { path = "../dataloader-rs" } 14 14 deadpool = { version = "0.12", features = ["managed"] } 15 15 diesel = { version = "2.3", features = ["chrono", "serde_json"] } 16 + diesel-async = { version = "0.7", features = [ 17 + "deadpool", 18 + "migrations", 19 + "postgres" 20 + ] } 16 21 diesel_migrations = "2.3" 17 - diesel-async = { version = "0.7", features = ["deadpool", "postgres", "migrations"] } 18 22 eyre = "0.6.12" 19 23 figment = { version = "0.10.19", features = ["env", "toml"] } 20 24 itertools = "0.14" ··· 37 41 tower = "0.5" 38 42 tower-http = { version = "0.6", features = ["cors", "trace"] } 39 43 tracing = "0.1" 40 - tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } 41 44 tracing-opentelemetry = "0.32" 45 + tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
+1
flake.nix
··· 128 128 packages = with pkgs; [ 129 129 diesel-cli 130 130 protobuf 131 + tombi 131 132 ]; 132 133 }; 133 134 }