polars-df 0.7.0 → 0.9.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/Cargo.lock +353 -237
  4. data/Cargo.toml +0 -3
  5. data/LICENSE.txt +1 -1
  6. data/README.md +2 -2
  7. data/ext/polars/Cargo.toml +17 -6
  8. data/ext/polars/src/batched_csv.rs +6 -7
  9. data/ext/polars/src/conversion/anyvalue.rs +185 -0
  10. data/ext/polars/src/conversion/chunked_array.rs +140 -0
  11. data/ext/polars/src/{conversion.rs → conversion/mod.rs} +268 -347
  12. data/ext/polars/src/dataframe.rs +96 -116
  13. data/ext/polars/src/expr/array.rs +74 -0
  14. data/ext/polars/src/expr/categorical.rs +8 -1
  15. data/ext/polars/src/expr/datetime.rs +22 -56
  16. data/ext/polars/src/expr/general.rs +124 -37
  17. data/ext/polars/src/expr/list.rs +52 -4
  18. data/ext/polars/src/expr/meta.rs +48 -0
  19. data/ext/polars/src/expr/rolling.rs +16 -10
  20. data/ext/polars/src/expr/string.rs +68 -17
  21. data/ext/polars/src/expr/struct.rs +8 -4
  22. data/ext/polars/src/functions/aggregation.rs +6 -0
  23. data/ext/polars/src/functions/lazy.rs +103 -48
  24. data/ext/polars/src/functions/meta.rs +45 -1
  25. data/ext/polars/src/functions/range.rs +5 -10
  26. data/ext/polars/src/functions/string_cache.rs +14 -0
  27. data/ext/polars/src/{lazyframe.rs → lazyframe/mod.rs} +166 -41
  28. data/ext/polars/src/lib.rs +245 -187
  29. data/ext/polars/src/map/dataframe.rs +1 -1
  30. data/ext/polars/src/map/mod.rs +2 -2
  31. data/ext/polars/src/map/series.rs +6 -6
  32. data/ext/polars/src/object.rs +0 -30
  33. data/ext/polars/src/on_startup.rs +32 -0
  34. data/ext/polars/src/series/aggregation.rs +23 -0
  35. data/ext/polars/src/series/construction.rs +1 -1
  36. data/ext/polars/src/series/export.rs +2 -2
  37. data/ext/polars/src/{series.rs → series/mod.rs} +45 -21
  38. data/ext/polars/src/series/{set_at_idx.rs → scatter.rs} +18 -18
  39. data/ext/polars/src/utils.rs +1 -1
  40. data/lib/polars/array_expr.rb +449 -0
  41. data/lib/polars/array_name_space.rb +346 -0
  42. data/lib/polars/cat_expr.rb +24 -0
  43. data/lib/polars/cat_name_space.rb +75 -0
  44. data/lib/polars/config.rb +2 -2
  45. data/lib/polars/data_frame.rb +248 -108
  46. data/lib/polars/data_types.rb +195 -29
  47. data/lib/polars/date_time_expr.rb +41 -24
  48. data/lib/polars/date_time_name_space.rb +12 -12
  49. data/lib/polars/exceptions.rb +12 -1
  50. data/lib/polars/expr.rb +1080 -195
  51. data/lib/polars/functions/aggregation/horizontal.rb +246 -0
  52. data/lib/polars/functions/aggregation/vertical.rb +282 -0
  53. data/lib/polars/functions/as_datatype.rb +248 -0
  54. data/lib/polars/functions/col.rb +47 -0
  55. data/lib/polars/functions/eager.rb +182 -0
  56. data/lib/polars/functions/lazy.rb +1280 -0
  57. data/lib/polars/functions/len.rb +49 -0
  58. data/lib/polars/functions/lit.rb +35 -0
  59. data/lib/polars/functions/random.rb +16 -0
  60. data/lib/polars/functions/range/date_range.rb +103 -0
  61. data/lib/polars/functions/range/int_range.rb +51 -0
  62. data/lib/polars/functions/repeat.rb +144 -0
  63. data/lib/polars/functions/whenthen.rb +27 -0
  64. data/lib/polars/functions.rb +29 -416
  65. data/lib/polars/group_by.rb +3 -3
  66. data/lib/polars/io.rb +21 -28
  67. data/lib/polars/lazy_frame.rb +390 -76
  68. data/lib/polars/list_expr.rb +152 -6
  69. data/lib/polars/list_name_space.rb +102 -0
  70. data/lib/polars/meta_expr.rb +175 -7
  71. data/lib/polars/series.rb +557 -59
  72. data/lib/polars/sql_context.rb +1 -1
  73. data/lib/polars/string_cache.rb +75 -0
  74. data/lib/polars/string_expr.rb +412 -96
  75. data/lib/polars/string_name_space.rb +4 -4
  76. data/lib/polars/struct_expr.rb +1 -1
  77. data/lib/polars/struct_name_space.rb +1 -1
  78. data/lib/polars/testing.rb +507 -0
  79. data/lib/polars/utils.rb +64 -20
  80. data/lib/polars/version.rb +1 -1
  81. data/lib/polars.rb +15 -2
  82. metadata +40 -9
  83. data/lib/polars/lazy_functions.rb +0 -1197
data/lib/polars.rb CHANGED
@@ -30,10 +30,22 @@ require_relative "polars/dynamic_group_by"
30
30
  require_relative "polars/exceptions"
31
31
  require_relative "polars/expr"
32
32
  require_relative "polars/functions"
33
+ require_relative "polars/functions/as_datatype"
34
+ require_relative "polars/functions/col"
35
+ require_relative "polars/functions/eager"
36
+ require_relative "polars/functions/lazy"
37
+ require_relative "polars/functions/len"
38
+ require_relative "polars/functions/lit"
39
+ require_relative "polars/functions/random"
40
+ require_relative "polars/functions/repeat"
41
+ require_relative "polars/functions/whenthen"
42
+ require_relative "polars/functions/aggregation/horizontal"
43
+ require_relative "polars/functions/aggregation/vertical"
44
+ require_relative "polars/functions/range/date_range"
45
+ require_relative "polars/functions/range/int_range"
33
46
  require_relative "polars/group_by"
34
47
  require_relative "polars/io"
35
48
  require_relative "polars/lazy_frame"
36
- require_relative "polars/lazy_functions"
37
49
  require_relative "polars/lazy_group_by"
38
50
  require_relative "polars/list_expr"
39
51
  require_relative "polars/list_name_space"
@@ -43,10 +55,12 @@ require_relative "polars/rolling_group_by"
43
55
  require_relative "polars/series"
44
56
  require_relative "polars/slice"
45
57
  require_relative "polars/sql_context"
58
+ require_relative "polars/string_cache"
46
59
  require_relative "polars/string_expr"
47
60
  require_relative "polars/string_name_space"
48
61
  require_relative "polars/struct_expr"
49
62
  require_relative "polars/struct_name_space"
63
+ require_relative "polars/testing"
50
64
  require_relative "polars/utils"
51
65
  require_relative "polars/version"
52
66
  require_relative "polars/when"
@@ -56,5 +70,4 @@ module Polars
56
70
  extend Convert
57
71
  extend Functions
58
72
  extend IO
59
- extend LazyFunctions
60
73
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polars-df
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-18 00:00:00.000000000 Z
11
+ date: 2024-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bigdecimal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rb_sys
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -40,7 +54,9 @@ files:
40
54
  - ext/polars/Cargo.toml
41
55
  - ext/polars/extconf.rb
42
56
  - ext/polars/src/batched_csv.rs
43
- - ext/polars/src/conversion.rs
57
+ - ext/polars/src/conversion/anyvalue.rs
58
+ - ext/polars/src/conversion/chunked_array.rs
59
+ - ext/polars/src/conversion/mod.rs
44
60
  - ext/polars/src/dataframe.rs
45
61
  - ext/polars/src/error.rs
46
62
  - ext/polars/src/expr/array.rs
@@ -67,7 +83,7 @@ files:
67
83
  - ext/polars/src/functions/range.rs
68
84
  - ext/polars/src/functions/string_cache.rs
69
85
  - ext/polars/src/functions/whenthen.rs
70
- - ext/polars/src/lazyframe.rs
86
+ - ext/polars/src/lazyframe/mod.rs
71
87
  - ext/polars/src/lazygroupby.rs
72
88
  - ext/polars/src/lib.rs
73
89
  - ext/polars/src/map/dataframe.rs
@@ -75,15 +91,16 @@ files:
75
91
  - ext/polars/src/map/mod.rs
76
92
  - ext/polars/src/map/series.rs
77
93
  - ext/polars/src/object.rs
94
+ - ext/polars/src/on_startup.rs
78
95
  - ext/polars/src/prelude.rs
79
96
  - ext/polars/src/rb_modules.rs
80
- - ext/polars/src/series.rs
81
97
  - ext/polars/src/series/aggregation.rs
82
98
  - ext/polars/src/series/arithmetic.rs
83
99
  - ext/polars/src/series/comparison.rs
84
100
  - ext/polars/src/series/construction.rs
85
101
  - ext/polars/src/series/export.rs
86
- - ext/polars/src/series/set_at_idx.rs
102
+ - ext/polars/src/series/mod.rs
103
+ - ext/polars/src/series/scatter.rs
87
104
  - ext/polars/src/sql.rs
88
105
  - ext/polars/src/utils.rs
89
106
  - lib/polars-df.rb
@@ -106,10 +123,22 @@ files:
106
123
  - lib/polars/expr.rb
107
124
  - lib/polars/expr_dispatch.rb
108
125
  - lib/polars/functions.rb
126
+ - lib/polars/functions/aggregation/horizontal.rb
127
+ - lib/polars/functions/aggregation/vertical.rb
128
+ - lib/polars/functions/as_datatype.rb
129
+ - lib/polars/functions/col.rb
130
+ - lib/polars/functions/eager.rb
131
+ - lib/polars/functions/lazy.rb
132
+ - lib/polars/functions/len.rb
133
+ - lib/polars/functions/lit.rb
134
+ - lib/polars/functions/random.rb
135
+ - lib/polars/functions/range/date_range.rb
136
+ - lib/polars/functions/range/int_range.rb
137
+ - lib/polars/functions/repeat.rb
138
+ - lib/polars/functions/whenthen.rb
109
139
  - lib/polars/group_by.rb
110
140
  - lib/polars/io.rb
111
141
  - lib/polars/lazy_frame.rb
112
- - lib/polars/lazy_functions.rb
113
142
  - lib/polars/lazy_group_by.rb
114
143
  - lib/polars/list_expr.rb
115
144
  - lib/polars/list_name_space.rb
@@ -120,10 +149,12 @@ files:
120
149
  - lib/polars/series.rb
121
150
  - lib/polars/slice.rb
122
151
  - lib/polars/sql_context.rb
152
+ - lib/polars/string_cache.rb
123
153
  - lib/polars/string_expr.rb
124
154
  - lib/polars/string_name_space.rb
125
155
  - lib/polars/struct_expr.rb
126
156
  - lib/polars/struct_name_space.rb
157
+ - lib/polars/testing.rb
127
158
  - lib/polars/utils.rb
128
159
  - lib/polars/version.rb
129
160
  - lib/polars/when.rb
@@ -140,14 +171,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
171
  requirements:
141
172
  - - ">="
142
173
  - !ruby/object:Gem::Version
143
- version: '3.0'
174
+ version: '3.1'
144
175
  required_rubygems_version: !ruby/object:Gem::Requirement
145
176
  requirements:
146
177
  - - ">="
147
178
  - !ruby/object:Gem::Version
148
179
  version: '0'
149
180
  requirements: []
150
- rubygems_version: 3.4.10
181
+ rubygems_version: 3.5.3
151
182
  signing_key:
152
183
  specification_version: 4
153
184
  summary: Blazingly fast DataFrames for Ruby