[package]
name = "datafusion-python"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description.workspace = true
homepage.workspace = true
repository.workspace = true
include = [
"src",
"../LICENSE.txt",
"build.rs",
"../pyproject.toml",
"Cargo.toml",
"../Cargo.lock",
]
[dependencies]
tokio = { workspace = true, features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
] }
pyo3 = { workspace = true, features = [
"extension-module",
"abi3",
"abi3-py310",
] }
pyo3-async-runtimes = { workspace = true, features = ["tokio-runtime"] }
pyo3-log = { workspace = true }
arrow = { workspace = true, features = ["pyarrow"] }
arrow-select = { workspace = true }
datafusion = { workspace = true, features = ["avro", "unicode_expressions"] }
datafusion-substrait = { workspace = true, optional = true }
datafusion-proto = { workspace = true }
datafusion-ffi = { workspace = true }
prost = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true, features = ["v4"] }
mimalloc = { workspace = true, optional = true, features = [
"local_dynamic_tls",
] }
async-trait = { workspace = true }
futures = { workspace = true }
cstr = { workspace = true }
object_store = { workspace = true, features = ["aws", "gcp", "azure", "http"] }
url = { workspace = true }
log = { workspace = true }
parking_lot = { workspace = true }
datafusion-python-util = { workspace = true }
[build-dependencies]
prost-types = { workspace = true }
pyo3-build-config = { workspace = true }
[features]
default = ["mimalloc"]
protoc = ["datafusion-substrait/protoc"]
substrait = ["dep:datafusion-substrait"]
[lib]
name = "datafusion_python"
crate-type = ["cdylib", "rlib"]