| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| [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", |
| "generate-import-lib", |
| ] } |
| pyo3-async-runtimes = { workspace = true, features = ["tokio-runtime"] } |
| pyo3-log = { workspace = true } |
| chrono = { 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 } # keep in line with `datafusion-substrait` |
| 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", "abi3"] |
| # Stable ABI build — single wheel covers Python 3.10..3.14 (GIL builds only). |
| # Mutually exclusive with free-threaded interpreters (cp313t / cp314t); the |
| # free-threaded wheel build must pass --no-default-features. |
| abi3 = ["pyo3/abi3", "pyo3/abi3-py310"] |
| protoc = ["datafusion-substrait/protoc"] |
| substrait = ["dep:datafusion-substrait"] |
| |
| [lib] |
| name = "datafusion_python" |
| crate-type = ["cdylib", "rlib"] |