Cargo Features

[dependencies]
datafusion-dft = { version = "0.2.1", default-features = false, features = ["deltalake", "iceberg", "flightsql", "experimental-flightsql-server", "s3", "functions-json", "functions-parquet", "huggingface"] }

When addding a new feature, also add it to the features tested list in CI (.github/workflows/rust.yml)

default = functions-parquet

The functions-parquet feature is set by default whenever datafusion-dft is added without default-features = false somewhere in the dependency tree.

deltalake

Enables deltalake ^0.22.0

iceberg

Enables iceberg-catalog-rest and iceberg-datafusion

flightsql experimental-flightsql-server?

Enables arrow-flight ^53.0.0 and tonic

Affects config::AppConfig.flightsql, config::FlightSQLConfig, config::default_connection_url, execution::flightsql, execution::flightsql_benchmarks, test_utils::fixture, handlers::flightsql, state::AppState.flightsql_tab, tabs::flightsql, tabs::flightsql, args::DftArgs.flightsql_host, test_utils::trailers_layer

experimental-flightsql-server = flightsql

Enables metrics and metrics-exporter-prometheus

Affects args::DftArgs.serve, config::FlightSQLConfig.server_metrics_port, datafusion-dft::server, args::DftArgs.flightsql_host, test_utils::trailers_layer

s3 = url

Enables object_store

Affects config::S3Config, config::ObjectStoreConfig.s3

functions-json

Enables datafusion-functions-json ^0.43.0

functions-parquet default

Enables datafusion-functions-parquet

huggingface = object_store_opendal, opendal, url

Affects config::HuggingFaceConfig, config::ObjectStoreConfig.huggingface

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.

object_store s3?
opendal huggingface?
object_store_opendal huggingface?
url huggingface? s3?