Cargo Features

[dependencies]
opendal = { version = "0.45.1", default-features = false, features = ["tests", "trust-dns", "rustls", "native-tls", "native-tls-vendored", "internal-path-cache", "layers-all", "layers-chaos", "layers-metrics", "layers-prometheus", "layers-prometheus-client", "layers-madsim", "layers-minitrace", "layers-tracing", "layers-otel-trace", "layers-throttle", "layers-await-tree", "layers-async-backtrace", "layers-blocking", "layers-dtrace", "services-alluxio", "services-atomicserver", "services-azblob", "services-azdls", "services-azfile", "services-b2", "services-cacache", "services-cloudflare-kv", "services-cos", "services-d1", "services-dashmap", "services-dropbox", "services-etcd", "services-foundationdb", "services-fs", "services-ftp", "services-gcs", "services-gdrive", "services-ghac", "services-gridfs", "services-hdfs", "services-http", "services-huggingface", "services-icloud", "services-ipfs", "services-ipmfs", "services-koofr", "services-libsql", "services-memcached", "services-memory", "services-mini-moka", "services-moka", "services-mongodb", "services-mysql", "services-obs", "services-onedrive", "services-oss", "services-pcloud", "services-persy", "services-postgresql", "services-redb", "services-redis", "services-redis-native-tls", "services-rocksdb", "services-s3", "services-seafile", "services-sftp", "services-sled", "services-sqlite", "services-swift", "services-tikv", "services-upyun", "services-vercel-blob", "services-hdfs-native", "services-wasabi", "services-webhdfs", "services-yandex-disk", "internal-tokio-rt"] }
default = rustls, services-azblob, services-azdls, services-azfile, services-cos, services-fs, services-gcs, services-ghac, services-http, services-ipmfs, services-memory, services-obs, services-oss, services-s3, services-webdav, services-webhdfs

These default features are set whenever opendal is added without default-features = false somewhere in the dependency tree.

tests = layers-blocking

Build test utils or not.

These features are used to control whether to build opendal's test utils.
And doesn't have any other effects.

You should never enable this feature unless you are developing opendal.

Enables dotenvy, rand, and sha2

dotenvy:

Test only dependencies

Affects raw::tests

trust-dns

Enable trust-dns for pure rust dns cache.

Enables trust-dns of reqwest ^0.11.18

rustls default

Enable rustls for TLS support

Enables rustls-tls-native-roots of reqwest ^0.11.18

native-tls

Enable native-tls for TLS support

Enables native-tls of reqwest ^0.11.18

native-tls-vendored

Enable vendored native-tls for TLS support

Enables native-tls-vendored of reqwest ^0.11.18

internal-path-cache services-gdrive? services-icloud?

Enable path cache.
This is an internal feature, and should not be used by users.

Enables moka

for services-moka

layers-all = layers-async-backtrace, layers-await-tree, layers-blocking, layers-chaos, layers-metrics, layers-minitrace, layers-prometheus, layers-throttle, layers-tracing

Enable all layers.

layers-chaos layers-all?

Enable layers chaos support

Enables rand

layers-metrics layers-all?

Enable layers metrics support

Enables metrics ^0.20

for layers-metrics

layers-prometheus layers-all?

Enable layers prometheus support, with tikv/prometheus-rs crate

Enables prometheus

for layers-prometheus

layers-prometheus-client

Enable layers prometheus support, with prometheus-client crate

Enables prometheus-client

for layers-prometheus-client

layers-madsim

Enable layers madsim support

Enables madsim

for layers-madsim

layers-minitrace layers-all?

Enable layers minitrace support.

Enables minitrace

for layers-minitrace

layers-tracing layers-all?

Enable layers tracing support.

Enables tracing

for layers-tracing

layers-otel-trace

Enable layers oteltrace support.

Enables opentelemetry ^0.21.0

for layers-opentelemetry

layers-throttle layers-all?

Enable layers throttle support.

Enables governor

for layers-throttle

layers-await-tree layers-all?

Enable layers await-tree support.

Enables await-tree ^0.1.1

for layers-await-tree

layers-async-backtrace layers-all?

Enable layers async-backtrace support.

Enables async-backtrace

Layers
for layers-async-backtrace

layers-blocking layers-all? tests? = internal-tokio-rt

Enable dtrace support.

layers-dtrace

Enables probe

for layers-dtrace

services-alluxio
services-atomicserver

Enables atomic_lib ^0.34.5

for services-atomic-server

services-azblob default

Enables sha2 and reqwest_request and services-azblob of reqsign ^0.14.7

For http based services.

services-azdls default

Enables reqwest_request and services-azblob of reqsign ^0.14.7

services-azfile default
services-b2
services-cacache

Enables cacache

for services-cacache

services-chainsafe services-cloudflare-kv
services-cos default

Enables reqwest_request and services-tencent of reqsign ^0.14.7

services-d1
services-dashmap

Enables dashmap

for services-dashmap

services-dbfs services-dropbox
services-etcd

Enables bb8

Optional dependencies

Services
general dependencies.

and etcd-client

for services-etcd

services-foundationdb

Enables foundationdb ^0.8.0

for services-foundationdb

services-fs default

Enables fs of tokio

services-ftp

Enables async-tls, bb8, and suppaftp

suppaftp:

for services-ftp

services-gcs default

Enables reqwest_request and services-google of reqsign ^0.14.7

services-gdrive = internal-path-cache
services-ghac default
services-gridfs

Enables mongodb

for services-mongodb

services-hdfs

Enables hdrs

for services-hdfs

services-http default
services-huggingface
services-icloud = internal-path-cache
services-ipfs

Enables prost ^0.11

services-ipmfs default
services-koofr
services-libsql

Enables hrana-client-proto

for services-libsql

services-memcached

Enables bb8

services-memory default
services-mini-moka

Enables mini-moka

for services-mini-moka

services-moka

Enables moka

services-mongodb

Enables mongodb

services-mysql

Enables mysql_async ^0.32.2

for services-mysql

services-obs default

Enables reqwest_request and services-huaweicloud of reqsign ^0.14.7

services-onedrive
services-oss default

Enables reqwest_request and services-aliyun of reqsign ^0.14.7

services-pcloud
services-persy = internal-tokio-rt

Enables persy

for services-persy

services-postgresql

Enables bb8, bb8-postgres, and tokio-postgres

bb8-postgres:

for services-postgres

services-redb = internal-tokio-rt

Enables redb ^1.1.0

for services-redb

services-redis services-redis-native-tls?

Enables tokio-rustls-comp of redis ^0.23.1

for services-redis

services-redis-native-tls = services-redis

Enables tokio-native-tls-comp of optional redis ^0.23.1

services-rocksdb = internal-tokio-rt

Enables rocksdb ^0.21.0

for services-rocksdb

services-s3 default

Enables reqwest_request and services-aws of reqsign ^0.14.7

services-seafile
services-sftp

Enables openssh and openssh-sftp-client

openssh:

for services-sftp

services-sled = internal-tokio-rt

Enables sled

for services-sled

services-sqlite = internal-tokio-rt

Enables r2d2 and rusqlite ^0.29.0

rusqlite:

for services-sqlite

services-supabase services-swift
services-tikv = tikv-client
services-upyun

Enables hmac and sha1

hmac:

for services-upyun

services-vercel-artifacts services-vercel-blob
services-hdfs-native = hdfs-native

Deprecated
wasabi services support has been removed.
We will remove this feature in the next version.

services-wasabi
services-webdav services-webhdfs default
services-yandex-disk
internal-tokio-rt layers-blocking? services-persy? services-redb? services-rocksdb? services-sled? services-sqlite?

Enables rt-multi-thread of tokio

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

tikv-client services-tikv?

Enables tikv-client

for services-tikv

hdfs-native services-hdfs-native?

Enables hdfs-native ^0.6.0

for services-hdfs-native