polars-df 0.7.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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