polars 0.49 upgrade (#16031)

# Description
Polars 0.49 upgrade

Co-authored-by: Jack Wright <jack.wright@nike.com>
This commit is contained in:
Jack Wright
2025-06-23 14:17:39 -07:00
committed by GitHub
parent a234e6ff51
commit e88a6bff60
4 changed files with 73 additions and 112 deletions

147
Cargo.lock generated
View File

@ -765,6 +765,12 @@ dependencies = [
"objc2",
]
[[package]]
name = "boxcar"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26c4925bc979b677330a8c7fe7a8c94af2dbb4a2d37b4a20a80d884400f46baa"
[[package]]
name = "bracoxide"
version = "0.1.6"
@ -1696,18 +1702,6 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "enum_dispatch"
version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd"
dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.90",
]
[[package]]
name = "env_filter"
version = "0.1.2"
@ -4921,11 +4915,12 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
[[package]]
name = "planus"
version = "0.3.1"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f"
checksum = "3daf8e3d4b712abe1d690838f6e29fb76b76ea19589c4afa39ec30e12f62af71"
dependencies = [
"array-init-cursor",
"hashbrown 0.15.2",
]
[[package]]
@ -4953,9 +4948,9 @@ dependencies = [
[[package]]
name = "polars"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0c10a02dc15223de108e0625bf152efb8dc3b181c5916b5ee335e40dcda735a"
checksum = "443824f43bca39b178353d6c09e4b44e115b21f107a5654d5f980d20b432a303"
dependencies = [
"getrandom 0.2.15",
"polars-arrow",
@ -4965,7 +4960,6 @@ dependencies = [
"polars-lazy",
"polars-ops",
"polars-parquet",
"polars-plan",
"polars-sql",
"polars-time",
"polars-utils",
@ -4974,9 +4968,9 @@ dependencies = [
[[package]]
name = "polars-arrow"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef8c08875db45de6f71660ef15a686e459ab0dddae302b2870d66625fd3ba65"
checksum = "809c5340e9e6c16eee5a07585161bae99f903f53af7402075efec23ee75fce5b"
dependencies = [
"atoi_simd",
"avro-schema",
@ -5006,9 +5000,9 @@ dependencies = [
[[package]]
name = "polars-arrow-format"
version = "0.1.0"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b0ef2474af9396b19025b189d96e992311e6a47f90c53cd998b36c4c64b84c"
checksum = "863c04c514be005eced7db7053e20d49f7e7a58048a282fa52dfea1fd5434e78"
dependencies = [
"planus",
"serde",
@ -5016,9 +5010,9 @@ dependencies = [
[[package]]
name = "polars-compute"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b54171a366ec0bd3431ce184568e731de14060c20e19f306706cb073e7a98dc1"
checksum = "8b8802ff2cccea01a845ea8267a7600e495747ed109035bb5020c33eb8717ff4"
dependencies = [
"atoi_simd",
"bytemuck",
@ -5042,11 +5036,12 @@ dependencies = [
[[package]]
name = "polars-core"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d13c50b27ed6df2f6a9d156e9a4960e9373bf65fc763e0be2738efa5457d915"
checksum = "3fc3c99d7000be1be11665e1e260b93dc3b927342b9da3b53d9a1ac264e4343d"
dependencies = [
"bitflags 2.6.0",
"boxcar",
"bytemuck",
"chrono",
"chrono-tz",
@ -5070,15 +5065,16 @@ dependencies = [
"serde",
"serde_json",
"strum_macros",
"uuid",
"version_check",
"xxhash-rust",
]
[[package]]
name = "polars-error"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa800b7240c7326e54d6b95df8376e3ee760e4cb4170fe38de1f42d14d719ffc"
checksum = "1397c17712e61a55fdd45c033a69f0451fde2973ff2609c22e363e21d68f11ef"
dependencies = [
"avro-schema",
"object_store",
@ -5091,9 +5087,9 @@ dependencies = [
[[package]]
name = "polars-expr"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc0f1673599bee079c94d7d7e7e0a31818c7c88060dcf6ec82691a99e1eb5cf9"
checksum = "33d3aa6722c9a3e0b721ec2bcdc4affd9e50e4cb606cd81bb94535a9a5a6ade9"
dependencies = [
"bitflags 2.6.0",
"hashbrown 0.15.2",
@ -5114,9 +5110,9 @@ dependencies = [
[[package]]
name = "polars-io"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1db23d90c17ab03ccded685e5a88aa8ee43fd851376463a9533ed56ba66d1538"
checksum = "1a632d442a99821250a8fa66f7d488bf5ee98e5f515e65256b12956cb81fc110"
dependencies = [
"async-trait",
"atoi_simd",
@ -5161,9 +5157,9 @@ dependencies = [
[[package]]
name = "polars-json"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8b0fdc69f8a20441b4fbc4843d643d0fa12fcef1b6b27608087ef544c5407f0"
checksum = "cd891735404ebb9d6ace066cfb4b8f6edb321bc841d354a0d917a3a1f2d1ca5b"
dependencies = [
"chrono",
"chrono-tz",
@ -5183,9 +5179,9 @@ dependencies = [
[[package]]
name = "polars-lazy"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03708e73a20fd7ca9fb0003e620daff5c488c9e2b287640289de78c5b135ead7"
checksum = "f4ed0c87bdc8820447a38ae8efdb5a51a5a93e8bd528cffb05d05cf1145e4161"
dependencies = [
"bitflags 2.6.0",
"chrono",
@ -5200,7 +5196,6 @@ dependencies = [
"polars-json",
"polars-mem-engine",
"polars-ops",
"polars-pipe",
"polars-plan",
"polars-stream",
"polars-time",
@ -5212,9 +5207,9 @@ dependencies = [
[[package]]
name = "polars-mem-engine"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52126424d9612132b0b8b4b995ea25a42d79559d111063ef705a370dfa742d46"
checksum = "675294ddf9174029e48caa4e59b0665ea64bfb784a366b197690895a6ed65c68"
dependencies = [
"futures",
"memmap2",
@ -5235,9 +5230,9 @@ dependencies = [
[[package]]
name = "polars-ops"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e308800c11d5c6d0ddef16186ca026691aedeeb2210d458cdea997520907917"
checksum = "1eb4db68956f857c52eeda072d87644a7b42eac41d55073af94dfac8441af6cf"
dependencies = [
"argminmax",
"base64 0.22.1",
@ -5274,9 +5269,9 @@ dependencies = [
[[package]]
name = "polars-parquet"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e186177e24e217ce5b9bf441028417faeeef01b7e793fa815e1d26a53c38400"
checksum = "7c849c10edd9511ccd4ec4130e283ee3a8b3bb48a7d74ac6354c1c20add81065"
dependencies = [
"async-stream",
"base64 0.22.1",
@ -5310,38 +5305,11 @@ dependencies = [
"futures",
]
[[package]]
name = "polars-pipe"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59780346591510f17e26a2cb7a5f812167e9487163baf6570a53a4fab3e004f3"
dependencies = [
"crossbeam-channel",
"crossbeam-queue",
"enum_dispatch",
"futures",
"hashbrown 0.15.2",
"num-traits",
"polars-arrow",
"polars-compute",
"polars-core",
"polars-expr",
"polars-io",
"polars-ops",
"polars-plan",
"polars-row",
"polars-utils",
"rayon",
"tokio",
"uuid",
"version_check",
]
[[package]]
name = "polars-plan"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dfb0432eed610f25f436b519c007d4c6e2607c645ff27324aaaafda34ef51bf"
checksum = "71fb4412c42bf637c2c02a617381c682ed425d9c8e4bd1fcb85cf352ed2a67c6"
dependencies = [
"bitflags 2.6.0",
"bytemuck",
@ -5373,9 +5341,9 @@ dependencies = [
[[package]]
name = "polars-row"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0be6a32d19ccae4dad60ef0394972419c771b393d31e1b141a89c69de5b33990"
checksum = "08fb77ac1d37340d9cfe57cf58000cf3d9cce429e10d25066952c6145c684cc0"
dependencies = [
"bitflags 2.6.0",
"bytemuck",
@ -5387,9 +5355,9 @@ dependencies = [
[[package]]
name = "polars-schema"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12b56ea2026a869b9bae7d8bd861b420d72e7bca4cf4b757368874577ac666b6"
checksum = "ada7c7e2fbbeffbdd67628cd8a89f02b0a8d21c71d34e297e2463a7c17575203"
dependencies = [
"indexmap",
"polars-error",
@ -5400,9 +5368,9 @@ dependencies = [
[[package]]
name = "polars-sql"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ada7336bd78c67d896f9a13082b02e4a159c6c6fba777dcc152c0b1f126453b"
checksum = "4a8e512b1f05ffda9963fe8f6a7c62dcba86be85218bc033ecdad2802cc1b1a0"
dependencies = [
"bitflags 2.6.0",
"hex",
@ -5421,9 +5389,9 @@ dependencies = [
[[package]]
name = "polars-stream"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d81638ef3da43d632da0250386bf4f042fe514005f2a6d59d9e6118194888eb7"
checksum = "5b0a02d8050acd9b64ed7e36c5bc96f6d4f46a940220f9c0e34c96b51f830f8c"
dependencies = [
"async-channel",
"async-trait",
@ -5458,9 +5426,9 @@ dependencies = [
[[package]]
name = "polars-time"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "706ea1e67d5bfcfd9e5ca59070fb5ad591d42b9729d4a60af1b320e645ea158e"
checksum = "72e84a30110880ffede8d93c085fc429ab1b8bf1acf3d6d489143dd34be374c4"
dependencies = [
"atoi_simd",
"bytemuck",
@ -5482,9 +5450,9 @@ dependencies = [
[[package]]
name = "polars-utils"
version = "0.48.1"
version = "0.49.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c50cd0dac46936771793eb22cb7aeeef97d6aaa4f832f4209637e73178d39aa"
checksum = "a05e033960552c47fc35afe14d5af5b29696acc97ae5d3c585ebc33c246cc15f"
dependencies = [
"bincode",
"bytemuck",
@ -5504,11 +5472,9 @@ dependencies = [
"regex",
"rmp-serde",
"serde",
"serde_ignored",
"serde_json",
"slotmap",
"stacker",
"sysinfo",
"version_check",
]
@ -6609,15 +6575,6 @@ dependencies = [
"syn 2.0.90",
]
[[package]]
name = "serde_ignored"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b516445dac1e3535b6d658a7b528d771153dfb272ed4180ca4617a20550365ff"
dependencies = [
"serde",
]
[[package]]
name = "serde_json"
version = "1.0.133"
@ -7922,9 +7879,11 @@ checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
dependencies = [
"atomic",
"getrandom 0.3.1",
"js-sys",
"md-5",
"serde",
"sha1_smol",
"wasm-bindgen",
]
[[package]]

View File

@ -33,11 +33,11 @@ indexmap = { version = "2.9" }
num = { version = "0.4" }
serde = { version = "1.0", features = ["derive"] }
sqlparser = { version = "0.53" }
polars-io = { version = "0.48", features = ["avro", "cloud", "aws"] }
polars-arrow = { version = "0.48" }
polars-ops = { version = "0.48", features = ["pivot", "cutqcut"] }
polars-plan = { version = "0.48", features = ["regex"] }
polars-utils = { version = "0.48" }
polars-io = { version = "0.49", features = ["avro", "cloud", "aws"] }
polars-arrow = { version = "0.49" }
polars-ops = { version = "0.49", features = ["pivot", "cutqcut"] }
polars-plan = { version = "0.49", features = ["regex"] }
polars-utils = { version = "0.49" }
typetag = "0.2"
env_logger = "0.11.3"
log.workspace = true
@ -93,14 +93,13 @@ features = [
"sign",
"strings",
"string_to_integer",
"streaming",
"timezones",
"temporal",
"to_dummies",
"trigonometry",
]
optional = false
version = "0.48"
version = "0.49"
[dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.105.2" }

View File

@ -202,7 +202,8 @@ fn get_col_name(expr: &Expr) -> Option<String> {
| Expr::SubPlan(_, _)
| Expr::IndexColumn(_)
| Expr::Selector(_)
| Expr::Field(_) => None,
| Expr::Field(_)
| Expr::Eval { .. } => None,
}
}

View File

@ -365,10 +365,9 @@ pub fn expr_to_value(expr: &Expr, span: Span) -> Result<Value, ShellError> {
span,
))
}
Expr::RenameAlias { expr, function } => Ok(Value::record(
Expr::RenameAlias { expr, .. } => Ok(Value::record(
record! {
"expr" => expr_to_value(expr.as_ref(), span)?,
"function" => Value::string(format!("{function:?}"), span),
},
span,
)),
@ -377,6 +376,7 @@ pub fn expr_to_value(expr: &Expr, span: Span) -> Result<Value, ShellError> {
function,
output_type,
options,
fmt_str,
} => {
let input: Result<Vec<Value>, ShellError> =
input.iter().map(|e| expr_to_value(e, span)).collect();
@ -386,22 +386,18 @@ pub fn expr_to_value(expr: &Expr, span: Span) -> Result<Value, ShellError> {
"function" => Value::string(format!("{function:?}"), span),
"output_type" => Value::string(format!("{output_type:?}"), span),
"options" => Value::string(format!("{options:?}"), span),
"fmt_str" => Value::string(format!("{fmt_str:?}"), span),
},
span,
))
}
Expr::Function {
input,
function,
options,
} => {
Expr::Function { input, function } => {
let input: Result<Vec<Value>, ShellError> =
input.iter().map(|e| expr_to_value(e, span)).collect();
Ok(Value::record(
record! {
"input" => Value::list(input?, span),
"function" => Value::string(format!("{function:?}"), span),
"options" => Value::string(format!("{options:?}"), span),
},
span,
))
@ -452,13 +448,19 @@ pub fn expr_to_value(expr: &Expr, span: Span) -> Result<Value, ShellError> {
// the parameter polars_plan::dsl::selector::Selector is not publicly exposed.
// I am not sure what we can meaningfully do with this at this time.
Expr::Selector(_) => Err(ShellError::UnsupportedInput {
msg: "Expressions of type Selector to Nu Values is not yet supported".to_string(),
msg: "Expressions of type Selector to Nu Value is not yet supported".to_string(),
input: format!("Expression is {expr:?}"),
msg_span: span,
input_span: Span::unknown(),
}),
Expr::IndexColumn(_) => Err(ShellError::UnsupportedInput {
msg: "Expressions of type IndexColumn to Nu Values is not yet supported".to_string(),
msg: "Expressions of type IndexColumn to Nu Value is not yet supported".to_string(),
input: format!("Expression is {expr:?}"),
msg_span: span,
input_span: Span::unknown(),
}),
Expr::Eval { .. } => Err(ShellError::UnsupportedInput {
msg: "Expressions of type Eval to Nu Value is not yet supported".to_string(),
input: format!("Expression is {expr:?}"),
msg_span: span,
input_span: Span::unknown(),