Rust AppView - highly experimental!
at experiments 9.1 kB view raw
1[package] 2name = "consumer" 3version = "0.1.0" 4edition = "2021" 5 6[dependencies] 7chrono = { version = "0.4.39", features = ["serde"] } 8chrono-tz = "0.10" 9cid = "0.11" 10ciborium = "0.2.2" 11clap = { version = "4.5.34", features = ["derive"] } 12deadpool-postgres = { version = "0.14.1", features = ["serde"] } 13did-resolver = { path = "../did-resolver" } 14eyre = "0.6.12" 15figment = { version = "0.10.19", features = ["env", "toml"] } 16flume = { version = "0.11", features = ["async"] } 17foldhash = "0.1.4" 18futures = "0.3.31" 19futures-util = "0.3.31" 20ipld-core = "0.4.1" 21iroh-car = "0.5.1" 22jacquard = { workspace = true } 23jacquard-api = { workspace = true } 24jacquard-common = { workspace = true } 25lexica = { path = "../lexica" } 26metrics = "0.24.1" 27metrics-exporter-prometheus = "0.16.2" 28moka = { version = "0.12", features = ["future"] } 29parakeet-db = { path = "../parakeet-db", default-features = false } 30reqwest = { version = "0.12.12", features = ["native-tls", "brotli", "stream"] } 31serde = { version = "1.0.217", features = ["derive"] } 32serde_with = "3.14" 33serde_bytes = "0.11" 34serde_ipld_dagcbor = "0.6.1" 35serde_json = "1.0.134" 36thiserror = "2" 37tokio = { version = "1.42.0", features = ["full"] } 38tokio-postgres = { version = "0.7.12", features = ["with-chrono-0_4", "with-serde_json-1"] } 39tokio-stream = "0.1.17" 40tokio-tungstenite = { version = "0.21", features = ["native-tls"] } 41zstd = { version = "0.13", default-features = false } 42rand = "0.8.5" 43tokio-util = { version = "0.7.14", features = ["io", "rt"] } 44tracing = "0.1.40" 45tracing-subscriber = "0.3.18" 46lru = "0.12.2" 47mpsc = "0.2.6" 48regex = "1.12.2" 49once_cell = "1.18.0" 50futures-channel = "0.3.31" 51urlencoding = "2.1" 52color-eyre = "0.6.5" 53unicode-segmentation = "1.10" 54async-trait = "0.1" 55 56 57[lints.rust] 58## Groups 59warnings = { level = "warn", priority = -1 } # All lints that are set to issue warnings 60deprecated-safe = { level = "warn", priority = -1 } # Lints for functions which were erroneously marked as safe in the past 61future-incompatible = { level = "warn", priority = -1 } # Lints that detect code that has future-compatibility problems 62keyword-idents = { level = "warn", priority = -1 } # Lints that detect identifiers which will be come keywords in later editions 63let-underscore = { level = "warn", priority = -1 } # Lints that detect wildcard let bindings that are likely to be invalid 64nonstandard-style = { level = "warn", priority = -1 } # Violation of standard naming conventions 65refining-impl-trait = { level = "warn", priority = -1 } # Detects refinement of impl Trait return types by trait implementations 66# rust-2018-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2015 edition to 2018 67# rust-2021-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2018 edition to 2021 68# rust-2018-idioms = { level = "warn", priority = -1 } # Lints to nudge you toward idiomatic features of Rust 2018 69# rust-2024-compatibility = { level = "warn", priority = -1 } # Lints used to transition code from the 2021 edition to 2024 70unused = { level = "warn", priority = -1 } # Lints that detect things being declared but not used, or excess syntax 71## Individual 72ambiguous_negative_literals = "warn" # checks for cases that are confusing between a negative literal and a negation that's not part of the literal. 73closure_returning_async_block = "warn" # detects cases where users write a closure that returns an async block. # nightly 74ffi_unwind_calls = "warn" 75# fuzzy_provenance_casts = "warn" # unstable 76# lossy_provenance_casts = "warn" # unstable 77macro_use_extern_crate = "warn" 78meta_variable_misuse = "warn" 79missing_abi = "warn" 80missing_copy_implementations = "allow" # detects potentially-forgotten implementations of Copy for public types. 81missing_debug_implementations = "allow" # detects missing implementations of fmt::Debug for public types. 82missing_docs = "allow" 83# multiple_supertrait_upcastable = "warn" # unstable 84# must_not_suspend = "warn" # unstable 85non_ascii_idents = "warn" 86# non_exhaustive_omitted_patterns = "warn" # unstable 87redundant_imports = "warn" 88redundant_lifetimes = "warn" 89rust_2024_incompatible_pat = "warn" # nightly 90single_use_lifetimes = "warn" 91trivial_casts = "warn" 92trivial_numeric_casts = "warn" 93unit_bindings = "warn" 94unnameable_types = "allow" 95# unqualified_local_imports = "warn" # unstable 96# unreachable_pub = "warn" 97unsafe_code = "warn" 98unstable_features = "warn" 99# unused_crate_dependencies = "warn" 100unused_import_braces = "warn" 101unused_lifetimes = "warn" 102unused_qualifications = "allow" 103# unused_results = "warn" 104variant_size_differences = "warn" 105elided_lifetimes_in_paths = "allow" 106# unstable-features = "allow" 107# # Temporary Allows 108# dead_code = "allow" 109# unused_imports = "allow" 110 111[lints.clippy] 112# Groups 113# nursery = { level = "warn", priority = -1 } 114# correctness = { level = "warn", priority = -1 } 115# suspicious = { level = "warn", priority = -1 } 116# complexity = { level = "warn", priority = -1 } 117# perf = { level = "warn", priority = -1 } 118# style = { level = "warn", priority = -1 } 119# pedantic = { level = "warn", priority = -1 } 120# restriction = { level = "warn", priority = -1 } 121# cargo = { level = "warn", priority = -1 } 122# Temporary Allows 123# multiple_crate_versions = "allow" # can be triggered by lib 124expect_used = "allow" 125missing_docs_in_private_items = "allow" 126# # Temporary Allows - Restriction 127min_ident_chars = "allow" 128missing_errors_doc = "allow" 129missing_panics_doc = "allow" 130# Restriction group allows - Overly strict for systems code 131arbitrary_source_item_ordering = "allow" # Don't enforce alphabetical ordering 132pub_use = "allow" # pub use is idiomatic 133let_underscore_untyped = "allow" # let _ = is idiomatic for dropping 134pattern_type_mismatch = "allow" # Pattern ergonomics work fine 135unwrap_used = "allow" # Used with validated data 136indexing_slicing = "allow" # Used with validated indices 137as_conversions = "allow" # Explicit casts are fine in systems code 138modulo_arithmetic = "allow" # Common in systems code 139integer_division = "allow" # Common in systems code 140integer_division_remainder_used = "allow" # Modulo and division are common 141arithmetic_side_effects = "allow" # Normal arithmetic is fine 142allow_attributes = "allow" # We use strategic allows 143impl_trait_in_params = "allow" # Ergonomic and idiomatic 144semicolon_outside_block = "allow" # Style preference 145unreachable = "warn" # impossible states 146cognitive_complexity = "allow" # Complex logic is sometimes necessary 147default_numeric_fallback = "allow" # Inference works fine 148string_slice = "allow" # Used with validated strings 149little_endian_bytes = "allow" # Intentional for wire format 150wildcard_enum_match_arm = "allow" # Future-proof matches are intentional 151let_underscore_must_use = "allow" # Explicit ignoring of must_use is fine 152clone_on_ref_ptr = "allow" # Cloning Arc/Rc is sometimes necessary 153single_char_lifetime_names = "allow" # Short lifetimes like 'a are fine 154shadow_unrelated = "allow" # Shadowing is idiomatic 155iter_over_hash_type = "allow" # Hash iteration is deterministic enough 156unwrap_in_result = "allow" # Used carefully with validated data 157unneeded_field_pattern = "warn" # Explicit _ for unused fields 158# Style Allows 159implicit_return = "allow" 160self_named_module_files = "allow" # Choose one of self_named_module_files or mod_module_files 161mod_module_files = "allow" 162else_if_without_else = "allow" 163std_instead_of_alloc = "allow" 164std_instead_of_core = "allow" 165blanket_clippy_restriction_lints = "allow" 166float_arithmetic = "allow" 167redundant_pub_crate = "allow" 168pub_with_shorthand = "allow" 169absolute_paths = "allow" 170module_name_repetitions = "allow" 171missing_trait_methods = "allow" 172separated_literal_suffix = "allow" 173exhaustive_structs = "allow" 174field_scoped_visibility_modifiers = "allow" 175allow_attributes_without_reason = "allow" 176tests_outside_test_module = "allow" 177ref_patterns = "allow" 178question_mark_used = "allow" 179shadow_reuse = "allow" 180single_call_fn = "allow" 181# Pedantic cast allows - intentional numeric conversions in systems code 182cast_possible_truncation = "allow" 183cast_possible_wrap = "allow" 184cast_sign_loss = "allow" 185cast_precision_loss = "allow" 186# Warns 187# use_self = "warn" 188# str_to_string = "warn" 189print_stdout = "warn" 190unseparated_literal_suffix = "warn" 191# unwrap_used = "warn" 192 193# Pedantic lints 194# unnested_or_patterns = "warn" 195# map_unwrap_or = "warn" 196# manual_let_else = "warn" 197# ignored_unit_patterns = "warn" 198# cast_lossless = "warn" 199# redundant_closure_for_method_calls = "warn" 200# cloned_instead_of_copied = "warn" 201# wildcard_imports = "warn" 202# ref_option_ref = "warn" 203# match_bool = "warn" 204# single_match_else = "warn" 205# match_same_arms = "warn" 206 207# Denys 208enum_glob_use = "deny" 209# expect_used = "deny"