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

[workspace.package]
version = "54.0.0"
homepage = "https://datafusion.apache.org/python"
repository = "https://github.com/apache/datafusion-python"
authors = ["Apache DataFusion <dev@datafusion.apache.org>"]
description = "Apache DataFusion DataFrame and SQL Query Engine"
readme = "README.md"
license = "Apache-2.0"
edition = "2024"
rust-version = "1.88"

[workspace]
members = ["crates/core", "crates/util", "examples/datafusion-ffi-example"]
resolver = "3"

[workspace.dependencies]
tokio = { version = "1.52" }
pyo3 = { version = "0.28" }
pyo3-async-runtimes = { version = "0.28" }
pyo3-log = "0.13.3"
chrono = { version = "0.4", default-features = false }
arrow = { version = "58" }
arrow-array = { version = "58" }
arrow-schema = { version = "58" }
arrow-select = { version = "58" }
datafusion = { version = "54" }
datafusion-substrait = { version = "54" }
datafusion-proto = { version = "54" }
datafusion-ffi = { version = "54" }
datafusion-catalog = { version = "54", default-features = false }
datafusion-common = { version = "54", default-features = false }
datafusion-functions-aggregate = { version = "54" }
datafusion-functions-window = { version = "54" }
datafusion-spark = { version = "54" }
datafusion-expr = { version = "54" }
prost = "0.14.3"
serde_json = "1"
uuid = { version = "1.23" }
mimalloc = { version = "0.1", default-features = false }
async-trait = "0.1.89"
futures = "0.3"
cstr = "0.2"
object_store = { version = "0.13.1" }
url = "2"
log = "0.4.29"
parking_lot = "0.12"
prost-types = "0.14.3"                                                # keep in line with `datafusion-substrait`
pyo3-build-config = "0.28"
datafusion-python-util = { path = "crates/util", version = "54.0.0" }

[profile.release]
lto = "thin"
codegen-units = 2

# We cannot publish to crates.io with any patches in the below section. Developers
# must remove any entries in this section before creating a release candidate.
[patch.crates-io]
