-
Notifications
You must be signed in to change notification settings - Fork 722
Expand file tree
/
Copy pathCargo.toml
More file actions
320 lines (304 loc) · 18.2 KB
/
Cargo.toml
File metadata and controls
320 lines (304 loc) · 18.2 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
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
[workspace]
default-members = [".", "core"]
members = [
".",
"benches/vs_*",
"core",
"edge/*",
"examples/*",
"fuzz",
"layers/*",
"services/*",
"testkit",
]
[workspace.package]
authors = ["Apache OpenDAL <dev@opendal.apache.org>"]
categories = ["filesystem"]
description = "Apache OpenDAL™: One Layer, All Storage."
edition = "2024"
homepage = "https://opendal.apache.org/"
license = "Apache-2.0"
repository = "https://github.com/apache/opendal"
rust-version = "1.85"
version = "0.55.0"
[workspace.dependencies]
base64 = "0.22"
bytes = "1.10"
ctor = "0.6"
futures = { version = "0.3", default-features = false }
http = "1.1"
log = { version = "0.4.29" }
logforth = { version = "0.29.1", features = ["starter-log"] }
mea = "0.6"
quick-xml = { version = "0.39", default-features = false }
rand = "0.8"
serde = { version = "1", default-features = false }
serde_json = "1"
sha2 = "0.10"
tokio = { version = "1.48", default-features = false }
url = "2.5"
uuid = { version = "1", default-features = false }
[package]
exclude = ["/tests/"]
keywords = ["storage", "fs", "s3", "azblob", "gcs"]
name = "opendal"
authors = { workspace = true }
categories = { workspace = true }
description = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
rust-version = { workspace = true }
version = { workspace = true }
[lints.clippy]
unused_async = "warn"
[package.metadata.docs.rs]
all-features = true
[features]
# Register services enabled to the OperatorRegistry so that they can be used by `Operator::from_uri`.
auto-register-services = ["dep:ctor"]
blocking = ["opendal-core/blocking"]
default = [
"auto-register-services",
"reqwest-rustls-tls",
"executors-tokio",
"layers-concurrent-limit",
"layers-logging",
"layers-retry",
"layers-timeout",
]
executors-tokio = ["opendal-core/executors-tokio"]
internal-path-cache = ["opendal-core/internal-path-cache"]
internal-tokio-rt = ["opendal-core/internal-tokio-rt"]
layers-async-backtrace = ["dep:opendal-layer-async-backtrace"]
layers-await-tree = ["dep:opendal-layer-await-tree"]
layers-capability-check = ["dep:opendal-layer-capability-check"]
layers-chaos = ["dep:opendal-layer-chaos"]
layers-concurrent-limit = ["dep:opendal-layer-concurrent-limit"]
layers-dtrace = ["dep:opendal-layer-dtrace"]
layers-fastmetrics = ["dep:opendal-layer-fastmetrics"]
layers-fastrace = ["dep:opendal-layer-fastrace"]
layers-foyer = ["dep:opendal-layer-foyer"]
layers-hotpath = ["dep:opendal-layer-hotpath"]
layers-immutable-index = ["dep:opendal-layer-immutable-index"]
layers-logging = ["dep:opendal-layer-logging"]
layers-metrics = ["dep:opendal-layer-metrics"]
layers-mime-guess = ["dep:opendal-layer-mime-guess"]
layers-otel-metrics = ["dep:opendal-layer-otelmetrics"]
layers-otel-trace = ["dep:opendal-layer-oteltrace"]
layers-prometheus = ["dep:opendal-layer-prometheus"]
layers-prometheus-client = ["dep:opendal-layer-prometheus-client"]
layers-retry = ["dep:opendal-layer-retry"]
layers-route = ["dep:opendal-layer-route"]
layers-tail-cut = ["dep:opendal-layer-tail-cut"]
layers-throttle = ["dep:opendal-layer-throttle"]
layers-timeout = ["dep:opendal-layer-timeout"]
layers-tracing = ["dep:opendal-layer-tracing"]
reqwest-rustls-tls = ["opendal-core/reqwest-rustls-tls"]
services-aliyun-drive = ["dep:opendal-service-aliyun-drive"]
services-alluxio = ["dep:opendal-service-alluxio"]
services-azblob = ["dep:opendal-service-azblob"]
services-azdls = ["dep:opendal-service-azdls"]
services-azfile = ["dep:opendal-service-azfile"]
services-b2 = ["dep:opendal-service-b2"]
services-cacache = ["dep:opendal-service-cacache"]
services-cloudflare-kv = ["dep:opendal-service-cloudflare-kv"]
services-compfs = ["dep:opendal-service-compfs"]
services-cos = ["dep:opendal-service-cos"]
services-d1 = ["dep:opendal-service-d1"]
services-dashmap = ["dep:opendal-service-dashmap"]
services-dbfs = ["dep:opendal-service-dbfs"]
services-dropbox = ["dep:opendal-service-dropbox"]
services-etcd = ["dep:opendal-service-etcd"]
services-foundationdb = ["dep:opendal-service-foundationdb"]
services-fs = ["dep:opendal-service-fs"]
services-ftp = ["dep:opendal-service-ftp"]
services-gcs = ["dep:opendal-service-gcs"]
services-gdrive = ["dep:opendal-service-gdrive"]
services-ghac = ["dep:opendal-service-ghac"]
services-github = ["dep:opendal-service-github"]
services-gridfs = ["dep:opendal-service-gridfs"]
services-hdfs = ["dep:opendal-service-hdfs"]
services-hdfs-native = ["dep:opendal-service-hdfs-native"]
services-hf = ["dep:opendal-service-hf"]
services-http = ["dep:opendal-service-http"]
services-huggingface = ["services-hf"]
services-ipfs = ["dep:opendal-service-ipfs"]
services-ipmfs = ["dep:opendal-service-ipmfs"]
services-koofr = ["dep:opendal-service-koofr"]
services-lakefs = ["dep:opendal-service-lakefs"]
services-memcached = ["dep:opendal-service-memcached"]
# Deprecated: memory service is always enabled.
services-memory = ["opendal-core/services-memory"]
services-mini-moka = ["dep:opendal-service-mini-moka"]
services-moka = ["dep:opendal-service-moka"]
services-mongodb = ["dep:opendal-service-mongodb"]
services-monoiofs = ["dep:opendal-service-monoiofs"]
services-mysql = ["dep:opendal-service-mysql"]
services-obs = ["dep:opendal-service-obs"]
services-onedrive = ["dep:opendal-service-onedrive"]
services-opfs = ["dep:opendal-service-opfs"]
services-oss = ["dep:opendal-service-oss"]
services-pcloud = ["dep:opendal-service-pcloud"]
services-persy = ["dep:opendal-service-persy"]
services-postgresql = ["dep:opendal-service-postgresql"]
services-redb = ["dep:opendal-service-redb"]
services-redis = ["dep:opendal-service-redis", "opendal-service-redis?/rustls"]
services-redis-native-tls = [
"dep:opendal-service-redis",
"opendal-service-redis?/native-tls",
]
services-rocksdb = ["dep:opendal-service-rocksdb"]
services-s3 = ["dep:opendal-service-s3"]
services-seafile = ["dep:opendal-service-seafile"]
services-sftp = ["dep:opendal-service-sftp"]
services-sled = ["dep:opendal-service-sled"]
services-sqlite = ["dep:opendal-service-sqlite"]
services-surrealdb = ["dep:opendal-service-surrealdb"]
services-swift = ["dep:opendal-service-swift"]
services-tikv = ["dep:opendal-service-tikv"]
services-upyun = ["dep:opendal-service-upyun"]
services-vercel-artifacts = ["dep:opendal-service-vercel-artifacts"]
services-vercel-blob = ["dep:opendal-service-vercel-blob"]
services-webdav = ["dep:opendal-service-webdav"]
services-webhdfs = ["dep:opendal-service-webhdfs"]
services-yandex-disk = ["dep:opendal-service-yandex-disk"]
tests = ["opendal-testkit"]
[lib]
bench = false
[[bench]]
harness = false
name = "ops"
required-features = ["tests"]
[[bench]]
harness = false
name = "types"
[[test]]
harness = false
name = "behavior"
path = "tests/behavior/main.rs"
required-features = ["tests"]
[dependencies]
ctor = { workspace = true, optional = true }
opendal-core = { path = "core", version = "0.55.0", default-features = false }
opendal-layer-async-backtrace = { path = "layers/async-backtrace", version = "0.55.0", optional = true, default-features = false }
opendal-layer-await-tree = { path = "layers/await-tree", version = "0.55.0", optional = true, default-features = false }
opendal-layer-capability-check = { path = "layers/capability-check", version = "0.55.0", optional = true, default-features = false }
opendal-layer-chaos = { path = "layers/chaos", version = "0.55.0", optional = true, default-features = false }
opendal-layer-concurrent-limit = { path = "layers/concurrent-limit", version = "0.55.0", optional = true, default-features = false }
opendal-layer-fastmetrics = { path = "layers/fastmetrics", version = "0.55.0", optional = true, default-features = false }
opendal-layer-fastrace = { path = "layers/fastrace", version = "0.55.0", optional = true, default-features = false }
opendal-layer-foyer = { path = "layers/foyer", version = "0.55.0", optional = true, default-features = false }
opendal-layer-hotpath = { path = "layers/hotpath", version = "0.55.0", optional = true, default-features = false }
opendal-layer-immutable-index = { path = "layers/immutable-index", version = "0.55.0", optional = true, default-features = false }
opendal-layer-logging = { path = "layers/logging", version = "0.55.0", optional = true, default-features = false }
opendal-layer-metrics = { path = "layers/metrics", version = "0.55.0", optional = true, default-features = false }
opendal-layer-mime-guess = { path = "layers/mime-guess", version = "0.55.0", optional = true, default-features = false }
opendal-layer-observe-metrics-common = { path = "layers/observe-metrics-common", version = "0.55.0", optional = true, default-features = false }
opendal-layer-otelmetrics = { path = "layers/otelmetrics", version = "0.55.0", optional = true, default-features = false }
opendal-layer-oteltrace = { path = "layers/oteltrace", version = "0.55.0", optional = true, default-features = false }
opendal-layer-prometheus = { path = "layers/prometheus", version = "0.55.0", optional = true, default-features = false }
opendal-layer-prometheus-client = { path = "layers/prometheus-client", version = "0.55.0", optional = true, default-features = false }
opendal-layer-retry = { path = "layers/retry", version = "0.55.0", optional = true, default-features = false }
opendal-layer-route = { path = "layers/route", version = "0.55.0", optional = true, default-features = false }
opendal-layer-tail-cut = { path = "layers/tail-cut", version = "0.55.0", optional = true, default-features = false }
opendal-layer-throttle = { path = "layers/throttle", version = "0.55.0", optional = true, default-features = false }
opendal-layer-timeout = { path = "layers/timeout", version = "0.55.0", optional = true, default-features = false }
opendal-layer-tracing = { path = "layers/tracing", version = "0.55.0", optional = true, default-features = false }
opendal-service-aliyun-drive = { path = "services/aliyun-drive", version = "0.55.0", optional = true, default-features = false }
opendal-service-alluxio = { path = "services/alluxio", version = "0.55.0", optional = true, default-features = false }
opendal-service-azblob = { path = "services/azblob", version = "0.55.0", optional = true, default-features = false }
opendal-service-azdls = { path = "services/azdls", version = "0.55.0", optional = true, default-features = false }
opendal-service-azfile = { path = "services/azfile", version = "0.55.0", optional = true, default-features = false }
opendal-service-b2 = { path = "services/b2", version = "0.55.0", optional = true, default-features = false }
opendal-service-cacache = { path = "services/cacache", version = "0.55.0", optional = true, default-features = false }
opendal-service-cloudflare-kv = { path = "services/cloudflare-kv", version = "0.55.0", optional = true, default-features = false }
opendal-service-compfs = { path = "services/compfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-cos = { path = "services/cos", version = "0.55.0", optional = true, default-features = false }
opendal-service-d1 = { path = "services/d1", version = "0.55.0", optional = true, default-features = false }
opendal-service-dashmap = { path = "services/dashmap", version = "0.55.0", optional = true, default-features = false }
opendal-service-dbfs = { path = "services/dbfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-dropbox = { path = "services/dropbox", version = "0.55.0", optional = true, default-features = false }
opendal-service-etcd = { path = "services/etcd", version = "0.55.0", optional = true, default-features = false }
opendal-service-foundationdb = { path = "services/foundationdb", version = "0.55.0", optional = true, default-features = false }
opendal-service-fs = { path = "services/fs", version = "0.55.0", optional = true, default-features = false }
opendal-service-ftp = { path = "services/ftp", version = "0.55.0", optional = true, default-features = false }
opendal-service-gcs = { path = "services/gcs", version = "0.55.0", optional = true, default-features = false }
opendal-service-gdrive = { path = "services/gdrive", version = "0.55.0", optional = true, default-features = false }
opendal-service-ghac = { path = "services/ghac", version = "0.55.0", optional = true, default-features = false }
opendal-service-github = { path = "services/github", version = "0.55.0", optional = true, default-features = false }
opendal-service-gridfs = { path = "services/gridfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-hdfs = { path = "services/hdfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-hdfs-native = { path = "services/hdfs-native", version = "0.55.0", optional = true, default-features = false }
opendal-service-hf = { path = "services/hf", version = "0.55.0", optional = true, default-features = false }
opendal-service-http = { path = "services/http", version = "0.55.0", optional = true, default-features = false }
opendal-service-ipfs = { path = "services/ipfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-ipmfs = { path = "services/ipmfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-koofr = { path = "services/koofr", version = "0.55.0", optional = true, default-features = false }
opendal-service-lakefs = { path = "services/lakefs", version = "0.55.0", optional = true, default-features = false }
opendal-service-memcached = { path = "services/memcached", version = "0.55.0", optional = true, default-features = false }
opendal-service-mini-moka = { path = "services/mini_moka", version = "0.55.0", optional = true, default-features = false }
opendal-service-moka = { path = "services/moka", version = "0.55.0", optional = true, default-features = false }
opendal-service-mongodb = { path = "services/mongodb", version = "0.55.0", optional = true, default-features = false }
opendal-service-monoiofs = { path = "services/monoiofs", version = "0.55.0", optional = true, default-features = false }
opendal-service-mysql = { path = "services/mysql", version = "0.55.0", optional = true, default-features = false }
opendal-service-obs = { path = "services/obs", version = "0.55.0", optional = true, default-features = false }
opendal-service-onedrive = { path = "services/onedrive", version = "0.55.0", optional = true, default-features = false }
opendal-service-oss = { path = "services/oss", version = "0.55.0", optional = true, default-features = false }
opendal-service-pcloud = { path = "services/pcloud", version = "0.55.0", optional = true, default-features = false }
opendal-service-persy = { path = "services/persy", version = "0.55.0", optional = true, default-features = false }
opendal-service-postgresql = { path = "services/postgresql", version = "0.55.0", optional = true, default-features = false }
opendal-service-redb = { path = "services/redb", version = "0.55.0", optional = true, default-features = false }
opendal-service-redis = { path = "services/redis", version = "0.55.0", optional = true, default-features = false }
opendal-service-rocksdb = { path = "services/rocksdb", version = "0.55.0", optional = true, default-features = false }
opendal-service-s3 = { path = "services/s3", version = "0.55.0", optional = true, default-features = false }
opendal-service-seafile = { path = "services/seafile", version = "0.55.0", optional = true, default-features = false }
opendal-service-sftp = { path = "services/sftp", version = "0.55.0", optional = true, default-features = false }
opendal-service-sled = { path = "services/sled", version = "0.55.0", optional = true, default-features = false }
opendal-service-sqlite = { path = "services/sqlite", version = "0.55.0", optional = true, default-features = false }
opendal-service-surrealdb = { path = "services/surrealdb", version = "0.55.0", optional = true, default-features = false }
opendal-service-swift = { path = "services/swift", version = "0.55.0", optional = true, default-features = false }
opendal-service-tikv = { path = "services/tikv", version = "0.55.0", optional = true, default-features = false }
opendal-service-upyun = { path = "services/upyun", version = "0.55.0", optional = true, default-features = false }
opendal-service-vercel-artifacts = { path = "services/vercel-artifacts", version = "0.55.0", optional = true, default-features = false }
opendal-service-vercel-blob = { path = "services/vercel-blob", version = "0.55.0", optional = true, default-features = false }
opendal-service-webdav = { path = "services/webdav", version = "0.55.0", optional = true, default-features = false }
opendal-service-webhdfs = { path = "services/webhdfs", version = "0.55.0", optional = true, default-features = false }
opendal-service-yandex-disk = { path = "services/yandex-disk", version = "0.55.0", optional = true, default-features = false }
opendal-testkit = { path = "testkit", version = "0.55.0", optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
opendal-layer-dtrace = { path = "layers/dtrace", version = "0.55.0", optional = true, default-features = false }
[target.'cfg(target_arch = "wasm32")'.dependencies]
opendal-service-opfs = { path = "services/opfs", version = "0.55.0", optional = true, default-features = false }
[dev-dependencies]
anyhow = "1.0"
bytes = { workspace = true }
divan = "0.1"
futures = { workspace = true, default-features = true }
http = { workspace = true }
libtest-mimic = "0.8"
log = { workspace = true }
logforth = { workspace = true }
rand = { workspace = true }
reqwest = "0.13.2"
sha2 = { workspace = true }
size = "0.5"
tokio = { workspace = true, features = ["fs", "macros", "rt-multi-thread"] }
uuid = { workspace = true, features = ["serde", "v4"] }