A better Rust ATProto crate
1[package]
2name = "jacquard-repo"
3description = "AT Protocol repository primitives: MST, commits, CAR I/O"
4edition.workspace = true
5version = "0.12.1"
6authors.workspace = true
7repository.workspace = true
8keywords.workspace = true
9categories.workspace = true
10readme.workspace = true
11exclude.workspace = true
12license.workspace = true
13
14[features]
15default = []
16
17[dependencies]
18# Internal
19jacquard-common = { path = "../jacquard-common", version = "0.12.1", features = ["crypto-ed25519", "crypto-k256", "crypto-p256"] }
20jacquard-derive = { path = "../jacquard-derive", version = "0.12.1" }
21jacquard-api = { path = "../jacquard-api", version = "0.12.1", features = ["streaming"] }
22
23# Serialization
24serde.workspace = true
25serde_ipld_dagcbor.workspace = true
26serde_bytes = "0.11"
27
28# IPLD primitives
29cid.workspace = true
30multihash = "0.19.3"
31
32# CAR file I/O
33iroh-car = "0.5"
34
35# Data types
36bytes.workspace = true
37smol_str.workspace = true
38
39# Hashing
40sha2 = "0.10"
41
42# Error handling
43thiserror.workspace = true
44miette.workspace = true
45
46# Async
47trait-variant.workspace = true
48n0-future.workspace = true
49tokio = { workspace = true, default-features = false, features = ["fs", "io-util"] }
50
51
52# Crypto (for commit signing/verification)
53ed25519-dalek = { version = "2", features = ["rand_core"] }
54k256 = { version = "0.13", features = ["ecdsa", "sha256"] }
55p256 = { version = "0.13", features = ["ecdsa", "sha256"] }
56
57[dev-dependencies]
58serde_ipld_dagjson = "0.2"
59tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "fs"] }
60tempfile = "3.14"
61rand = "0.8"
62hex = "0.4"
63anyhow = "1.0"
64serde_json = "1.0"
65
66[package.metadata.docs.rs]
67all-features = true