polars-df 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/Cargo.lock +162 -63
  4. data/README.md +1 -1
  5. data/ext/polars/Cargo.toml +16 -14
  6. data/ext/polars/src/catalog/unity.rs +10 -9
  7. data/ext/polars/src/conversion/any_value.rs +7 -5
  8. data/ext/polars/src/conversion/mod.rs +24 -17
  9. data/ext/polars/src/dataframe/export.rs +14 -28
  10. data/ext/polars/src/dataframe/general.rs +69 -111
  11. data/ext/polars/src/dataframe/map.rs +173 -0
  12. data/ext/polars/src/dataframe/mod.rs +2 -2
  13. data/ext/polars/src/error.rs +3 -3
  14. data/ext/polars/src/exceptions.rs +0 -24
  15. data/ext/polars/src/expr/array.rs +13 -6
  16. data/ext/polars/src/expr/binary.rs +24 -0
  17. data/ext/polars/src/expr/datatype.rs +4 -0
  18. data/ext/polars/src/expr/extension.rs +12 -0
  19. data/ext/polars/src/expr/general.rs +37 -38
  20. data/ext/polars/src/expr/mod.rs +1 -0
  21. data/ext/polars/src/expr/name.rs +17 -18
  22. data/ext/polars/src/expr/selector.rs +5 -5
  23. data/ext/polars/src/expr/string.rs +40 -2
  24. data/ext/polars/src/file.rs +71 -68
  25. data/ext/polars/src/functions/eager.rs +3 -2
  26. data/ext/polars/src/functions/io.rs +21 -55
  27. data/ext/polars/src/functions/lazy.rs +71 -26
  28. data/ext/polars/src/functions/range.rs +40 -16
  29. data/ext/polars/src/interop/arrow/to_rb.rs +1 -1
  30. data/ext/polars/src/interop/numo/mod.rs +0 -1
  31. data/ext/polars/src/interop/numo/to_numo_df.rs +1 -1
  32. data/ext/polars/src/interop/numo/to_numo_series.rs +1 -1
  33. data/ext/polars/src/io/cloud_options.rs +107 -0
  34. data/ext/polars/src/io/mod.rs +4 -122
  35. data/ext/polars/src/io/scan_options.rs +110 -0
  36. data/ext/polars/src/io/sink_options.rs +44 -0
  37. data/ext/polars/src/io/sink_output.rs +21 -0
  38. data/ext/polars/src/lazyframe/general.rs +252 -187
  39. data/ext/polars/src/lazyframe/mod.rs +1 -1
  40. data/ext/polars/src/lazyframe/sink.rs +4 -62
  41. data/ext/polars/src/lazygroupby.rs +32 -2
  42. data/ext/polars/src/lib.rs +60 -31
  43. data/ext/polars/src/map/lazy.rs +41 -77
  44. data/ext/polars/src/map/mod.rs +3 -258
  45. data/ext/polars/src/map/series.rs +239 -1087
  46. data/ext/polars/src/on_startup.rs +137 -3
  47. data/ext/polars/src/rb_modules.rs +0 -17
  48. data/ext/polars/src/ruby/exceptions.rs +26 -0
  49. data/ext/polars/src/ruby/gvl.rs +104 -0
  50. data/ext/polars/src/ruby/lazy.rs +46 -0
  51. data/ext/polars/src/ruby/mod.rs +11 -0
  52. data/ext/polars/src/ruby/plan_callback.rs +201 -0
  53. data/ext/polars/src/ruby/rb_modules.rs +18 -0
  54. data/ext/polars/src/ruby/ruby_convert_registry.rs +51 -0
  55. data/ext/polars/src/ruby/ruby_function.rs +11 -0
  56. data/ext/polars/src/ruby/ruby_udf.rs +166 -0
  57. data/ext/polars/src/ruby/thread.rs +65 -0
  58. data/ext/polars/src/ruby/utils.rs +28 -0
  59. data/ext/polars/src/series/aggregation.rs +16 -6
  60. data/ext/polars/src/series/construction.rs +31 -7
  61. data/ext/polars/src/series/export.rs +76 -37
  62. data/ext/polars/src/series/general.rs +38 -11
  63. data/ext/polars/src/series/import.rs +1 -1
  64. data/ext/polars/src/series/map.rs +57 -200
  65. data/ext/polars/src/series/mod.rs +1 -1
  66. data/ext/polars/src/series/scatter.rs +129 -75
  67. data/ext/polars/src/utils.rs +16 -105
  68. data/lib/polars/array_expr.rb +28 -16
  69. data/lib/polars/array_name_space.rb +25 -13
  70. data/lib/polars/batched_csv_reader.rb +40 -58
  71. data/lib/polars/binary_expr.rb +150 -0
  72. data/lib/polars/binary_name_space.rb +79 -0
  73. data/lib/polars/cat_name_space.rb +5 -3
  74. data/lib/polars/collect_batches.rb +18 -0
  75. data/lib/polars/data_frame.rb +250 -100
  76. data/lib/polars/data_types.rb +4 -0
  77. data/lib/polars/dynamic_group_by.rb +96 -4
  78. data/lib/polars/expr.rb +164 -158
  79. data/lib/polars/extension_expr.rb +39 -0
  80. data/lib/polars/extension_name_space.rb +39 -0
  81. data/lib/polars/functions/aggregation/horizontal.rb +1 -1
  82. data/lib/polars/functions/col.rb +2 -2
  83. data/lib/polars/functions/datatype.rb +11 -0
  84. data/lib/polars/functions/eager.rb +12 -6
  85. data/lib/polars/functions/lazy.rb +228 -61
  86. data/lib/polars/group_by.rb +125 -47
  87. data/lib/polars/io/csv.rb +38 -9
  88. data/lib/polars/io/ipc.rb +20 -6
  89. data/lib/polars/io/ndjson.rb +17 -11
  90. data/lib/polars/io/parquet.rb +19 -11
  91. data/lib/polars/io/scan_options.rb +1 -2
  92. data/lib/polars/io/sink_options.rb +24 -0
  93. data/lib/polars/lazy_frame.rb +444 -93
  94. data/lib/polars/lazy_group_by.rb +113 -4
  95. data/lib/polars/list_expr.rb +7 -2
  96. data/lib/polars/list_name_space.rb +17 -3
  97. data/lib/polars/meta_expr.rb +7 -0
  98. data/lib/polars/name_expr.rb +15 -3
  99. data/lib/polars/rolling_group_by.rb +88 -3
  100. data/lib/polars/selector.rb +3 -3
  101. data/lib/polars/selectors.rb +1 -1
  102. data/lib/polars/series.rb +103 -12
  103. data/lib/polars/string_expr.rb +54 -10
  104. data/lib/polars/string_name_space.rb +23 -6
  105. data/lib/polars/utils/construction/series.rb +1 -0
  106. data/lib/polars/utils/parse.rb +15 -9
  107. data/lib/polars/utils.rb +8 -0
  108. data/lib/polars/version.rb +1 -1
  109. data/lib/polars.rb +4 -0
  110. metadata +23 -4
  111. data/ext/polars/src/batched_csv.rs +0 -134
  112. data/ext/polars/src/map/dataframe.rs +0 -341
  113. /data/ext/polars/src/{interop/numo/numo_rs.rs → ruby/numo.rs} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba1e4a6372c0782979745537b3e590503c0861bd13440578c519692469a43aaa
4
- data.tar.gz: 62667e600bc2b0231d72a1026416e5efcfd3cb9cbb21d1ef113c3074be0121f4
3
+ metadata.gz: f29eb603b53abf84e780389ff4c04ff58ae16ccb4336747150caf662166c8ff7
4
+ data.tar.gz: fea822884078c5f8ea7cc060d24f92304465b11efdb42eef36a63ee0f41e02a7
5
5
  SHA512:
6
- metadata.gz: d09b6ae1a26ccf3781c46c02d73712fb83fdf72f0742b488175282bb52bd0a1542f36b44576b77653f45797b3a25ae78b26e3e6845bab8bc08c80d9c7f2c641b
7
- data.tar.gz: 04d8e47b2551e6614b0aa0563a6757a7d5a192c4726d013e5baa08aa534647c29d07bf980d11614f0f4f9e6a311a9a8c79833ef5595a2b97817a7e189300aa04
6
+ metadata.gz: ed7f845b117e6dcd7adb90b77cd7dbe0e53607d2c2551627c5ca2bbfbbc42fe94970bd98c31dd752b7a61ff97570f96441a403d347e2e45aae0062f78c9e3676
7
+ data.tar.gz: 40c417f1de724293f8800e02da735a6fd5631607e1da8c505f3a42e6056b98a1611e720f9d9522e56838161015e6ad8be4722391eeda57cce3d4614e2bad5dab
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## 0.25.0 (2026-02-18)
2
+
3
+ - Updated Polars to 0.53.0
4
+ - Added `Float16` type
5
+ - Changed `each` method for `GroupBy` to always return `Array` keys
6
+
7
+ Added methods
8
+
9
+ - Added `self_dtype` method to `Polars`
10
+ - Added `map_batches` method to `Polars`, `Expr`, and `LazyFrame`
11
+ - Added `map_groups` method to `Polars`, `GroupBy`, `DynamicGroupBy`, `RollingGroupBy`, and `LazyGroupBy`
12
+ - Added `map_columns` method to `DataFrame`
13
+ - Added `map_elements` and `pipe` methods to `Expr`
14
+ - Added `pivot` method to `LazyFrame`
15
+ - Added `sql` method to `Series`
16
+ - Added `having` method to `GroupBy`, `DynamicGroupBy`, `RollingGroupBy`, and `LazyGroupBy`
17
+ - Added `mean` method to `ArrayNameSpace`
18
+ - Added `slice`, `head`, and `tail` methods to `BinaryExpr` and `BinaryNameSpace`
19
+ - Added `get` method to `BinaryExpr`
20
+ - Added `as_expression` method to `MetaExpr`
21
+ - Added `map_fields` method to `NameExpr`
22
+
23
+ Added options
24
+
25
+ - Added `compression`, `compression_level`, and `check_extension` options to `write_csv` method
26
+ - Added `empty_as_null` and `keep_nulls` options to `explode` method
27
+ - Added `ignore_nulls` option to `first` and `last` methods
28
+ - Added `leftmost` option to `find_many`, `extract_many`, and `replace_many` methods
29
+ - Added `maintain_order` option to `mode` method
30
+ - Added `strict` option to `concat` and `union` methods for `Polars`
31
+ - Added `null_on_oob` option to `get` method for `Expr`
32
+ - Added `literal` and `strict` options to `split` method for `StringExpr`
33
+
1
34
  ## 0.24.0 (2026-02-04)
2
35
 
3
36
  - Added support for Ruby 4.0