Skip to content

Commit fe016ed

Browse files
authored
refactor(python): Expose group_by_dynamic in pyir (#19385)
1 parent fc8eec2 commit fe016ed

File tree

16 files changed

+125
-94
lines changed

16 files changed

+125
-94
lines changed

Cargo.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/polars-arrow/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ ahash = { workspace = true }
7171
async-stream = { version = "0.3", optional = true }
7272
tokio = { workspace = true, optional = true, features = ["io-util"] }
7373

74+
strum_macros = { workspace = true }
75+
7476
[dev-dependencies]
7577
criterion = "0.5"
7678
crossbeam-channel = { workspace = true }

crates/polars-arrow/src/legacy/kernels/rolling/no_nulls/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use num_traits::{Float, Num, NumCast};
1111
pub use quantile::*;
1212
#[cfg(feature = "serde")]
1313
use serde::{Deserialize, Serialize};
14+
use strum_macros::IntoStaticStr;
1415
pub use sum::*;
1516
pub use variance::*;
1617

@@ -69,8 +70,9 @@ where
6970
Ok(Box::new(arr))
7071
}
7172

72-
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, Hash)]
73+
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, Hash, IntoStaticStr)]
7374
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
75+
#[strum(serialize_all = "snake_case")]
7476
pub enum QuantileMethod {
7577
#[default]
7678
Nearest,

crates/polars-arrow/src/legacy/kernels/time.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use polars_error::PolarsResult;
99
use polars_error::{polars_bail, PolarsError};
1010
#[cfg(feature = "serde")]
1111
use serde::{Deserialize, Serialize};
12+
use strum_macros::IntoStaticStr;
1213

1314
pub enum Ambiguous {
1415
Earliest,
@@ -32,8 +33,9 @@ impl FromStr for Ambiguous {
3233
}
3334
}
3435

35-
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
36+
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, IntoStaticStr)]
3637
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
38+
#[strum(serialize_all = "snake_case")]
3739
pub enum NonExistent {
3840
Null,
3941
Raise,

crates/polars-core/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ regex = { workspace = true, optional = true }
3636
# activate if you want serde support for Series and DataFrames
3737
serde = { workspace = true, optional = true }
3838
serde_json = { workspace = true, optional = true }
39+
strum_macros = { workspace = true }
3940
thiserror = { workspace = true }
4041
xxhash-rust = { workspace = true }
4142

crates/polars-core/src/frame/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use arrow::record_batch::RecordBatch;
3333
use polars_utils::pl_str::PlSmallStr;
3434
#[cfg(feature = "serde")]
3535
use serde::{Deserialize, Serialize};
36+
use strum_macros::IntoStaticStr;
3637

3738
use crate::chunked_array::cast::CastOptions;
3839
#[cfg(feature = "row_hash")]
@@ -49,8 +50,9 @@ pub enum NullStrategy {
4950
Propagate,
5051
}
5152

52-
#[derive(Copy, Clone, Debug, PartialEq, Eq, Default, Hash)]
53+
#[derive(Copy, Clone, Debug, PartialEq, Eq, Default, Hash, IntoStaticStr)]
5354
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
55+
#[strum(serialize_all = "snake_case")]
5456
pub enum UniqueKeepStrategy {
5557
/// Keep the first unique row.
5658
First,

crates/polars-ops/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ regex = { workspace = true }
3737
regex-syntax = { workspace = true }
3838
serde = { workspace = true, optional = true }
3939
serde_json = { workspace = true, optional = true }
40+
strum_macros = { workspace = true }
4041
unicode-reverse = { workspace = true, optional = true }
4142

4243
[dependencies.jsonpath_lib]

crates/polars-ops/src/frame/join/args.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub type ChunkJoinIds = Vec<IdxSize>;
1818
use polars_core::export::once_cell::sync::Lazy;
1919
#[cfg(feature = "serde")]
2020
use serde::{Deserialize, Serialize};
21+
use strum_macros::IntoStaticStr;
2122

2223
#[derive(Clone, PartialEq, Eq, Debug, Hash)]
2324
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
@@ -108,8 +109,9 @@ impl JoinArgs {
108109
}
109110
}
110111

111-
#[derive(Clone, PartialEq, Eq, Hash)]
112+
#[derive(Clone, PartialEq, Eq, Hash, IntoStaticStr)]
112113
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
114+
#[strum(serialize_all = "snake_case")]
113115
pub enum JoinType {
114116
Inner,
115117
Left,

crates/polars-ops/src/series/ops/is_between.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ use std::ops::BitAnd;
33
use polars_core::prelude::*;
44
#[cfg(feature = "serde")]
55
use serde::{Deserialize, Serialize};
6+
use strum_macros::IntoStaticStr;
67

7-
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, Default)]
8+
#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq, Default, IntoStaticStr)]
89
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
10+
#[strum(serialize_all = "snake_case")]
911
pub enum ClosedInterval {
1012
#[default]
1113
Both,

crates/polars-plan/src/dsl/function_expr/bitwise.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::fmt;
22
use std::sync::Arc;
33

44
use polars_core::prelude::*;
5+
use strum_macros::IntoStaticStr;
56

67
use super::{ColumnsUdf, SpecialEq};
78
use crate::dsl::FieldsMapper;
@@ -21,7 +22,8 @@ pub enum BitwiseFunction {
2122
}
2223

2324
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
24-
#[derive(Clone, Copy, PartialEq, Debug, Eq, Hash)]
25+
#[derive(Clone, Copy, PartialEq, Debug, Eq, Hash, IntoStaticStr)]
26+
#[strum(serialize_all = "snake_case")]
2527
pub enum BitwiseAggFunction {
2628
And,
2729
Or,

0 commit comments

Comments
 (0)