Cargo Features

[dependencies]
opendal = { version = "0.47.3", default-features = false, features = ["tests", "internal-path-cache", "internal-tokio-rt", "executors-tokio", "layers-chaos", "layers-metrics", "layers-prometheus", "layers-prometheus-client", "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-azfile", "services-b2", "services-cacache", "services-cloudflare-kv", "services-compfs", "services-cos", "services-d1", "services-dashmap", "services-dropbox", "services-etcd", "services-foundationdb", "services-fs", "services-ftp", "services-gcs", "services-gdrive", "services-github", "services-gridfs", "services-hdfs", "services-hdfs-native", "services-http", "services-huggingface", "services-icloud", "services-ipfs", "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-supabase", "services-surrealdb", "services-swift", "services-tikv", "services-upyun", "services-vercel-blob", "services-webhdfs", "services-yandex-disk"] }
default = executors-tokio, services-memory

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

Enables rustls-tls of reqwest

tests = internal-tokio-rt, layers-blocking, services-azblob, services-fs, services-http, services-memory, services-s3

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

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

internal-tokio-rt layers-blocking? services-persy? services-redb? services-rocksdb? services-sled? services-sqlite? tests?

Enable tokio runtime.

Enables rt-multi-thread of tokio

executors-tokio default

Enable tokio executors support.

Enables rt of tokio

layers-chaos

Enable layers chaos support

Enables rand

layers-metrics

Enable layers metrics support

Enables metrics

for layers-metrics

layers-prometheus

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-minitrace

Enable layers minitrace support.

Enables minitrace

for layers-minitrace

layers-tracing

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

Enable layers throttle support.

Enables governor

for layers-throttle

layers-await-tree

Enable layers await-tree support.

Enables await-tree ^0.1.1

for layers-await-tree

layers-async-backtrace

Enable layers async-backtrace support.

Enables async-backtrace

Layers
for layers-async-backtrace

layers-blocking tests? = internal-tokio-rt

Enable dtrace support.

layers-dtrace

Enables probe

for layers-dtrace

services-aliyun-drive services-alluxio
services-atomicserver

Enables atomic_lib ^0.34.5

for services-atomic-server

services-azblob tests?

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

For http based services.

services-azdls services-azfile

Enables reqwest_request and services-azblob of reqsign ^0.15.2

services-b2
services-cacache

Enables cacache

for services-cacache

services-chainsafe services-cloudflare-kv
services-compfs

Enables compio

for services-compfs

services-cos

Enables reqwest_request and services-tencent of reqsign ^0.15.2

services-d1
services-dashmap

Enables dashmap ^5.4

for services-dashmap

services-dbfs services-dropbox
services-etcd

Enables bb8

Optional dependencies

Services
general dependencies.

and etcd-client ^0.12

for services-etcd

services-foundationdb

Enables foundationdb ^0.8.0

for services-foundationdb

services-fs tests?

Enables fs of tokio

services-ftp

Enables async-tls, bb8, and suppaftp ^5.3.1

suppaftp:

for services-ftp

services-gcs

Enables reqwest_request and services-google of reqsign ^0.15.2

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

Enables mongodb ^2.8.1

for services-mongodb

services-hdfs

Enables hdrs

for services-hdfs

services-hdfs-native = hdfs-native
services-http tests?
services-huggingface
services-icloud = internal-path-cache
services-ipfs

Enables prost ^0.11

services-ipmfs services-koofr
services-libsql

Enables hrana-client-proto

for services-libsql

services-memcached

Enables bb8

services-memory default tests?
services-mini-moka

Enables mini-moka

for services-mini-moka

services-moka

Enables moka

services-mongodb

Enables mongodb ^2.8.1

services-mysql

Enables mysql_async ^0.32.2

for services-mysql

services-obs

Enables reqwest_request and services-huaweicloud of reqsign ^0.15.2

services-onedrive
services-oss

Enables reqwest_request and services-aliyun of reqsign ^0.15.2

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 tests?

Enables reqwest_request and services-aws of reqsign ^0.15.2 and crc32c

for services-s3

services-seafile
services-sftp

Enables bb8, 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.31.0

rusqlite:

for services-sqlite

services-supabase
services-surrealdb

Enables surrealdb

for services-surrealdb

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

Enables hmac and sha1

hmac:

for services-upyun

services-vercel-artifacts services-vercel-blob
services-webdav services-webhdfs
services-yandex-disk

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.9.4

for services-hdfs-native