# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.75" name = "opendal" version = "0.50.2" authors = ["Apache OpenDAL "] build = false exclude = ["/tests/"] autobins = false autoexamples = false autotests = false autobenches = false description = "Apache OpenDALâ„¢: Access data freely, painlessly, and efficiently." homepage = "https://opendal.apache.org/" readme = "README.md" keywords = [ "storage", "fs", "s3", "azblob", "gcs", ] categories = ["filesystem"] license = "Apache-2.0" repository = "https://github.com/apache/opendal" [package.metadata.docs.rs] all-features = true [lib] name = "opendal" path = "src/lib.rs" bench = false [[bench]] name = "ops" path = "benches/ops/main.rs" harness = false required-features = ["tests"] [[bench]] name = "types" path = "benches/types/main.rs" harness = false required-features = ["tests"] [dependencies.anyhow] version = "1.0.30" features = ["std"] [dependencies.async-backtrace] version = "0.2.6" optional = true [dependencies.async-tls] version = "0.13.0" optional = true [dependencies.async-trait] version = "0.1.68" [dependencies.atomic_lib] version = "0.39.0" optional = true [dependencies.await-tree] version = "0.2" optional = true [dependencies.backon] version = "1.2" features = ["tokio-sleep"] [dependencies.base64] version = "0.22" [dependencies.bb8] version = "0.8" optional = true [dependencies.bytes] version = "1.6" [dependencies.cacache] version = "13.0" features = [ "tokio-runtime", "mmap", ] optional = true default-features = false [dependencies.chrono] version = "0.4.28" features = [ "clock", "std", ] default-features = false [dependencies.compio] version = "0.12.0" features = [ "runtime", "bytes", "polling", "dispatcher", ] optional = true [dependencies.crc32c] version = "0.6.6" optional = true [dependencies.dashmap] version = "6" optional = true [dependencies.dotenvy] version = "0.15" optional = true [dependencies.etcd-client] version = "0.14" features = ["tls"] optional = true [dependencies.fastrace] version = "0.7.1" optional = true [dependencies.flagset] version = "0.4" [dependencies.flume] version = "0.11" optional = true [dependencies.foundationdb] version = "0.9.0" features = [ "embedded-fdb-include", "fdb-7_3", ] optional = true [dependencies.futures] version = "0.3" features = [ "std", "async-await", ] default-features = false [dependencies.governor] version = "0.6.0" features = ["std"] optional = true [dependencies.hdfs-native] version = "0.10" optional = true [dependencies.hdrs] version = "0.3.2" features = ["async_file"] optional = true [dependencies.hmac] version = "0.12.1" optional = true [dependencies.hrana-client-proto] version = "0.2.1" optional = true [dependencies.http] version = "1.1" [dependencies.log] version = "0.4" [dependencies.md-5] version = "0.10" [dependencies.metrics] version = "0.24" optional = true [dependencies.mime_guess] version = "2.0.5" optional = true [dependencies.mini-moka] version = "0.10" optional = true [dependencies.moka] version = "0.12" features = [ "future", "sync", ] optional = true [dependencies.mongodb] version = "3" optional = true [dependencies.monoio] version = "0.2.4" features = [ "sync", "mkdirat", "unlinkat", "renameat", ] optional = true [dependencies.once_cell] version = "1" [dependencies.openssh] version = "0.11.0" optional = true [dependencies.openssh-sftp-client] version = "0.15.0" features = [ "openssh", "tracing", ] optional = true [dependencies.opentelemetry] version = "0.26" optional = true [dependencies.percent-encoding] version = "2" [dependencies.persy] version = "1.4.6" optional = true [dependencies.probe] version = "0.5.1" optional = true [dependencies.prometheus] version = "0.13" features = ["process"] optional = true [dependencies.prometheus-client] version = "0.22.2" optional = true [dependencies.prost] version = "0.13" optional = true [dependencies.quick-xml] version = "0.36" features = [ "serialize", "overlapped-lists", ] [dependencies.rand] version = "0.8" optional = true [dependencies.redb] version = "2" optional = true [dependencies.redis] version = "0.27" features = [ "cluster-async", "tokio-comp", "connection-manager", ] optional = true [dependencies.reqsign] version = "0.16.1" optional = true default-features = false [dependencies.reqwest] version = "0.12.2" features = ["stream"] default-features = false [dependencies.rocksdb] version = "0.21.0" optional = true default-features = false [dependencies.rust-nebula] version = "^0.0.2" features = ["graph"] optional = true [dependencies.serde] version = "1" features = ["derive"] [dependencies.serde_json] version = "1" [dependencies.sha1] version = "0.10.6" optional = true [dependencies.sha2] version = "0.10" optional = true [dependencies.sled] version = "0.34.7" optional = true [dependencies.snowflaked] version = "1" features = ["sync"] optional = true [dependencies.sqlx] version = "0.8.0" features = ["runtime-tokio-rustls"] optional = true [dependencies.suppaftp] version = "6.0.3" features = [ "async-secure", "rustls", "async-rustls", ] optional = true default-features = false [dependencies.surrealdb] version = "2" features = ["protocol-http"] optional = true [dependencies.tikv-client] version = "0.3.0" optional = true default-features = false [dependencies.tokio] version = "1.27" features = [ "sync", "io-util", ] [dependencies.tracing] version = "0.1" optional = true [dependencies.uuid] version = "1" features = [ "serde", "v4", ] [dev-dependencies.criterion] version = "0.5" features = [ "async", "async_tokio", ] [dev-dependencies.dotenvy] version = "0.15" [dev-dependencies.fastrace] version = "0.7" features = ["enable"] [dev-dependencies.fastrace-jaeger] version = "0.7" [dev-dependencies.libtest-mimic] version = "0.8" [dev-dependencies.opentelemetry] version = "0.26" features = ["trace"] default-features = false [dev-dependencies.opentelemetry-otlp] version = "0.26" [dev-dependencies.opentelemetry_sdk] version = "0.26" [dev-dependencies.pretty_assertions] version = "1" [dev-dependencies.rand] version = "0.8" [dev-dependencies.sha2] version = "0.10" [dev-dependencies.size] version = "0.4" [dev-dependencies.tokio] version = "1.27" features = [ "fs", "macros", "rt-multi-thread", ] [dev-dependencies.tracing-opentelemetry] version = "0.27.0" [dev-dependencies.tracing-subscriber] version = "0.3" features = [ "env-filter", "tracing-log", ] [features] default = [ "reqwest/rustls-tls", "executors-tokio", "services-memory", ] executors-tokio = ["tokio/rt"] internal-path-cache = ["dep:moka"] internal-tokio-rt = ["tokio/rt-multi-thread"] layers-async-backtrace = ["dep:async-backtrace"] layers-await-tree = ["dep:await-tree"] layers-blocking = ["internal-tokio-rt"] layers-chaos = ["dep:rand"] layers-dtrace = ["dep:probe"] layers-fastrace = ["dep:fastrace"] layers-metrics = ["dep:metrics"] layers-mime-guess = ["dep:mime_guess"] layers-otel-trace = ["dep:opentelemetry"] layers-prometheus = ["dep:prometheus"] layers-prometheus-client = ["dep:prometheus-client"] layers-throttle = ["dep:governor"] layers-tracing = ["dep:tracing"] services-aliyun-drive = [] services-alluxio = [] services-atomicserver = ["dep:atomic_lib"] services-azblob = [ "dep:sha2", "dep:reqsign", "reqsign?/services-azblob", "reqsign?/reqwest_request", ] services-azdls = [ "dep:reqsign", "reqsign?/services-azblob", "reqsign?/reqwest_request", ] services-azfile = [ "dep:reqsign", "reqsign?/services-azblob", "reqsign?/reqwest_request", ] services-b2 = [] services-cacache = ["dep:cacache"] services-chainsafe = [] services-cloudflare-kv = [] services-compfs = ["dep:compio"] services-cos = [ "dep:reqsign", "reqsign?/services-tencent", "reqsign?/reqwest_request", ] services-d1 = [] services-dashmap = ["dep:dashmap"] services-dbfs = [] services-dropbox = [] services-etcd = [ "dep:etcd-client", "dep:bb8", ] services-foundationdb = ["dep:foundationdb"] services-fs = [ "tokio/fs", "internal-tokio-rt", ] services-ftp = [ "dep:suppaftp", "dep:bb8", "dep:async-tls", ] services-gcs = [ "dep:reqsign", "reqsign?/services-google", "reqsign?/reqwest_request", ] services-gdrive = ["internal-path-cache"] services-ghac = [] services-github = [] services-gridfs = ["dep:mongodb"] services-hdfs = ["dep:hdrs"] services-hdfs-native = ["hdfs-native"] services-http = [] services-huggingface = [] services-icloud = ["internal-path-cache"] services-ipfs = ["dep:prost"] services-ipmfs = [] services-koofr = [] services-lakefs = [] services-libsql = ["dep:hrana-client-proto"] services-memcached = ["dep:bb8"] services-memory = [] services-mini-moka = ["dep:mini-moka"] services-moka = ["dep:moka"] services-mongodb = ["dep:mongodb"] services-monoiofs = [ "dep:monoio", "dep:flume", ] services-mysql = [ "dep:sqlx", "sqlx?/mysql", ] services-nebula-graph = [ "dep:rust-nebula", "dep:bb8", "dep:snowflaked", ] services-obs = [ "dep:reqsign", "reqsign?/services-huaweicloud", "reqsign?/reqwest_request", ] services-onedrive = [] services-oss = [ "dep:reqsign", "reqsign?/services-aliyun", "reqsign?/reqwest_request", ] services-pcloud = [] services-persy = [ "dep:persy", "internal-tokio-rt", ] services-postgresql = [ "dep:sqlx", "sqlx?/postgres", ] services-redb = [ "dep:redb", "internal-tokio-rt", ] services-redis = [ "dep:redis", "dep:bb8", "redis?/tokio-rustls-comp", ] services-redis-native-tls = [ "services-redis", "redis?/tokio-native-tls-comp", ] services-rocksdb = [ "dep:rocksdb", "internal-tokio-rt", ] services-s3 = [ "dep:reqsign", "reqsign?/services-aws", "reqsign?/reqwest_request", "dep:crc32c", ] services-seafile = [] services-sftp = [ "dep:openssh", "dep:openssh-sftp-client", "dep:bb8", ] services-sled = [ "dep:sled", "internal-tokio-rt", ] services-sqlite = [ "dep:sqlx", "sqlx?/sqlite", ] services-supabase = [] services-surrealdb = ["dep:surrealdb"] services-swift = [] services-tikv = ["tikv-client"] services-upyun = [ "dep:hmac", "dep:sha1", ] services-vercel-artifacts = [] services-vercel-blob = [] services-webdav = [] services-webhdfs = [] services-yandex-disk = [] tests = [ "dep:rand", "dep:sha2", "dep:dotenvy", "layers-blocking", "services-azblob", "services-fs", "services-http", "services-memory", "internal-tokio-rt", "services-s3", ] [target.'cfg(target_arch = "wasm32")'.dependencies.backon] version = "1.2" features = ["gloo-timers-sleep"] [target.'cfg(target_arch = "wasm32")'.dependencies.getrandom] version = "0.2" features = ["js"] [target.'cfg(target_arch = "wasm32")'.dependencies.tokio] version = "1.27" features = ["time"] [lints.clippy] unused_async = "warn"