[package] name = "datafusion-table-providers" version = "0.2.3" readme = "README.md" edition = "2021" repository = "https://github.com/datafusion-contrib/datafusion-table-providers" license = "Apache-2.0" description = "Extend the capabilities of DataFusion to support additional data sources via implementations of the `TableProvider` trait." [dependencies] arrow = "53" arrow-array = { version = "53", optional = true } arrow-cast = { version = "53", optional = true } arrow-flight = { version = "53", optional = true, features = ["flight-sql-experimental", "tls"] } arrow-schema = { version = "53", optional = true, features = ["serde"] } arrow-json = "53" async-stream = { version = "0.3.5", optional = true } async-trait = "0.1.80" num-bigint = "0.4.4" bigdecimal = "0.4.5" byteorder = "1.5.0" chrono = "0.4.38" datafusion = "42.0.0" datafusion-expr = { version = "42.0.0", optional = true } datafusion-physical-expr = { version = "42.0.0", optional = true } datafusion-physical-plan = { version = "42.0.0", optional = true } datafusion-proto = { version = "42.0.0", optional = true } datafusion-federation = { version = "0.3.0", features = ["sql"], optional = true } duckdb = { version = "1.1.1", features = [ "bundled", "r2d2", "vtab", "vtab-arrow", "appender-arrow", ], optional = true } fallible-iterator = "0.3.0" futures = "0.3.30" mysql_async = { version = "0.34.1", features = ["native-tls-tls", "chrono"], optional = true } prost = { version = "0.13.2", optional = true } r2d2 = { version = "0.8.10", optional = true } rusqlite = { version = "0.31.0", optional = true } sea-query = { version = "0.32.0-rc.1", features = [ "backend-sqlite", "backend-postgres", "postgres-array", "with-rust_decimal", "with-bigdecimal", "with-time", "with-chrono"] } secrecy = "0.8.0" serde = { version = "1.0.209", optional = true } serde_json = "1.0.124" snafu = "0.8.3" time = "0.3.36" tokio = { version = "1.38.0", features = ["macros", "fs"] } tokio-postgres = { version = "0.7.10", features = [ "with-chrono-0_4", "with-uuid-1", "with-serde_json-1", "with-geo-types-0_7"], optional = true } tracing = "0.1.40" uuid = { version = "1.9.1", optional = true } postgres-native-tls = { version = "0.5.0", optional = true } bb8 = { version = "0.8", optional = true } bb8-postgres = { version = "0.8", optional = true } native-tls = { version = "0.2.11", optional = true } trust-dns-resolver = "0.23.2" url = "2.5.1" pem = { version = "3.0.4", optional = true } tokio-rusqlite = { version = "0.5.1", optional = true } tonic = { version = "0.12", optional = true, features = ["tls-native-roots", "tls-webpki-roots"] } itertools = "0.13.0" dyn-clone = { version = "1.0.17", optional = true } geo-types = "0.7.13" fundu = "2.0.1" [dev-dependencies] anyhow = "1.0.86" bollard = "0.16.1" rand = "0.8.5" reqwest = "0.12.5" secrecy = "0.8.0" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } test-log = { version = "0.2.16", features = ["trace"] } rstest = "0.22.0" geozero = { version = "0.13.0", features = ["with-wkb"] } tokio-stream = { version = "0.1.15", features = ["net"] } arrow-schema = "53.1.0" prost = { version = "0.13"} [features] mysql = ["dep:mysql_async", "dep:async-stream"] postgres = ["dep:tokio-postgres", "dep:uuid", "dep:postgres-native-tls", "dep:bb8", "dep:bb8-postgres", "dep:native-tls", "dep:pem", "dep:async-stream"] sqlite = ["dep:rusqlite", "dep:tokio-rusqlite"] duckdb = ["dep:duckdb", "dep:r2d2", "dep:uuid", "dep:dyn-clone", "dep:async-stream"] flight = [ "dep:arrow-array", "dep:arrow-cast", "dep:arrow-flight", "dep:arrow-schema", "dep:datafusion-expr", "dep:datafusion-physical-expr", "dep:datafusion-physical-plan", "dep:datafusion-proto", "dep:serde", "dep:tonic", ] federation = ["dep:datafusion-federation"] duckdb-federation = ["duckdb", "federation"] sqlite-federation = ["sqlite", "federation"] postgres-federation = ["postgres", "federation"] mysql-federation = ["mysql", "federation"]