A better Rust ATProto crate
at main 99 lines 3.1 kB view raw
1[workspace] 2resolver = "2" 3members = ["crates/*"] 4 5 6[workspace.package] 7edition = "2024" 8version = "0.9.5" 9authors = ["Orual <orual@nonbinary.computer>"] 10#repository = "https://github.com/rsform/jacquard" 11repository = "https://tangled.org/@nonbinary.computer/jacquard" 12keywords = ["atproto", "at", "bluesky", "api", "client"] 13categories = ["api-bindings", "web-programming::http-client"] 14readme = "README.md" 15exclude = [".direnv"] 16homepage = "https://tangled.org/@nonbinary.computer/jacquard" 17license = "MPL-2.0" 18 19description = "Simple and powerful AT Protocol client library for Rust" 20 21# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 22 23[workspace.dependencies] 24# CLI 25clap = { version = "4.5", features = ["derive"] } 26clap_complete = "4.5" 27clap_mangen = "0.2" 28 29# Serialization 30serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] } 31serde_json = { version = "1.0", default-features = false, features = ["alloc"] } 32serde_with = { version = "3.14", default-features = false, features = ["alloc", "macros"] } 33serde_html_form = { version = "0.3", default-features = false } 34serde_ipld_dagcbor = { version = "0.6", default-features = false } 35serde_repr = { version = "0.1" } 36serde_bytes = { version = "0.11", default-features = false } 37facet = "0.6" 38facet-json = "0.6" 39cfg-if = "1.0" 40 41# Error handling 42miette = "7.6" 43thiserror = { version = "2.0", default-features = false } 44 45# trait stuff 46trait-variant = "0.1.2" 47 48 49bon = "3.8.0" 50 51# Data types 52bytes = { version = "1.11", default-features = false } 53smol_str = { version = "0.3", features = ["serde"] } 54url = { version = "2.5", default-features = false, features = ["serde"] } 55cid = { version = "0.11.1", default-features = false, features = ["serde", "alloc"] } 56ipld-core = { version = "0.4.2", default-features = false, features = ["serde"] } 57multihash = { version = "0.19", default-features = false, features = ["alloc"] } 58dashmap = "6.1" 59mini-moka = "0.10" 60indexmap = { version = "*", default-features = false, features = ["alloc"] } 61 62# Proc macros 63proc-macro2 = "1.0" 64quote = "1.0" 65syn = "2.0" 66heck = "0.5" 67itertools = "0.14" 68prettyplease = "0.2" 69 70# HTTP 71http = { version = "1.4", default-features = false } 72reqwest = { version = "0.12", default-features = false } 73 74# Async and runtimes 75tokio = { version = "1", default-features = false } 76n0-future = "0.1" 77 78# Observability 79tracing = "0.1" 80 81# Encoding and crypto building blocks 82base64 = { version = "0.22", default-features = false, features = ["alloc"] } 83percent-encoding = { version = "2.3", default-features = false, features = ["alloc"] } 84urlencoding = { version = "2.1.3", default-features = false } 85rand_core = { version = "0.6.4", default-features = false, features = [ 86 "alloc", 87] } 88sha2 = "0.10" 89 90# Time 91chrono = { version = "0.4", default-features = false, features = ["serde"] } 92 93# Crypto curves and JOSE 94p256 = "0.13" 95jose-jwk = "0.1" 96 97# Text processing 98regex = { version = "1.12", default-features = false } 99webpage = { version = "2.0", default-features = false }