Personal ATProto tools.
at main 6.3 kB view raw
1[package] 2name = "atproto_teq" 3version = "0.1.0" 4edition = "2024" 5publish = false 6authors = ["Timothy Quilling <teqed@shatteredsky.net>"] 7exclude = ["dist", "build", "assets", "credits"] 8description = "My ATProtocol applications and tools." 9license = "MIT" 10readme = "README.md" 11repository = "~/_/Repos/atproto" 12keywords = ["bluesky", "atproto"] 13categories = ["bluesky", "atproto"] 14 15[profile.dev.package."*"] 16opt-level = 3 17 18[profile.dev] 19opt-level = 1 20 21[profile.release] 22opt-level = "s" # Slightly slows compile times, great improvements to file size and runtime performance. 23lto = "thin" # Do a second optimization pass over the entire program, including dependencies. 24codegen-units = 1 # Compile the entire crate as one unit. 25strip = "debuginfo" # Strip all debugging information from the binary to slightly reduce file size. 26 27[features] 28dev = [ 29] 30 31[build-dependencies] 32embed-resource = "1" 33 34 35[lints.rust] 36## Groups 37warnings = { level = "warn", priority = -1 } # All lints that are set to issue warnings 38deprecated-safe = { level = "warn", priority = -1 } # Lints for functions which were erroneously marked as safe in the past 39future-incompatible = { level = "warn", priority = -1 } # Lints that detect code that has future-compatibility problems 40keyword-idents = { level = "warn", priority = -1 } # Lints that detect identifiers which will be come keywords in later editions 41let-underscore = { level = "warn", priority = -1 } # Lints that detect wildcard let bindings that are likely to be invalid 42nonstandard-style = { level = "warn", priority = -1 } # Violation of standard naming conventions 43refining-impl-trait = { level = "warn", priority = -1 } # Detects refinement of impl Trait return types by trait implementations 44rust-2018-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2015 edition to 2018 45rust-2021-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2018 edition to 2021 46rust-2018-idioms = { level = "warn", priority = -1 } # Lints to nudge you toward idiomatic features of Rust 2018 47rust-2024-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2021 edition to 2024 48unused = { level = "warn", priority = -1 } # Lints that detect things being declared but not used, or excess syntax 49## Individual 50ambiguous_negative_literals = "warn" # checks for cases that are confusing between a negative literal and a negation that's not part of the literal. 51closure_returning_async_block = "warn" # detects cases where users write a closure that returns an async block. # nightly 52ffi_unwind_calls = "warn" 53# fuzzy_provenance_casts = "warn" # unstable 54# lossy_provenance_casts = "warn" # unstable 55macro_use_extern_crate = "warn" 56meta_variable_misuse = "warn" 57missing_abi = "warn" 58missing_copy_implementations = "allow" # detects potentially-forgotten implementations of Copy for public types. 59missing_debug_implementations = "allow" # detects missing implementations of fmt::Debug for public types. 60missing_docs = "warn" 61# multiple_supertrait_upcastable = "warn" # unstable 62# must_not_suspend = "warn" # unstable 63non_ascii_idents = "warn" 64# non_exhaustive_omitted_patterns = "warn" # unstable 65redundant_imports = "warn" 66redundant_lifetimes = "warn" 67rust_2024_incompatible_pat = "warn" # nightly 68single_use_lifetimes = "warn" 69trivial_casts = "warn" 70trivial_numeric_casts = "warn" 71unit_bindings = "warn" 72unnameable_types = "warn" 73# unqualified_local_imports = "warn" # unstable 74unreachable_pub = "warn" 75unsafe_code = "forbid" 76unstable_features = "warn" 77# unused_crate_dependencies = "warn" 78unused_import_braces = "warn" 79unused_lifetimes = "warn" 80unused_qualifications = "warn" 81unused_results = "warn" 82variant_size_differences = "warn" 83elided_lifetimes_in_paths = "allow" 84# unstable-features = "allow" 85 86[lints.clippy] 87# Groups 88nursery = { level = "warn", priority = -1 } 89correctness = { level = "warn", priority = -1 } 90suspicious = { level = "warn", priority = -1 } 91complexity = { level = "warn", priority = -1 } 92perf = { level = "warn", priority = -1 } 93style = { level = "warn", priority = -1 } 94# pedantic = { level = "warn", priority = -1 } 95# restriction = { level = "warn", priority = -1 } 96cargo = { level = "warn", priority = -1 } 97# Temporary Allows 98single_call_fn = "allow" 99multiple_crate_versions = "allow" 100expect_used = "allow" 101# Style Allows 102implicit_return = "allow" 103self_named_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" 118# Warns 119missing_docs_in_private_items = "warn" 120use_self = "warn" 121str_to_string = "warn" 122print_stdout = "warn" 123unseparated_literal_suffix = "warn" 124unwrap_used = "warn" 125# Denys 126enum_glob_use = "deny" 127# expect_used = "deny" 128 129[dependencies] 130atrium-api = { version = "0.24.10", default-features = false, features = [ 131 "namespace-appbsky", 132] } 133axum = {version = "0.8.1", features = ["ws"]} 134axum-extra = {version = "0.10.0", features = ["typed-header"]} 135base64 = "0.22.1" 136bs58 = "0.5.1" 137bytes = "1.10.0" 138chrono = "0.4.39" 139# derive_more = "2.0.1" 140dotenvy = "0.15.7" 141futures = "0.3.31" 142headers = "0.4.0" 143hex = "0.4.3" 144hmac = "0.12.1" 145http = "1.2.0" 146jetstream-oxide = "0.1.1" 147num = "0.4.3" 148num-derive = "0.4.2" 149num-traits = "0.2.19" 150rand = "0.9.0" 151rand_core = { version = "0.6.4" } 152# nutype = "0.6.0" 153reqwest = { version = "0.12.12", features = ["json"] } 154secp256k1 = { version = "0.30.0", features = ["hashes", "rand", "serde"] } 155serde = { version = "1.0.217", features = ["derive"] } 156serde_bytes = "0.11.15" 157serde_cbor = "0.11.2" 158serde_json = "1.0.138" 159sha2 = "0.10.8" 160sqlx = { version = "0.8.3", features= ["chrono", "json", "macros", "sqlite", "runtime-tokio", "tls-rustls-ring-native-roots"] } 161tokio = { version = "1.43.0", features = ["full"] } 162tower-http = {version = "0.6.2", features = ["compression-full", "decompression-deflate", "fs", "trace"]} 163tracing = "0.1" 164tracing-subscriber = { version = "0.3", features = ["env-filter"] }