forked from tursodatabase/libsql
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
157 lines (146 loc) · 4.09 KB
/
Cargo.toml
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
[package]
name = "libsql"
version = "0.6.0"
edition = "2021"
description = "libSQL library: the main gateway for interacting with the database"
repository = "https://github.com/tursodatabase/libsql"
license = "MIT"
[dependencies]
tracing = { version = "0.1.37", default-features = false }
thiserror = "1.0.40"
futures = { version = "0.3.28", optional = true }
libsql-sys = { version = "0.8", path = "../libsql-sys", optional = true }
libsql-hrana = { version = "0.2", path = "../libsql-hrana", optional = true }
tokio = { version = "1.29.1", features = ["sync"], optional = true }
tokio-util = { version = "0.7", features = ["io-util", "codec"], optional = true }
parking_lot = { version = "0.12.1", optional = true }
hyper = { version = "0.14", features = ["client", "http1", "http2", "stream", "runtime"], optional = true }
hyper-rustls = { version = "0.25", features = ["webpki-roots"], optional = true }
base64 = { version = "0.21", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", features = ["float_roundtrip"], optional = true }
async-trait = "0.1"
bitflags = { version = "2.4.0", optional = true }
tower = { workspace = true, features = ["util"], optional = true }
worker = { version = "0.4.1", optional = true }
bincode = { version = "1", optional = true }
anyhow = { version = "1.0.71", optional = true }
bytes = { version = "1.4.0", features = ["serde"], optional = true }
uuid = { version = "1.4.0", features = ["v4", "serde"], optional = true }
tokio-stream = { version = "0.1.14", optional = true }
tonic = { version = "0.11", optional = true}
tonic-web = { version = "0.11", optional = true }
tower-http = { version = "0.4.4", features = ["trace", "set-header", "util"], optional = true }
http = { version = "0.2", optional = true }
zerocopy = { version = "0.7.28", optional = true }
sqlite3-parser = { package = "libsql-sqlite3-parser", path = "../vendored/sqlite3-parser", version = "0.13", optional = true }
fallible-iterator = { version = "0.3", optional = true }
libsql_replication = { version = "0.6", path = "../libsql-replication", optional = true }
async-stream = { version = "0.3.5", optional = true }
crc32fast = { version = "1", optional = true }
chrono = { version = "0.4", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports", "async", "async_futures", "async_tokio"] }
pprof = { version = "0.14.0", features = ["criterion", "flamegraph"] }
tokio = { version = "1.29.1", features = ["full"] }
tokio-test = "0.4"
tracing-subscriber = "0.3"
tempfile = { version = "3.7.0" }
rand = "0.8.5"
[features]
default = ["core", "replication", "remote", "sync", "tls"]
core = [
"libsql-sys",
"dep:bitflags",
"dep:bytes",
"dep:futures",
]
stream = [
"dep:futures",
"dep:async-stream"
]
parser = [
"dep:sqlite3-parser",
"dep:fallible-iterator"
]
replication = [
"core",
"parser",
"serde",
"stream",
"dep:tower",
"dep:hyper",
"dep:http",
"dep:tokio",
"dep:anyhow",
"dep:bincode",
"dep:zerocopy",
"dep:bytes",
"dep:uuid",
"dep:tokio-stream",
"dep:parking_lot",
"dep:tokio",
"dep:tonic",
"dep:tonic-web",
"dep:tower-http",
"dep:futures",
"dep:libsql_replication",
]
sync = [
"core",
"parser",
"serde",
"stream",
"remote",
"replication",
"dep:tower",
"dep:hyper",
"dep:http",
"dep:tokio",
"dep:zerocopy",
"dep:bytes",
"dep:tokio",
"dep:futures",
"dep:serde_json",
"dep:crc32fast",
"dep:chrono",
"dep:uuid",
"tokio/fs"
]
hrana = [
"parser",
"serde",
"stream",
"dep:base64",
"dep:serde_json",
"dep:futures",
"dep:tokio",
"dep:tokio-util",
"dep:bytes",
"dep:libsql-hrana",
]
serde = ["dep:serde"]
remote = [
"hrana",
"dep:tower",
"dep:hyper",
"dep:hyper",
"dep:http",
"dep:tokio",
"dep:futures",
"dep:bitflags",
]
wasm = ["hrana"]
cloudflare = [
"wasm",
"dep:worker"
]
encryption = ["core", "libsql-sys/encryption", "dep:bytes"]
tls = ["dep:hyper-rustls"]
[[bench]]
name = "benchmark"
harness = false
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.cargo-udeps.ignore]
normal = ["hyper-rustls"]