# 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 = "orc-rust" version = "0.5.0" edition = "2021" homepage = "https://github.com/datafusion-contrib/orc-rust" repository = "https://github.com/datafusion-contrib/orc-rust" authors = ["Apache ORC "] license = "Apache-2.0" description = "Implementation of Apache ORC file format using Apache Arrow in-memory format" keywords = ["arrow", "orc", "arrow-rs"] include = ["src/**/*.rs", "Cargo.toml"] rust-version = "1.73" [package.metadata.docs.rs] all-features = true [dependencies] arrow = { version = "53", features = ["prettyprint", "chrono-tz"] } bytemuck = { version = "1.18.0", features = ["must_cast"] } bytes = "1.4" chrono = { version = "0.4.37", default-features = false, features = ["std"] } chrono-tz = "0.10" fallible-streaming-iterator = { version = "0.1" } flate2 = "1" lz4_flex = "0.11" lzokay-native = "0.1" num = "0.4.1" prost = { version = "0.13" } snafu = "0.8" snap = "1.1" zstd = "0.13" # async support async-trait = { version = "0.1.77", optional = true } futures = { version = "0.3", optional = true, default-features = false, features = ["std"] } futures-util = { version = "0.3", optional = true } tokio = { version = "1.28", optional = true, features = [ "io-util", "sync", "fs", "macros", "rt", "rt-multi-thread", ] } # cli anyhow = { version = "1.0", optional = true } clap = { version = "4.5.4", features = ["derive"], optional = true } # opendal opendal = { version = "0.50", optional = true, default-features = false } [dev-dependencies] arrow-ipc = { version = "53.0.0", features = ["lz4"] } arrow-json = "53.0.0" criterion = { version = "0.5", default-features = false, features = ["async_tokio"] } opendal = { version = "0.50", default-features = false, features = ["services-memory"] } pretty_assertions = "1.3.0" proptest = "1.0.0" serde_json = { version = "1.0", default-features = false, features = ["std"] } [features] default = ["async"] async = ["async-trait", "futures", "futures-util", "tokio"] cli = ["anyhow", "clap"] # Enable opendal support. opendal = ["dep:opendal"] [[bench]] name = "arrow_reader" harness = false required-features = ["async"] # Some issue when publishing and path isn't specified, so adding here path = "./benches/arrow_reader.rs" [profile.bench] debug = true [[bin]] name = "orc-metadata" required-features = ["cli"] [[bin]] name = "orc-export" required-features = ["cli"] [[bin]] name = "orc-stats" required-features = ["cli"]