Cargo Features

[dependencies]
opendal = { version = "0.50.2", default-features = false, features = ["tests", "internal-path-cache", "internal-tokio-rt", "executors-tokio", "layers-chaos", "layers-metrics", "layers-mime-guess", "layers-prometheus", "layers-prometheus-client", "layers-fastrace", "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-lakefs", "services-libsql", "services-memcached", "services-memory", "services-mini-moka", "services-moka", "services-mongodb", "services-monoiofs", "services-mysql", "services-nebula-graph", "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-fs? services-persy? services-redb? services-rocksdb? services-sled? 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-mime-guess

Enable layers mime_guess support

Enables mime_guess

for layers-mime-guess

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

Enable layers fastrace support.

Enables fastrace

for layers-fastrace

layers-tracing

Enable layers tracing support.

Enables tracing

for layers-tracing

layers-otel-trace

Enable layers oteltrace support.

Enables opentelemetry ^0.26

for layers-opentelemetry

layers-throttle

Enable layers throttle support.

Enables governor ^0.6.0

for layers-throttle

layers-await-tree

Enable layers await-tree support.

Enables await-tree

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

for services-atomic-server

services-azblob tests?

Enables sha2 and reqwest_request and services-azblob of reqsign

For http based services.

services-azdls services-azfile

Enables reqwest_request and services-azblob of reqsign

services-b2
services-cacache

Enables cacache

for services-cacache

services-chainsafe services-cloudflare-kv
services-compfs

Enables compio ^0.12.0

for services-compfs

services-cos

Enables reqwest_request and services-tencent of reqsign

services-d1
services-dashmap

Enables dashmap

for services-dashmap

services-dbfs services-dropbox
services-etcd

Enables bb8 ^0.8

Optional dependencies

Services
general dependencies.

and etcd-client

for services-etcd

services-foundationdb

Enables foundationdb

for services-foundationdb

services-fs tests? = internal-tokio-rt

Enables fs of tokio

services-ftp

Enables async-tls, bb8 ^0.8, and suppaftp

suppaftp:

for services-ftp

services-gcs

Enables reqwest_request and services-google of reqsign

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

Enables mongodb

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

services-ipmfs services-koofr services-lakefs
services-libsql

Enables hrana-client-proto

for services-libsql

services-memcached

Enables bb8 ^0.8

services-memory default tests?
services-mini-moka

Enables mini-moka

for services-mini-moka

services-moka

Enables moka

services-mongodb

Enables mongodb

services-monoiofs

Enables flume and monoio

flume:

for services-monoiofs

services-mysql

Enables mysql of sqlx

services-nebula-graph

Enables bb8 ^0.8, rust-nebula, and snowflaked

rust-nebula:

for services-nebula-graph

services-obs

Enables reqwest_request and services-huaweicloud of reqsign

services-onedrive
services-oss

Enables reqwest_request and services-aliyun of reqsign

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

Enables persy

for services-persy

services-postgresql

Enables postgres of sqlx

services-redb = internal-tokio-rt

Enables redb

for services-redb

services-redis services-redis-native-tls?

Enables bb8 ^0.8 and tokio-rustls-comp of redis

for services-redis

services-redis-native-tls = services-redis

Enables tokio-native-tls-comp of optional redis

services-rocksdb = internal-tokio-rt

Enables rocksdb ^0.21.0

for services-rocksdb

services-s3 tests?

Enables reqwest_request and services-aws of reqsign and crc32c

for services-s3

services-seafile
services-sftp

Enables bb8 ^0.8, openssh, and openssh-sftp-client

openssh:

for services-sftp

services-sled = internal-tokio-rt

Enables sled

for services-sled

services-sqlite

Enables sqlite of sqlx

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

for services-hdfs-native