datafusion 12.0.0

DataFusion is an in-memory query engine that uses Apache Arrow as the memory model
Documentation
# 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"
description = "DataFusion is an in-memory query engine that uses Apache Arrow as the memory model"
version = "12.0.0"
homepage = "https://github.com/apache/arrow-datafusion"
repository = "https://github.com/apache/arrow-datafusion"
readme = "../../README.md"
authors = ["Apache Arrow <dev@arrow.apache.org>"]
license = "Apache-2.0"
keywords = ["arrow", "query", "sql"]
include = [
    "benches/*.rs",
    "src/**/*.rs",
    "Cargo.toml",
]
edition = "2021"
rust-version = "1.62"

[lib]
name = "datafusion"
path = "src/lib.rs"

[features]
# Used to enable the avro format
avro = ["apache-avro", "num-traits", "datafusion-common/avro"]
crypto_expressions = ["datafusion-physical-expr/crypto_expressions"]
default = ["crypto_expressions", "regex_expressions", "unicode_expressions"]
# Used for testing ONLY: causes all values to hash to the same value (test for collisions)
force_hash_collisions = []
# Used to enable JIT code generation
jit = ["datafusion-jit", "datafusion-row/jit"]
pyarrow = ["pyo3", "arrow/pyarrow", "datafusion-common/pyarrow"]
regex_expressions = ["datafusion-physical-expr/regex_expressions"]
# Used to enable scheduler
scheduler = ["rayon"]
simd = ["arrow/simd"]
unicode_expressions = ["datafusion-physical-expr/regex_expressions", "datafusion-sql/unicode_expressions"]

[dependencies]
ahash = { version = "0.8", default-features = false, features = ["runtime-rng"] }
apache-avro = { version = "0.14", optional = true }
arrow = { version = "22.0.0", features = ["prettyprint"] }
async-trait = "0.1.41"
bytes = "1.1"
chrono = { version = "0.4", default-features = false }
datafusion-common = { path = "../common", version = "12.0.0", features = ["parquet", "object_store"] }
datafusion-expr = { path = "../expr", version = "12.0.0" }
datafusion-jit = { path = "../jit", version = "12.0.0", optional = true }
datafusion-optimizer = { path = "../optimizer", version = "12.0.0" }
datafusion-physical-expr = { path = "../physical-expr", version = "12.0.0" }
datafusion-row = { path = "../row", version = "12.0.0" }
datafusion-sql = { path = "../sql", version = "12.0.0" }
futures = "0.3"
glob = "0.3.0"
hashbrown = { version = "0.12", features = ["raw"] }
itertools = "0.10"
lazy_static = { version = "^1.4.0" }
log = "^0.4"
num-traits = { version = "0.2", optional = true }
num_cpus = "1.13.0"
object_store = "0.5.0"
ordered-float = "3.0"
parking_lot = "0.12"
parquet = { version = "22.0.0", features = ["arrow", "async"] }
paste = "^1.0"
pin-project-lite = "^0.2.7"
pyo3 = { version = "0.17.1", optional = true }
rand = "0.8"
rayon = { version = "1.5", optional = true }
smallvec = { version = "1.6", features = ["union"] }
sqlparser = "0.23"
tempfile = "3"
tokio = { version = "1.0", features = ["macros", "rt", "rt-multi-thread", "sync", "fs", "parking_lot"] }
tokio-stream = "0.1"
url = "2.2"
uuid = { version = "1.0", features = ["v4"] }

[dev-dependencies]
arrow = { version = "22.0.0", features = ["prettyprint", "dyn_cmp_dict"] }
async-trait = "0.1.53"
criterion = "0.4"
csv = "1.1.6"
ctor = "0.1.22"
doc-comment = "0.3"
env_logger = "0.9"
fuzz-utils = { path = "fuzz-utils" }

[[bench]]
harness = false
name = "aggregate_query_sql"

[[bench]]
harness = false
name = "sort_limit_query_sql"

[[bench]]
harness = false
name = "math_query_sql"

[[bench]]
harness = false
name = "filter_query_sql"

[[bench]]
harness = false
name = "window_query_sql"

[[bench]]
harness = false
name = "scalar"

[[bench]]
harness = false
name = "physical_plan"

[[bench]]
harness = false
name = "parquet_query_sql"
required-features = ["scheduler"]

[[bench]]
harness = false
name = "sql_planner"

[[bench]]
harness = false
name = "jit"
required-features = ["jit"]

[[bench]]
harness = false
name = "merge"