Alternative ATProto PDS implementation
6
fork

Configure Feed

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

at e919e83b360f3f661282d73c212df0d6c72eccd0 267 lines 9.2 kB view raw
1[package] 2name = "bluepds" 3version = "0.0.0" 4edition = "2024" 5publish = false 6authors = ["Justin Moore", "Timothy Quilling <teqed@shatteredsky.net>"] 7description = "Alternative ATProto PDS implementation" 8license = "MIT OR Apache-2.0" 9readme = "README.md" 10repository = "https://github.com/DrChat/bluepds" 11keywords = ["atproto", "pds"] 12categories = [] 13 14[profile.dev.package."*"] 15opt-level = 3 16 17[profile.dev] 18opt-level = 1 19 20[profile.release] 21opt-level = "s" # Slightly slows compile times, great improvements to file size and runtime performance. 22lto = "thin" # Do a second optimization pass over the entire program, including dependencies. 23codegen-units = 1 # Compile the entire crate as one unit. 24strip = "debuginfo" # Strip all debugging information from the binary to slightly reduce file size. 25 26[lints.rust] 27## Groups 28warnings = { level = "warn", priority = -1 } # All lints that are set to issue warnings 29deprecated-safe = { level = "warn", priority = -1 } # Lints for functions which were erroneously marked as safe in the past 30future-incompatible = { level = "warn", priority = -1 } # Lints that detect code that has future-compatibility problems 31keyword-idents = { level = "warn", priority = -1 } # Lints that detect identifiers which will be come keywords in later editions 32let-underscore = { level = "warn", priority = -1 } # Lints that detect wildcard let bindings that are likely to be invalid 33nonstandard-style = { level = "warn", priority = -1 } # Violation of standard naming conventions 34refining-impl-trait = { level = "warn", priority = -1 } # Detects refinement of impl Trait return types by trait implementations 35rust-2018-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2015 edition to 2018 36rust-2021-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2018 edition to 2021 37rust-2018-idioms = { level = "warn", priority = -1 } # Lints to nudge you toward idiomatic features of Rust 2018 38rust-2024-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2021 edition to 2024 39# unused = { level = "warn", priority = -1 } # Lints that detect things being declared but not used, or excess syntax 40## Individual 41ambiguous_negative_literals = "warn" # checks for cases that are confusing between a negative literal and a negation that's not part of the literal. 42closure_returning_async_block = "warn" # detects cases where users write a closure that returns an async block. # nightly 43ffi_unwind_calls = "warn" 44# fuzzy_provenance_casts = "warn" # unstable 45# lossy_provenance_casts = "warn" # unstable 46macro_use_extern_crate = "warn" 47meta_variable_misuse = "warn" 48missing_abi = "warn" 49missing_copy_implementations = "allow" # detects potentially-forgotten implementations of Copy for public types. 50missing_debug_implementations = "allow" # detects missing implementations of fmt::Debug for public types. 51missing_docs = "warn" 52# multiple_supertrait_upcastable = "warn" # unstable 53# must_not_suspend = "warn" # unstable 54non_ascii_idents = "warn" 55# non_exhaustive_omitted_patterns = "warn" # unstable 56redundant_imports = "warn" 57redundant_lifetimes = "warn" 58rust_2024_incompatible_pat = "warn" # nightly 59single_use_lifetimes = "warn" 60trivial_casts = "warn" 61trivial_numeric_casts = "warn" 62unit_bindings = "warn" 63unnameable_types = "warn" 64# unqualified_local_imports = "warn" # unstable 65# unreachable_pub = "warn" 66unsafe_code = "warn" 67unstable_features = "warn" 68# unused_crate_dependencies = "warn" 69unused_import_braces = "warn" 70unused_lifetimes = "warn" 71unused_qualifications = "warn" 72unused_results = "warn" 73variant_size_differences = "warn" 74elided_lifetimes_in_paths = "allow" 75# unstable-features = "allow" 76# # Temporary Allows 77dead_code = "allow" 78unused_imports = "allow" 79 80[lints.clippy] 81# Groups 82nursery = { level = "warn", priority = -1 } 83correctness = { level = "warn", priority = -1 } 84suspicious = { level = "warn", priority = -1 } 85# complexity = { level = "warn", priority = -1 } 86# perf = { level = "warn", priority = -1 } 87# style = { level = "warn", priority = -1 } 88# pedantic = { level = "warn", priority = -1 } 89# restriction = { level = "warn", priority = -1 } 90cargo = { level = "warn", priority = -1 } 91# Temporary Allows 92multiple_crate_versions = "allow" # triggered by lib 93expect_used = "allow" 94missing_docs_in_private_items = "allow" 95# # Temporary Allows - Restriction 96min_ident_chars = "allow" # 50 instances 97# arbitrary_source_item_ordering = "allow" 98renamed_function_params = "allow" # possibly triggered by lib 99# pattern_type_mismatch = "allow" 100# Style Allows 101implicit_return = "allow" 102self_named_module_files = "allow" # Choose one of self_named_module_files or mod_module_files 103mod_module_files = "allow" 104else_if_without_else = "allow" 105std_instead_of_alloc = "allow" 106std_instead_of_core = "allow" 107blanket_clippy_restriction_lints = "allow" 108float_arithmetic = "allow" 109redundant_pub_crate = "allow" 110pub_with_shorthand = "allow" 111absolute_paths = "allow" 112module_name_repetitions = "allow" 113missing_trait_methods = "allow" 114separated_literal_suffix = "allow" 115exhaustive_structs = "allow" 116field_scoped_visibility_modifiers = "allow" 117allow_attributes_without_reason = "allow" 118tests_outside_test_module = "allow" 119ref_patterns = "allow" 120question_mark_used = "allow" 121shadow_reuse = "allow" 122single_call_fn = "allow" 123# Warns 124use_self = "warn" 125str_to_string = "warn" 126print_stdout = "warn" 127unseparated_literal_suffix = "warn" 128unwrap_used = "warn" 129# Denys 130enum_glob_use = "deny" 131# expect_used = "deny" 132 133[dependencies] 134multihash = "0.19.3" 135diesel = { version = "2.1.5", features = [ 136 "chrono", 137 "sqlite", 138 "r2d2", 139 "returning_clauses_for_sqlite_3_35", 140] } 141diesel_migrations = { version = "2.1.0" } 142r2d2 = "0.8.10" 143 144atrium-repo = "0.1" 145atrium-api = "0.25" 146# atrium-common = { version = "0.1.2", path = "atrium-common" } 147atrium-crypto = "0.1" 148# atrium-identity = { version = "0.1.4", path = "atrium-identity" } 149atrium-xrpc = "0.12" 150atrium-xrpc-client = "0.5" 151# bsky-sdk = { version = "0.1.19", path = "bsky-sdk" } 152rsky-syntax = { git = "https://github.com/blacksky-algorithms/rsky.git" } 153rsky-repo = { git = "https://github.com/blacksky-algorithms/rsky.git" } 154rsky-pds = { git = "https://github.com/blacksky-algorithms/rsky.git" } 155rsky-common = { git = "https://github.com/blacksky-algorithms/rsky.git" } 156rsky-lexicon = { git = "https://github.com/blacksky-algorithms/rsky.git" } 157 158# async in streams 159# async-stream = "0.3" 160 161# DAG-CBOR codec 162ipld-core = "0.4.2" 163serde_ipld_dagcbor = { version = "0.6.2", default-features = false, features = [ 164 "std", 165] } 166serde_ipld_dagjson = "0.2.0" 167cidv10 = { version = "0.10.1", package = "cid" } 168 169# Parsing and validation 170base64 = "0.22.1" 171chrono = "0.4.39" 172hex = "0.4.3" 173# langtag = "0.3" 174# multibase = "0.9.1" 175regex = "1.11.1" 176serde = { version = "1.0.218", features = ["derive"] } 177serde_bytes = "0.11.17" 178# serde_html_form = "0.2.6" 179serde_json = "1.0.139" 180# unsigned-varint = "0.8" 181 182# Cryptography 183# ecdsa = "0.16.9" 184# elliptic-curve = "0.13.6" 185# jose-jwa = "0.1.2" 186# jose-jwk = { version = "0.1.2", default-features = false } 187k256 = "0.13.4" 188# p256 = { version = "0.13.2", default-features = false } 189rand = "0.8.5" 190sha2 = "0.10.8" 191 192# Networking 193# dashmap = "6.1.0" 194futures = "0.3.31" 195# hickory-proto = { version = "0.24.3", default-features = false } 196# hickory-resolver = "0.24.1" 197# http = "1.1.0" 198# lru = "0.12.4" 199# moka = "0.12.8" 200tokio = { version = "1.43.0", features = ["macros", "rt-multi-thread"] } 201tokio-util = { version = "0.7.13", features = ["io"] } 202 203# HTTP client integrations 204# isahc = "1.7.2" 205reqwest = { version = "0.12.12", features = ["json"] } 206 207# Errors 208anyhow = "1.0.96" 209thiserror = "2.0.11" 210 211# CLI 212clap = { version = "4.5.30", features = ["derive"] } 213# dirs = "5.0.1" 214 215# Testing 216# gloo-timers = { version = "0.3.0", features = ["futures"] } 217# mockito = "=1.6.1" 218 219# WebAssembly 220# wasm-bindgen-test = "0.3.41" 221# web-time = "1.1.0" 222# bumpalo = "~3.14.0" 223 224# Code generation 225# trait-variant = "0.1.2" 226 227# Others 228# base64ct = "=1.6.0" 229# litemap = "=0.7.4" 230# native-tls = "=0.2.13" 231# zerofrom = "=0.1.5" 232argon2 = { version = "0.5.3", features = ["std"] } 233axum = { version = "0.8.1", features = [ 234 "tower-log", 235 "form", 236 "macros", 237 "ws", 238 "json", 239] } 240azure_core = "0.22.0" 241azure_identity = "0.22.0" 242base32 = "0.5.1" 243clap-verbosity-flag = "3.0.2" 244constcat = "0.6.0" 245figment = { version = "0.10.19", features = ["toml", "env"] } 246http-cache-reqwest = { version = "0.15.1", default-features = false, features = [ 247 "manager-moka", 248] } 249memmap2 = "0.9.5" 250metrics = "0.24.1" 251metrics-exporter-prometheus = "0.16.2" 252reqwest-middleware = { version = "0.4.0", features = ["json"] } 253tower-http = { version = "0.6.2", features = ["cors", "fs", "trace"] } 254tracing = "0.1.41" 255tracing-subscriber = "0.3.19" 256url = "2.5.4" 257uuid = { version = "1.14.0", features = ["v4"] } 258urlencoding = "2.1.3" 259async-trait = "0.1.88" 260lazy_static = "1.5.0" 261secp256k1 = "0.28.2" 262dotenvy = "0.15.7" 263deadpool-diesel = { version = "0.6.1", features = [ 264 "serde", 265 "sqlite", 266 "tracing", 267] }