blob: df67350419dd45911590f228e6c7f2bd92783a25 [file]
# 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 = "hudi-python"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
keywords.workspace = true
readme.workspace = true
description = "Native Python binding for Apache Hudi, based on Hudi-rs."
homepage.workspace = true
repository = "https://github.com/apache/hudi-rs/tree/main/python/"
[lib]
name = "hudi"
crate-type = ["cdylib"]
doc = false
[dependencies]
hudi = { path = "../crates/hudi"}
hudi-test = { path = "../crates/test", optional = true }
strum = { workspace = true }
# arrow
arrow = { workspace = true, features = ["pyarrow"] }
datafusion = { workspace = true, optional = true}
datafusion-ffi = { workspace = true, optional = true}
# "stdlib"
thiserror = { workspace = true }
# runtime / async
futures = { workspace = true }
tokio = { workspace = true }
[dependencies.pyo3]
version = "0.26"
features = ["extension-module", "abi3", "abi3-py310"]
[features]
default = []
datafusion = ["dep:datafusion","dep:datafusion-ffi","hudi/datafusion"]
testing = ["dep:hudi-test", "hudi-test/datafusion"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }