diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3a3e14b..ee3defc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,6 +53,10 @@ "name": "Check arrow2-0-16", "run": "cargo check -p marrow --features arrow2-0-16" }, + { + "name": "Check arrow-58", + "run": "cargo check -p marrow --features arrow-58" + }, { "name": "Check arrow-57", "run": "cargo check -p marrow --features arrow-57" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ef35a06..1a3bb34 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,6 +58,10 @@ "name": "Check arrow2-0-16", "run": "cargo check -p marrow --features arrow2-0-16" }, + { + "name": "Check arrow-58", + "run": "cargo check -p marrow --features arrow-58" + }, { "name": "Check arrow-57", "run": "cargo check -p marrow --features arrow-57" diff --git a/Cargo.lock b/Cargo.lock index 864f79d..3672a1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -364,6 +364,24 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arrow-array" +version = "58.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53796e07a6525edaf7dc28b540d477a934aff14af97967ad1d5550878969b9e" +dependencies = [ + "ahash", + "arrow-buffer 58.0.0", + "arrow-data 58.0.0", + "arrow-schema 58.0.0", + "chrono", + "half", + "hashbrown 0.16.0", + "num-complex", + "num-integer", + "num-traits", +] + [[package]] name = "arrow-buffer" version = "37.0.0" @@ -587,6 +605,18 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arrow-buffer" +version = "58.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2c1a85bb2e94ee10b76531d8bc3ce9b7b4c0d508cabfb17d477f63f2617bd20" +dependencies = [ + "bytes", + "half", + "num-bigint", + "num-traits", +] + [[package]] name = "arrow-data" version = "37.0.0" @@ -840,6 +870,19 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arrow-data" +version = "58.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "189d210bc4244c715fa3ed9e6e22864673cccb73d5da28c2723fb2e527329b33" +dependencies = [ + "arrow-buffer 58.0.0", + "arrow-schema 58.0.0", + "half", + "num-integer", + "num-traits", +] + [[package]] name = "arrow-schema" version = "37.0.0" @@ -1030,6 +1073,16 @@ dependencies = [ "serde_core", ] +[[package]] +name = "arrow-schema" +version = "58.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b47e0ca91cc438d2c7879fe95e0bca5329fff28649e30a88c6f760b1faeddcb" +dependencies = [ + "serde", + "serde_core", +] + [[package]] name = "arrow2" version = "0.16.0" @@ -1325,7 +1378,7 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "marrow" -version = "0.2.5" +version = "0.2.6" dependencies = [ "arrow-array 37.0.0", "arrow-array 38.0.0", @@ -1348,6 +1401,7 @@ dependencies = [ "arrow-array 55.2.0", "arrow-array 56.2.0", "arrow-array 57.0.0", + "arrow-array 58.0.0", "arrow-buffer 37.0.0", "arrow-buffer 38.0.0", "arrow-buffer 39.0.0", @@ -1369,6 +1423,7 @@ dependencies = [ "arrow-buffer 55.2.0", "arrow-buffer 56.2.0", "arrow-buffer 57.0.0", + "arrow-buffer 58.0.0", "arrow-data 37.0.0", "arrow-data 38.0.0", "arrow-data 39.0.0", @@ -1390,6 +1445,7 @@ dependencies = [ "arrow-data 55.2.0", "arrow-data 56.2.0", "arrow-data 57.0.0", + "arrow-data 58.0.0", "arrow-schema 37.0.0", "arrow-schema 38.0.0", "arrow-schema 39.0.0", @@ -1411,6 +1467,7 @@ dependencies = [ "arrow-schema 55.2.0", "arrow-schema 56.2.0", "arrow-schema 57.0.0", + "arrow-schema 58.0.0", "arrow2 0.16.0", "arrow2 0.17.4", "bytemuck", @@ -1646,6 +1703,7 @@ dependencies = [ "arrow-array 55.2.0", "arrow-array 56.2.0", "arrow-array 57.0.0", + "arrow-array 58.0.0", "arrow-schema 37.0.0", "arrow-schema 38.0.0", "arrow-schema 39.0.0", @@ -1667,6 +1725,7 @@ dependencies = [ "arrow-schema 55.2.0", "arrow-schema 56.2.0", "arrow-schema 57.0.0", + "arrow-schema 58.0.0", "chrono", "half", "marrow", diff --git a/Changes.md b/Changes.md index 542b63f..83ddb84 100644 --- a/Changes.md +++ b/Changes.md @@ -1,8 +1,12 @@ # Change log +## 0.2.6 + +- Add `arrow=58` support + ## 0.2.5 -- Add `arrow=57` support. +- Add `arrow=57` support Thanks [@lonless9](https://github.com/lonless9) for the [contribution](https://github.com/chmp/marrow/pull/33) diff --git a/marrow/Cargo.toml b/marrow/Cargo.toml index fddcb9c..57d8f9e 100644 --- a/marrow/Cargo.toml +++ b/marrow/Cargo.toml @@ -2,7 +2,7 @@ edition = "2021" name = "marrow" -version = "0.2.5" +version = "0.2.6" authors = ["Christopher Prohm "] description = "Minimalist Arrow interop" readme = "../Readme.md" @@ -13,7 +13,7 @@ rust-version = "1.70.0" [package.metadata.docs.rs] # arrow-version:replace: features = ["arrow2-0-17", "arrow-{version}", "serde"] -features = ["arrow2-0-17", "arrow-57", "serde"] +features = ["arrow2-0-17", "arrow-58", "serde"] [features] default = [] @@ -23,6 +23,7 @@ serde = ["dep:serde"] # support for different arrow versions # arrow-version:insert: arrow-{version} = ["dep:arrow-array-{version}", "dep:arrow-schema-{version}", "dep:arrow-data-{version}", "dep:arrow-buffer-{version}"] +arrow-58 = ["dep:arrow-array-58", "dep:arrow-schema-58", "dep:arrow-data-58", "dep:arrow-buffer-58"] arrow-57 = ["dep:arrow-array-57", "dep:arrow-schema-57", "dep:arrow-data-57", "dep:arrow-buffer-57"] arrow-56 = ["dep:arrow-array-56", "dep:arrow-schema-56", "dep:arrow-data-56", "dep:arrow-buffer-56"] arrow-55 = ["dep:arrow-array-55", "dep:arrow-schema-55", "dep:arrow-data-55", "dep:arrow-buffer-55"] @@ -56,6 +57,7 @@ half = { version = "2", default-features = false } serde = { version = "1.0", default-features = false, features = ["std", "derive"], optional = true } # arrow-version:insert: arrow-array-{version} = {{ package = "arrow-array", version = "{version}", optional = true, default-features = false }} +arrow-array-58 = { package = "arrow-array", version = "58", optional = true, default-features = false } arrow-array-57 = { package = "arrow-array", version = "57", optional = true, default-features = false } arrow-array-56 = { package = "arrow-array", version = "56", optional = true, default-features = false } arrow-array-55 = { package = "arrow-array", version = "55", optional = true, default-features = false } @@ -79,6 +81,7 @@ arrow-array-38 = { package = "arrow-array", version = "38", optional = true, def arrow-array-37 = { package = "arrow-array", version = "37", optional = true, default-features = false } # arrow-version:insert: arrow-buffer-{version} = {{ package = "arrow-buffer", version = "{version}", optional = true, default-features = false }} +arrow-buffer-58 = { package = "arrow-buffer", version = "58", optional = true, default-features = false } arrow-buffer-57 = { package = "arrow-buffer", version = "57", optional = true, default-features = false } arrow-buffer-56 = { package = "arrow-buffer", version = "56", optional = true, default-features = false } arrow-buffer-55 = { package = "arrow-buffer", version = "55", optional = true, default-features = false } @@ -102,6 +105,7 @@ arrow-buffer-38 = { package = "arrow-buffer", version = "38", optional = true, d arrow-buffer-37 = { package = "arrow-buffer", version = "37", optional = true, default-features = false } # arrow-version:insert: arrow-data-{version} = {{ package = "arrow-data", version="{version}", optional = true, default-features = false }} +arrow-data-58 = { package = "arrow-data", version="58", optional = true, default-features = false } arrow-data-57 = { package = "arrow-data", version="57", optional = true, default-features = false } arrow-data-56 = { package = "arrow-data", version="56", optional = true, default-features = false } arrow-data-55 = { package = "arrow-data", version="55", optional = true, default-features = false } @@ -125,6 +129,7 @@ arrow-data-38 = { package = "arrow-data", version="38", optional = true, default arrow-data-37 = { package = "arrow-data", version="37", optional = true, default-features = false } # arrow-version:insert: arrow-schema-{version} = {{ package = "arrow-schema", version = "{version}", optional = true, default-features = false }} +arrow-schema-58 = { package = "arrow-schema", version = "58", optional = true, default-features = false } arrow-schema-57 = { package = "arrow-schema", version = "57", optional = true, default-features = false } arrow-schema-56 = { package = "arrow-schema", version = "56", optional = true, default-features = false } arrow-schema-55 = { package = "arrow-schema", version = "55", optional = true, default-features = false } diff --git a/marrow/src/impl_arrow/mod.rs b/marrow/src/impl_arrow/mod.rs index 88d48ae..ab89e4f 100644 --- a/marrow/src/impl_arrow/mod.rs +++ b/marrow/src/impl_arrow/mod.rs @@ -2,6 +2,11 @@ #![cfg_attr(any(), rustfmt::skip)] // arrow-version:insert: #[cfg(feature = "arrow-{version}")]{\n}mod arrow_{version} {{{\n} use {{arrow_array_{version} as arrow_array, arrow_buffer_{version} as arrow_buffer, arrow_data_{version} as arrow_data, arrow_schema_{version} as arrow_schema}};{\n} include!("impl_api_53.rs");{\n}}} +#[cfg(feature = "arrow-58")] +mod arrow_58 { + use {arrow_array_58 as arrow_array, arrow_buffer_58 as arrow_buffer, arrow_data_58 as arrow_data, arrow_schema_58 as arrow_schema}; + include!("impl_api_53.rs"); +} #[cfg(feature = "arrow-57")] mod arrow_57 { use {arrow_array_57 as arrow_array, arrow_buffer_57 as arrow_buffer, arrow_data_57 as arrow_data, arrow_schema_57 as arrow_schema}; @@ -106,4 +111,4 @@ mod arrow_38 { mod arrow_37 { use {arrow_array_37 as arrow_array, arrow_buffer_37 as arrow_buffer, arrow_data_37 as arrow_data, arrow_schema_37 as arrow_schema}; include!("impl_api_37.rs"); -} +} \ No newline at end of file diff --git a/marrow/src/lib.rs b/marrow/src/lib.rs index 7b6cbf5..8242cda 100644 --- a/marrow/src/lib.rs +++ b/marrow/src/lib.rs @@ -99,6 +99,7 @@ //! | Feature | Arrow Version | //! |---------------|---------------| // arrow-version:insert: //! | `arrow-{version}` | `arrow={version}` | +//! | `arrow-58` | `arrow=58` | //! | `arrow-56` | `arrow=56` | //! | `arrow-55` | `arrow=55` | //! | `arrow-54` | `arrow=54` | diff --git a/test_with_arrow/Cargo.toml b/test_with_arrow/Cargo.toml index a7bfef8..e9b14a1 100644 --- a/test_with_arrow/Cargo.toml +++ b/test_with_arrow/Cargo.toml @@ -9,6 +9,7 @@ edition = "2021" [features] # arrow-version:insert: arrow-{version} = ["marrow/arrow-{version}", "dep:arrow-array-{version}", "dep:arrow-schema-{version}"] +arrow-58 = ["marrow/arrow-58", "dep:arrow-array-58", "dep:arrow-schema-58"] arrow-57 = ["marrow/arrow-57", "dep:arrow-array-57", "dep:arrow-schema-57"] arrow-56 = ["marrow/arrow-56", "dep:arrow-array-56", "dep:arrow-schema-56"] arrow-55 = ["marrow/arrow-55", "dep:arrow-array-55", "dep:arrow-schema-55"] @@ -39,6 +40,7 @@ serde_json = "1" chrono = { version = "0.4", default-features = false } # arrow-version:insert: arrow-array-{version} = {{ package = "arrow-array", version="{version}", optional = true, default-features = false }} +arrow-array-58 = { package = "arrow-array", version="58", optional = true, default-features = false } arrow-array-57 = { package = "arrow-array", version="57", optional = true, default-features = false } arrow-array-56 = { package = "arrow-array", version="56", optional = true, default-features = false } arrow-array-55 = { package = "arrow-array", version="55", optional = true, default-features = false } @@ -62,6 +64,7 @@ arrow-array-38 = { package = "arrow-array", version="38", optional = true, defau arrow-array-37 = { package = "arrow-array", version="37", optional = true, default-features = false } # arrow-version:insert: arrow-schema-{version} = {{ package = "arrow-schema", version = "{version}", optional = true, default-features = false, features = ["serde"] }} +arrow-schema-58 = { package = "arrow-schema", version = "58", optional = true, default-features = false, features = ["serde"] } arrow-schema-57 = { package = "arrow-schema", version = "57", optional = true, default-features = false, features = ["serde"] } arrow-schema-56 = { package = "arrow-schema", version = "56", optional = true, default-features = false, features = ["serde"] } arrow-schema-55 = { package = "arrow-schema", version = "55", optional = true, default-features = false, features = ["serde"] } @@ -82,4 +85,4 @@ arrow-schema-41 = { package = "arrow-schema", version = "41", optional = true, d arrow-schema-40 = { package = "arrow-schema", version = "40", optional = true, default-features = false, features = ["serde"] } arrow-schema-39 = { package = "arrow-schema", version = "39", optional = true, default-features = false, features = ["serde"] } arrow-schema-38 = { package = "arrow-schema", version = "38", optional = true, default-features = false, features = ["serde"] } -arrow-schema-37 = { package = "arrow-schema", version = "37", optional = true, default-features = false, features = ["serde"] } +arrow-schema-37 = { package = "arrow-schema", version = "37", optional = true, default-features = false, features = ["serde"] } \ No newline at end of file diff --git a/test_with_arrow/src/lib.rs b/test_with_arrow/src/lib.rs index 38b4900..ec59235 100644 --- a/test_with_arrow/src/lib.rs +++ b/test_with_arrow/src/lib.rs @@ -17,6 +17,7 @@ macro_rules! define_test_module { } // arrow-version:insert: define_test_module!("arrow-{version}", arrow_{version}, arrow_array_{version}, arrow_schema_{version}, utils, arrays, data_types,struct_arrays, fixed_size_binary_arrays, intervals, union_arrays, views); +define_test_module!("arrow-58", arrow_58, arrow_array_58, arrow_schema_58, utils, arrays, data_types,struct_arrays, fixed_size_binary_arrays, intervals, union_arrays, views); define_test_module!("arrow-56", arrow_56, arrow_array_56, arrow_schema_56, utils, arrays, data_types,struct_arrays, fixed_size_binary_arrays, intervals, union_arrays, views); define_test_module!("arrow-55", arrow_55, arrow_array_55, arrow_schema_55, utils, arrays, data_types,struct_arrays, fixed_size_binary_arrays, intervals, union_arrays, views); define_test_module!("arrow-54", arrow_54, arrow_array_54, arrow_schema_54, utils, arrays, data_types,struct_arrays, fixed_size_binary_arrays, intervals, union_arrays, views); diff --git a/x.py b/x.py index 20b99e2..21bac3b 100644 --- a/x.py +++ b/x.py @@ -11,6 +11,7 @@ all_arrow_features = [ # arrow-version:insert: "arrow-{version}", + "arrow-58", "arrow-57", "arrow-56", "arrow-55",