| # 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-comet" |
| version = { workspace = true } |
| homepage = "https://datafusion.apache.org/comet" |
| repository = "https://github.com/apache/datafusion-comet" |
| authors = ["Apache DataFusion <dev@datafusion.apache.org>"] |
| description = "Apache DataFusion Comet: High performance accelerator for Apache Spark" |
| readme = "README.md" |
| license = "Apache-2.0" |
| edition = "2021" |
| include = [ |
| "benches/*.rs", |
| "src/**/*.rs", |
| "Cargo.toml", |
| ] |
| |
| # this crate is used in the Spark plugin and does not contain public Rust APIs so we do not publish this crate |
| publish = false |
| |
| [dependencies] |
| arrow = { workspace = true } |
| arrow-array = { workspace = true } |
| arrow-buffer = { workspace = true } |
| arrow-data = { workspace = true } |
| arrow-schema = { workspace = true } |
| parquet = { workspace = true, default-features = false, features = ["experimental"] } |
| futures = { workspace = true } |
| mimalloc = { version = "*", default-features = false, optional = true } |
| tokio = { version = "1", features = ["rt-multi-thread"] } |
| async-trait = { workspace = true } |
| log = "0.4" |
| log4rs = "1.2.0" |
| thiserror = { workspace = true } |
| serde = { version = "1", features = ["derive"] } |
| lazy_static = "1.4.0" |
| prost = "0.12.1" |
| jni = "0.21" |
| snap = "1.1" |
| # we disable default features in lz4_flex to force the use of the faster unsafe encoding and decoding implementation |
| lz4_flex = { version = "0.11.3", default-features = false } |
| zstd = "0.11" |
| rand = { workspace = true} |
| num = { workspace = true } |
| bytes = { workspace = true } |
| tempfile = "3.8.0" |
| itertools = "0.14.0" |
| paste = "1.0.14" |
| datafusion-common = { workspace = true, features= ["object_store"] } |
| datafusion = { workspace = true } |
| datafusion-functions-nested = { workspace = true } |
| datafusion-expr = { workspace = true } |
| datafusion-execution = { workspace = true } |
| datafusion-physical-expr = { workspace = true } |
| once_cell = "1.18.0" |
| regex = { workspace = true } |
| crc32fast = "1.3.2" |
| simd-adler32 = "0.3.7" |
| datafusion-comet-spark-expr = { workspace = true } |
| datafusion-comet-proto = { workspace = true } |
| object_store = { workspace = true } |
| url = { workspace = true } |
| parking_lot = "0.12.3" |
| datafusion-comet-objectstore-hdfs = { path = "../hdfs", optional = true} |
| |
| [dev-dependencies] |
| pprof = { version = "0.14.0", features = ["flamegraph"] } |
| criterion = { version = "0.5.1", features = ["async_tokio"] } |
| jni = { version = "0.21", features = ["invocation"] } |
| lazy_static = "1.4" |
| assertables = "7" |
| hex = "0.4.3" |
| |
| [features] |
| default = [] |
| hdfs=["datafusion-comet-objectstore-hdfs"] |
| |
| # exclude optional packages from cargo machete verifications |
| [package.metadata.cargo-machete] |
| ignored = ["datafusion-comet-objectstore-hdfs"] |
| |
| [lib] |
| name = "comet" |
| # "rlib" is for benchmarking with criterion. |
| crate-type = ["cdylib", "rlib"] |
| |
| [[bench]] |
| name = "parquet_read" |
| harness = false |
| |
| [[bench]] |
| name = "bit_util" |
| harness = false |
| |
| [[bench]] |
| name = "row_columnar" |
| harness = false |
| |
| [[bench]] |
| name = "shuffle_writer" |
| harness = false |
| |
| [[bench]] |
| name = "parquet_decode" |
| harness = false |
| |
| [[bench]] |
| name = "filter" |
| harness = false |
| |
| [[bench]] |
| name = "bloom_filter_agg" |
| harness = false |