From a75af16fcd2aa2c43f6839ac900b4c0bbfcc0434 Mon Sep 17 00:00:00 2001 From: Joel Natividad <1980690+jqnatividad@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:48:28 -0400 Subject: [PATCH] `deps`: enable `cloud` feature of polars - to get latest fixes/features and to lay the groundwork for supporting cloud storage sources/targets through polars. see #2028 --- Cargo.lock | 203 +++++++++++++++++++++++++++++++++++++++++++++++------ Cargo.toml | 7 +- 2 files changed, 187 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5a93ac4c8..37f1c44aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -325,6 +325,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76" +[[package]] +name = "arrayref" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" + [[package]] name = "arrayvec" version = "0.7.6" @@ -874,6 +880,19 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake3" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block" version = "0.1.6" @@ -1652,7 +1671,7 @@ dependencies = [ "regex", "rusqlite", "serde_json", - "snafu", + "snafu 0.8.4", "streaming-stats", "tempfile", "thiserror", @@ -2324,6 +2343,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "fs4" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c6b3bd49c37d2aa3f3f2220233b29a7cd23f79d1fe70e5337d25fb390793de" +dependencies = [ + "rustix", + "windows-sys 0.52.0", +] + [[package]] name = "fslock" version = "0.2.1" @@ -2794,6 +2823,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "1.4.1" @@ -2825,6 +2860,7 @@ dependencies = [ "hyper", "hyper-util", "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", @@ -3992,6 +4028,35 @@ dependencies = [ "memchr", ] +[[package]] +name = "object_store" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6da452820c715ce78221e8202ccc599b4a52f3e1eb3eedb487b680c81a8e3f3" +dependencies = [ + "async-trait", + "base64", + "bytes", + "chrono", + "futures", + "humantime", + "hyper", + "itertools 0.13.0", + "parking_lot 0.12.3", + "percent-encoding", + "quick-xml 0.36.1", + "rand", + "reqwest", + "ring", + "serde", + "serde_json", + "snafu 0.7.5", + "tokio", + "tracing", + "url", + "walkdir", +] + [[package]] name = "odht" version = "0.3.1" @@ -4007,6 +4072,12 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + [[package]] name = "option-ext" version = "0.2.0" @@ -4356,7 +4427,7 @@ dependencies = [ [[package]] name = "polars" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "getrandom", "polars-arrow", @@ -4375,7 +4446,7 @@ dependencies = [ [[package]] name = "polars-arrow" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "atoi", @@ -4422,7 +4493,7 @@ dependencies = [ [[package]] name = "polars-compute" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "bytemuck", "either", @@ -4437,7 +4508,7 @@ dependencies = [ [[package]] name = "polars-core" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", @@ -4470,9 +4541,10 @@ dependencies = [ [[package]] name = "polars-error" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "avro-schema", + "object_store", "polars-arrow-format", "regex", "simdutf8", @@ -4482,7 +4554,7 @@ dependencies = [ [[package]] name = "polars-expr" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", @@ -4501,15 +4573,17 @@ dependencies = [ [[package]] name = "polars-io" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "async-trait", "atoi_simd 0.15.6", + "blake3", "bytes", "chrono", "chrono-tz 0.8.6", "fast-float", + "fs4", "futures", "glob", "home", @@ -4517,6 +4591,7 @@ dependencies = [ "memchr", "memmap2", "num-traits", + "object_store", "once_cell", "percent-encoding", "polars-arrow", @@ -4528,19 +4603,22 @@ dependencies = [ "polars-utils", "rayon", "regex", + "reqwest", "ryu", "serde", + "serde_json", "simd-json", "simdutf8", "smartstring", "tokio", "tokio-util", + "url", ] [[package]] name = "polars-json" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "chrono", @@ -4561,10 +4639,11 @@ dependencies = [ [[package]] name = "polars-lazy" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", + "futures", "memchr", "once_cell", "polars-arrow", @@ -4580,14 +4659,16 @@ dependencies = [ "polars-utils", "rayon", "smartstring", + "tokio", "version_check", ] [[package]] name = "polars-mem-engine" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ + "futures", "memmap2", "polars-arrow", "polars-core", @@ -4600,12 +4681,13 @@ dependencies = [ "polars-time", "polars-utils", "rayon", + "tokio", ] [[package]] name = "polars-ops" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "argminmax", @@ -4638,7 +4720,7 @@ dependencies = [ [[package]] name = "polars-parquet" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "async-stream", @@ -4665,11 +4747,12 @@ dependencies = [ [[package]] name = "polars-pipe" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "crossbeam-channel", "crossbeam-queue", "enum_dispatch", + "futures", "hashbrown 0.14.5", "num-traits", "polars-arrow", @@ -4683,6 +4766,7 @@ dependencies = [ "polars-utils", "rayon", "smartstring", + "tokio", "uuid", "version_check", ] @@ -4690,7 +4774,7 @@ dependencies = [ [[package]] name = "polars-plan" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", @@ -4698,6 +4782,7 @@ dependencies = [ "chrono", "chrono-tz 0.8.6", "either", + "futures", "hashbrown 0.14.5", "memmap2", "once_cell", @@ -4722,7 +4807,7 @@ dependencies = [ [[package]] name = "polars-row" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "bytemuck", "polars-arrow", @@ -4733,7 +4818,7 @@ dependencies = [ [[package]] name = "polars-sql" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "hex", "once_cell", @@ -4753,7 +4838,7 @@ dependencies = [ [[package]] name = "polars-time" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "atoi", "bytemuck", @@ -4774,7 +4859,7 @@ dependencies = [ [[package]] name = "polars-utils" version = "0.42.0" -source = "git+https://github.com/pola-rs/polars?rev=1dc2533#1dc25330078131464499be2691b2047fb1481a03" +source = "git+https://github.com/pola-rs/polars?rev=bad13b3#bad13b383d628d56832c440da57bbe83a35fefba" dependencies = [ "ahash 0.8.11", "bytemuck", @@ -5264,6 +5349,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "quick-xml" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quickcheck" version = "1.0.3" @@ -5631,6 +5726,7 @@ dependencies = [ "pin-project-lite", "quinn", "rustls", + "rustls-native-certs", "rustls-pemfile", "rustls-pki-types", "serde", @@ -5829,6 +5925,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pemfile" version = "2.1.3" @@ -5896,6 +6005,15 @@ dependencies = [ "sdd", ] +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "scheduled-thread-pool" version = "0.2.7" @@ -5923,6 +6041,29 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "self-replace" version = "1.4.0" @@ -6222,13 +6363,35 @@ dependencies = [ "version_check", ] +[[package]] +name = "snafu" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" +dependencies = [ + "doc-comment", + "snafu-derive 0.7.5", +] + [[package]] name = "snafu" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b835cb902660db3415a672d862905e791e54d306c6e8189168c7f3d9ae1c79d" dependencies = [ - "snafu-derive", + "snafu-derive 0.8.4", +] + +[[package]] +name = "snafu-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 9e10ed910..66a522db4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -150,6 +150,7 @@ polars = { version = "0.42", features = [ "avro", "avx512", "binary_encoding", + "cloud", "coalesce", "cross_join", "dtype-categorical", @@ -269,10 +270,10 @@ calamine = { git = "https://github.com/tafia/calamine", rev = "a90e877" } local-encoding = { git = "https://github.com/slonopotamus/local-encoding-rs", branch = "travis-madness" } # Polars has a much higher release tempo for its Python bindings compared # to its underlying Rust library. See https://github.com/pola-rs/polars/releases -# It's qsv's policy to use the latest release of polars/py-polars -# to take advantage of Polars' latest features and fixes. +# It's qsv's policy to use the latest upstream of polars/py-polars +# to take advantage of Polars' latest unreleased features and fixes. # polars = { git = "https://github.com/pola-rs/polars", tag = "py-1.4.1" } -polars = { git = "https://github.com/pola-rs/polars", rev = "1dc2533" } +polars = { git = "https://github.com/pola-rs/polars", rev = "bad13b3" } [features]