diff --git a/Cargo.toml b/Cargo.toml index 7e7cae206a3..a8e8067b2b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,6 +38,7 @@ members = [ "arrow-select", "arrow-string", "parquet", + "parquet-variant", "parquet_derive", "parquet_derive_test", ] @@ -100,4 +101,4 @@ chrono = { version = "0.4.40", default-features = false, features = ["clock"] } [profile.profiling] inherits = "release" debug = true -strip = false \ No newline at end of file +strip = false diff --git a/parquet-testing b/parquet-testing index e845e41789e..2dc8bf140ed 160000 --- a/parquet-testing +++ b/parquet-testing @@ -1 +1 @@ -Subproject commit e845e41789ec8d3aa6317e6464cdbbca987bf91d +Subproject commit 2dc8bf140ed6e28652fc347211c7d661714c7f95 diff --git a/parquet-variant/Cargo.toml b/parquet-variant/Cargo.toml new file mode 100644 index 00000000000..60c9b316cdf --- /dev/null +++ b/parquet-variant/Cargo.toml @@ -0,0 +1,37 @@ +# 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 = "parquet-variant" +# This package is still in development and thus the version does +# not follow the versions of the rest of the crates in this repo. +version = "0.1.0" +license = { workspace = true } +description = "Apache Parquet Variant implementation in Rust" +homepage = { workspace = true } +repository = { workspace = true } +authors = { workspace = true } +keywords = ["arrow", "parquet", "variant"] +readme = "README.md" +edition = { workspace = true } +rust-version = { workspace = true } + +[dependencies] + +[lib] + + diff --git a/parquet-variant/README.md b/parquet-variant/README.md new file mode 100644 index 00000000000..7da7b2afb65 --- /dev/null +++ b/parquet-variant/README.md @@ -0,0 +1,44 @@ + + +# Apache Parquet Variant Rust Implementation + +[![crates.io](https://img.shields.io/crates/v/parquet-variant.svg)](https://crates.io/crates/parquet-variant) +[![docs.rs](https://img.shields.io/docsrs/parquet-variant.svg)](https://docs.rs/parquet/latest/parquet-variant/) + +This crate contains an implementation of [Variant Binary Encoding] from +[Apache Parquet]. This software is developed as part of the [Apache Arrow] project. + +[Variant Binary Encoding]: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md +[Apache Parquet]: https://parquet.apache.org/ +[Apache Arrow]: https://arrow.apache.org/ + +Please see the [API documentation](https://docs.rs/parquet-variant/latest) for more details. + +## 🚧 Work In Progress + +NOTE: This crate is under active development and is not yet ready for production use. +If you are interested in helping, you can find more information on the GitHub [Variant issue] + +[Variant issue]: https://github.com/apache/arrow-rs/issues/6736 + + +## License + +Licensed under the Apache License, Version 2.0: . diff --git a/parquet-variant/src/lib.rs b/parquet-variant/src/lib.rs new file mode 100644 index 00000000000..6289f86a263 --- /dev/null +++ b/parquet-variant/src/lib.rs @@ -0,0 +1,28 @@ +// 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. + +//! Implementation of [Variant Binary Encoding] from [Apache Parquet]. +//! +//! [Variant Binary Encoding]: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md +//! [Apache Parquet]: https://parquet.apache.org/ +//! +//! ## 🚧 Work In Progress +//! +//! This crate is under active development and is not yet ready for production use. +//! If you are interested in helping, you can find more information on the GitHub [Variant issue] +//! +//! [Variant issue]: https://github.com/apache/arrow-rs/issues/6736