-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (100 loc) · 3.09 KB
/
Copy pathCargo.toml
File metadata and controls
116 lines (100 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[package]
name = "prollytree"
description = "A prolly (probabilistic) tree for efficient storage, retrieval, and modification of ordered data."
authors = ["Feng Zhang <f.feng.zhang@gmail.com>"]
version = "0.3.2"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
documentation = "https://docs.rs/prollytree"
repository = "https://github.com/zhangfengcdt/prollytree.git"
keywords = ["prolly", "tree", "probabilistic", "hash"]
categories = ["data-structures", "cryptography"]
[lib]
name = "prollytree"
crate-type = ["cdylib", "rlib"]
[dependencies]
base64 = { version = "0.22.0", optional = true }
sha2 = "0.10"
tracing = { version = "0.1.37", optional = true }
rand = "0.9.0"
serde = { version = "1.0", features = ["derive"] }
bincode = "1.3.3"
thiserror = "2.0"
parking_lot = "0.12"
twox-hash = "2.0"
serde_json = "1.0.117"
arrow = "54.2.1"
schemars = "0.8"
parquet = { version = "54.0.0", features = ["arrow"] }
gix = { version = "0.66", features = ["blocking-network-client"], optional = true }
clap = { version = "4.0", features = ["derive"], optional = true }
lru = { version = "0.16", optional = true }
hex = { version = "0.4", optional = true }
chrono = { version = "0.4", features = ["serde"], optional = true }
gluesql-core = { version = "0.19", optional = true }
async-trait = { version = "0.1", optional = true }
uuid = { version = "1.0", features = ["v4"], optional = true }
futures = { version = "0.3", optional = true }
tokio = { version = "1.0", features = ["rt-multi-thread", "macros", "sync"], optional = true }
pyo3 = { version = "0.22", features = ["extension-module", "abi3-py38"], optional = true }
rocksdb = { version = "0.22", optional = true }
[dev-dependencies]
assert_cmd = "2.0"
bytes = "1.10.1"
criterion = "0.5"
predicates = "3.0"
tempfile = "3.0"
tokio = { version = "1.0", features = ["full"] }
tracing = "0.1.37"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
[features]
default = ["digest_base64", "prolly_balance_max_nodes", "git", "sql"]
tracing = ["dep:tracing"]
digest_base64 = ["dep:base64"]
prolly_balance_max_nodes = []
prolly_balance_rolling_hash = []
git = ["dep:gix", "dep:clap", "dep:lru", "dep:hex", "dep:chrono", "dep:uuid"]
sql = ["dep:gluesql-core", "dep:async-trait", "dep:uuid", "dep:futures", "dep:tokio"]
python = ["dep:pyo3"]
rocksdb_storage = ["dep:rocksdb", "dep:lru"]
[[bin]]
name = "git-prolly"
path = "src/git/git-prolly.rs"
required-features = ["git", "sql"]
[[bin]]
name = "prolly-ui"
path = "src/bin/prolly-ui.rs"
required-features = ["git"]
[[bench]]
name = "tree"
harness = false
[[bench]]
name = "sql"
harness = false
required-features = ["sql"]
[[bench]]
name = "git"
harness = false
required-features = ["git", "sql"]
[[bench]]
name = "storage"
harness = false
[[example]]
name = "proof"
path = "examples/proof.rs"
[[example]]
name = "sql"
path = "examples/sql.rs"
required-features = ["sql"]
[[example]]
name = "versioning"
path = "examples/versioning.rs"
[[example]]
name = "storage"
path = "examples/storage.rs"
required-features = ["rocksdb_storage"]
[[example]]
name = "worktree"
path = "examples/worktree.rs"
required-features = ["git", "sql"]