polars-df 0.15.0 → 0.26.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +274 -0
- data/Cargo.lock +1465 -867
- data/Cargo.toml +3 -0
- data/LICENSE.txt +2 -2
- data/README.md +87 -37
- data/ext/polars/Cargo.toml +47 -16
- data/ext/polars/src/c_api/allocator.rs +7 -0
- data/ext/polars/src/c_api/mod.rs +1 -0
- data/ext/polars/src/catalog/mod.rs +1 -0
- data/ext/polars/src/catalog/unity.rs +470 -0
- data/ext/polars/src/conversion/any_value.rs +99 -84
- data/ext/polars/src/conversion/categorical.rs +30 -0
- data/ext/polars/src/conversion/chunked_array.rs +71 -62
- data/ext/polars/src/conversion/datetime.rs +63 -0
- data/ext/polars/src/conversion/mod.rs +796 -312
- data/ext/polars/src/dataframe/construction.rs +6 -18
- data/ext/polars/src/dataframe/export.rs +30 -39
- data/ext/polars/src/dataframe/general.rs +294 -362
- data/ext/polars/src/dataframe/io.rs +33 -150
- data/ext/polars/src/dataframe/map.rs +175 -0
- data/ext/polars/src/dataframe/mod.rs +37 -5
- data/ext/polars/src/dataframe/serde.rs +23 -8
- data/ext/polars/src/error.rs +44 -7
- data/ext/polars/src/exceptions.rs +21 -8
- data/ext/polars/src/expr/array.rs +86 -22
- data/ext/polars/src/expr/binary.rs +50 -1
- data/ext/polars/src/expr/bitwise.rs +39 -0
- data/ext/polars/src/expr/categorical.rs +20 -0
- data/ext/polars/src/expr/datatype.rs +51 -0
- data/ext/polars/src/expr/datetime.rs +99 -41
- data/ext/polars/src/expr/extension.rs +12 -0
- data/ext/polars/src/expr/general.rs +252 -128
- data/ext/polars/src/expr/list.rs +56 -60
- data/ext/polars/src/expr/meta.rs +30 -35
- data/ext/polars/src/expr/mod.rs +28 -6
- data/ext/polars/src/expr/name.rs +29 -14
- data/ext/polars/src/expr/rolling.rs +111 -3
- data/ext/polars/src/expr/selector.rs +219 -0
- data/ext/polars/src/expr/serde.rs +28 -0
- data/ext/polars/src/expr/string.rs +118 -20
- data/ext/polars/src/expr/struct.rs +14 -1
- data/ext/polars/src/file.rs +194 -86
- data/ext/polars/src/functions/aggregation.rs +13 -12
- data/ext/polars/src/functions/business.rs +2 -3
- data/ext/polars/src/functions/eager.rs +3 -2
- data/ext/polars/src/functions/io.rs +90 -18
- data/ext/polars/src/functions/lazy.rs +267 -118
- data/ext/polars/src/functions/meta.rs +8 -7
- data/ext/polars/src/functions/misc.rs +1 -1
- data/ext/polars/src/functions/mod.rs +2 -1
- data/ext/polars/src/functions/range.rs +88 -31
- data/ext/polars/src/functions/strings.rs +6 -0
- data/ext/polars/src/functions/utils.rs +8 -0
- data/ext/polars/src/interop/arrow/mod.rs +52 -1
- data/ext/polars/src/interop/arrow/{to_ruby.rs → to_rb.rs} +37 -7
- data/ext/polars/src/interop/arrow/to_rust.rs +43 -0
- data/ext/polars/src/interop/numo/to_numo_df.rs +1 -1
- data/ext/polars/src/interop/numo/to_numo_series.rs +72 -50
- data/ext/polars/src/io/cloud_options.rs +107 -0
- data/ext/polars/src/io/mod.rs +4 -0
- data/ext/polars/src/io/scan_options.rs +113 -0
- data/ext/polars/src/io/sink_options.rs +46 -0
- data/ext/polars/src/io/sink_output.rs +21 -0
- data/ext/polars/src/lazyframe/exitable.rs +39 -0
- data/ext/polars/src/lazyframe/general.rs +846 -368
- data/ext/polars/src/lazyframe/mod.rs +58 -5
- data/ext/polars/src/lazyframe/optflags.rs +59 -0
- data/ext/polars/src/lazyframe/serde.rs +36 -4
- data/ext/polars/src/lazyframe/sink.rs +46 -0
- data/ext/polars/src/lazygroupby.rs +38 -9
- data/ext/polars/src/lib.rs +574 -165
- data/ext/polars/src/map/lazy.rs +44 -74
- data/ext/polars/src/map/mod.rs +18 -254
- data/ext/polars/src/map/series.rs +241 -1087
- data/ext/polars/src/on_startup.rs +192 -9
- data/ext/polars/src/prelude.rs +1 -0
- data/ext/polars/src/rb_modules.rs +10 -57
- data/ext/polars/src/ruby/exceptions.rs +26 -0
- data/ext/polars/src/ruby/gvl.rs +104 -0
- data/ext/polars/src/ruby/lazy.rs +46 -0
- data/ext/polars/src/ruby/mod.rs +11 -0
- data/ext/polars/src/ruby/numo.rs +52 -0
- data/ext/polars/src/ruby/plan_callback.rs +198 -0
- data/ext/polars/src/ruby/rb_modules.rs +16 -0
- data/ext/polars/src/ruby/ruby_convert_registry.rs +51 -0
- data/ext/polars/src/ruby/ruby_function.rs +11 -0
- data/ext/polars/src/ruby/ruby_udf.rs +164 -0
- data/ext/polars/src/ruby/thread.rs +65 -0
- data/ext/polars/src/ruby/utils.rs +39 -0
- data/ext/polars/src/series/aggregation.rs +116 -91
- data/ext/polars/src/series/arithmetic.rs +16 -22
- data/ext/polars/src/series/comparison.rs +101 -222
- data/ext/polars/src/series/construction.rs +80 -70
- data/ext/polars/src/series/export.rs +98 -56
- data/ext/polars/src/series/general.rs +323 -440
- data/ext/polars/src/series/import.rs +22 -5
- data/ext/polars/src/series/map.rs +103 -0
- data/ext/polars/src/series/mod.rs +57 -15
- data/ext/polars/src/series/scatter.rs +139 -82
- data/ext/polars/src/sql.rs +16 -9
- data/ext/polars/src/testing/frame.rs +31 -0
- data/ext/polars/src/testing/mod.rs +5 -0
- data/ext/polars/src/testing/series.rs +31 -0
- data/ext/polars/src/timeout.rs +105 -0
- data/ext/polars/src/utils.rs +105 -4
- data/lib/polars/array_expr.rb +500 -22
- data/lib/polars/array_name_space.rb +384 -10
- data/lib/polars/batched_csv_reader.rb +48 -66
- data/lib/polars/binary_expr.rb +217 -0
- data/lib/polars/binary_name_space.rb +155 -1
- data/lib/polars/cat_expr.rb +224 -0
- data/lib/polars/cat_name_space.rb +132 -32
- data/lib/polars/catalog/unity/catalog_info.rb +20 -0
- data/lib/polars/catalog/unity/column_info.rb +31 -0
- data/lib/polars/catalog/unity/namespace_info.rb +21 -0
- data/lib/polars/catalog/unity/table_info.rb +50 -0
- data/lib/polars/catalog.rb +448 -0
- data/lib/polars/collect_batches.rb +22 -0
- data/lib/polars/config.rb +3 -3
- data/lib/polars/convert.rb +201 -36
- data/lib/polars/data_frame.rb +2851 -1017
- data/lib/polars/data_frame_plot.rb +173 -0
- data/lib/polars/data_type_expr.rb +52 -0
- data/lib/polars/data_type_group.rb +6 -0
- data/lib/polars/data_types.rb +118 -18
- data/lib/polars/date_time_expr.rb +426 -84
- data/lib/polars/date_time_name_space.rb +384 -111
- data/lib/polars/dynamic_group_by.rb +102 -10
- data/lib/polars/exceptions.rb +50 -5
- data/lib/polars/expr.rb +2159 -915
- data/lib/polars/extension_expr.rb +39 -0
- data/lib/polars/extension_name_space.rb +39 -0
- data/lib/polars/functions/aggregation/horizontal.rb +11 -6
- data/lib/polars/functions/aggregation/vertical.rb +2 -3
- data/lib/polars/functions/as_datatype.rb +290 -8
- data/lib/polars/functions/business.rb +95 -0
- data/lib/polars/functions/col.rb +6 -5
- data/lib/polars/functions/datatype.rb +62 -0
- data/lib/polars/functions/eager.rb +426 -24
- data/lib/polars/functions/escape_regex.rb +21 -0
- data/lib/polars/functions/lazy.rb +813 -195
- data/lib/polars/functions/lit.rb +21 -10
- data/lib/polars/functions/range/int_range.rb +74 -2
- data/lib/polars/functions/range/linear_space.rb +195 -0
- data/lib/polars/functions/range/time_range.rb +1 -1
- data/lib/polars/functions/repeat.rb +7 -12
- data/lib/polars/functions/whenthen.rb +2 -2
- data/lib/polars/group_by.rb +188 -58
- data/lib/polars/iceberg_dataset.rb +108 -0
- data/lib/polars/in_process_query.rb +37 -0
- data/lib/polars/io/cloud.rb +18 -0
- data/lib/polars/io/csv.rb +336 -128
- data/lib/polars/io/database.rb +19 -4
- data/lib/polars/io/delta.rb +134 -0
- data/lib/polars/io/iceberg.rb +34 -0
- data/lib/polars/io/ipc.rb +63 -63
- data/lib/polars/io/json.rb +16 -0
- data/lib/polars/io/lines.rb +172 -0
- data/lib/polars/io/ndjson.rb +176 -20
- data/lib/polars/io/parquet.rb +173 -95
- data/lib/polars/io/scan_options.rb +55 -0
- data/lib/polars/io/sink_options.rb +27 -0
- data/lib/polars/io/utils.rb +17 -0
- data/lib/polars/lazy_frame.rb +3017 -622
- data/lib/polars/lazy_group_by.rb +436 -2
- data/lib/polars/list_expr.rb +551 -59
- data/lib/polars/list_name_space.rb +465 -51
- data/lib/polars/meta_expr.rb +146 -24
- data/lib/polars/name_expr.rb +87 -2
- data/lib/polars/query_opt_flags.rb +264 -0
- data/lib/polars/rolling_group_by.rb +90 -5
- data/lib/polars/scan_cast_options.rb +86 -0
- data/lib/polars/schema.rb +128 -0
- data/lib/polars/selector.rb +245 -0
- data/lib/polars/selectors.rb +1048 -201
- data/lib/polars/series.rb +2522 -774
- data/lib/polars/series_plot.rb +72 -0
- data/lib/polars/slice.rb +1 -1
- data/lib/polars/sql_context.rb +13 -6
- data/lib/polars/string_cache.rb +19 -72
- data/lib/polars/string_expr.rb +561 -107
- data/lib/polars/string_name_space.rb +781 -109
- data/lib/polars/struct_expr.rb +139 -18
- data/lib/polars/struct_name_space.rb +19 -1
- data/lib/polars/testing.rb +24 -273
- data/lib/polars/utils/constants.rb +2 -0
- data/lib/polars/utils/construction/data_frame.rb +410 -0
- data/lib/polars/utils/construction/series.rb +350 -0
- data/lib/polars/utils/construction/utils.rb +9 -0
- data/lib/polars/utils/convert.rb +18 -8
- data/lib/polars/utils/deprecation.rb +11 -0
- data/lib/polars/utils/parse.rb +62 -9
- data/lib/polars/utils/reduce_balanced.rb +43 -0
- data/lib/polars/utils/serde.rb +22 -0
- data/lib/polars/utils/unstable.rb +19 -0
- data/lib/polars/utils/various.rb +86 -1
- data/lib/polars/utils.rb +63 -48
- data/lib/polars/version.rb +1 -1
- data/lib/polars.rb +85 -2
- metadata +80 -28
- data/ext/polars/src/allocator.rs +0 -13
- data/ext/polars/src/batched_csv.rs +0 -138
- data/ext/polars/src/functions/string_cache.rs +0 -25
- data/ext/polars/src/map/dataframe.rs +0 -338
- data/lib/polars/plot.rb +0 -109
data/lib/polars/utils/various.rb
CHANGED
|
@@ -16,7 +16,10 @@ module Polars
|
|
|
16
16
|
val.is_a?(::Array) && val.all? { |x| pathlike?(x) }
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def self.is_bool_sequence(val)
|
|
19
|
+
def self.is_bool_sequence(val, include_series: false)
|
|
20
|
+
if include_series && val.is_a?(Series)
|
|
21
|
+
return val.dtype == Boolean
|
|
22
|
+
end
|
|
20
23
|
val.is_a?(::Array) && val.all? { |x| x == true || x == false }
|
|
21
24
|
end
|
|
22
25
|
|
|
@@ -24,6 +27,15 @@ module Polars
|
|
|
24
27
|
val.is_a?(::Array) && _is_iterable_of(val, Integer)
|
|
25
28
|
end
|
|
26
29
|
|
|
30
|
+
def self.is_sequence(val, include_series: false)
|
|
31
|
+
val.is_a?(::Array) || (include_series && val.is_a?(Series))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Check if an object is a sequence of `tp`, only sniffing the first element.
|
|
35
|
+
def self.is_non_empty_sequence_of(obj, tp)
|
|
36
|
+
!obj.empty? && obj[0].is_a?(tp)
|
|
37
|
+
end
|
|
38
|
+
|
|
27
39
|
def self.is_str_sequence(val, allow_str: false)
|
|
28
40
|
if allow_str == false && val.is_a?(::String)
|
|
29
41
|
false
|
|
@@ -32,6 +44,20 @@ module Polars
|
|
|
32
44
|
end
|
|
33
45
|
end
|
|
34
46
|
|
|
47
|
+
def self.range_to_series(name, rng, dtype: nil)
|
|
48
|
+
dtype ||= Int64
|
|
49
|
+
if dtype.integer?
|
|
50
|
+
range = F.int_range(
|
|
51
|
+
rng.first, rng.last + (rng.exclude_end? ? 0 : 1), step: 1, dtype: dtype, eager: true
|
|
52
|
+
)
|
|
53
|
+
else
|
|
54
|
+
range = F.int_range(
|
|
55
|
+
rng.first, rng.last + (rng.exclude_end? ? 0 : 1), step: 1, eager: true
|
|
56
|
+
).cast(dtype)
|
|
57
|
+
end
|
|
58
|
+
range.alias(name)
|
|
59
|
+
end
|
|
60
|
+
|
|
35
61
|
def self.arrlen(obj)
|
|
36
62
|
if obj.is_a?(Range)
|
|
37
63
|
# size only works for numeric ranges
|
|
@@ -68,6 +94,10 @@ module Polars
|
|
|
68
94
|
end
|
|
69
95
|
end
|
|
70
96
|
|
|
97
|
+
def self._polars_warn(msg)
|
|
98
|
+
warn msg
|
|
99
|
+
end
|
|
100
|
+
|
|
71
101
|
def self.extend_bool(value, n_match, value_name, match_name)
|
|
72
102
|
values = bool?(value) ? [value] * n_match : value
|
|
73
103
|
if n_match != values.length
|
|
@@ -76,5 +106,60 @@ module Polars
|
|
|
76
106
|
end
|
|
77
107
|
values
|
|
78
108
|
end
|
|
109
|
+
|
|
110
|
+
def self.require_same_type(current, other)
|
|
111
|
+
if !other.is_a?(current.class) && !current.is_a?(other.class)
|
|
112
|
+
msg = (
|
|
113
|
+
"expected `other` to be a #{current.inspect}, " +
|
|
114
|
+
"not #{other.inspect}"
|
|
115
|
+
)
|
|
116
|
+
raise TypeError, msg
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def self._update_columns(df, new_columns)
|
|
121
|
+
if df.width > new_columns.length
|
|
122
|
+
cols = df.columns
|
|
123
|
+
new_columns.each_with_index do |name, i|
|
|
124
|
+
cols[i] = name
|
|
125
|
+
end
|
|
126
|
+
new_columns = cols
|
|
127
|
+
end
|
|
128
|
+
df.columns = new_columns.to_a
|
|
129
|
+
df
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def self.parse_percentiles(
|
|
133
|
+
percentiles, inject_median: false
|
|
134
|
+
)
|
|
135
|
+
if percentiles.is_a?(Float)
|
|
136
|
+
percentiles = [percentiles]
|
|
137
|
+
elsif percentiles.nil?
|
|
138
|
+
percentiles = []
|
|
139
|
+
end
|
|
140
|
+
if !percentiles.all? { |p| p >= 0 && p <= 1 }
|
|
141
|
+
msg = "`percentiles` must all be in the range [0, 1]"
|
|
142
|
+
raise ArgumentError, msg
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
sub_50_percentiles = percentiles.select { |p| p < 0.5 }.sort
|
|
146
|
+
at_or_above_50_percentiles = percentiles.select { |p| p >= 0.5 }.sort
|
|
147
|
+
|
|
148
|
+
if inject_median && (!at_or_above_50_percentiles || at_or_above_50_percentiles[0] != 0.5)
|
|
149
|
+
at_or_above_50_percentiles = [0.5, *at_or_above_50_percentiles]
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
[*sub_50_percentiles, *at_or_above_50_percentiles]
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def self.display_dot_graph(
|
|
156
|
+
dot:,
|
|
157
|
+
show: true,
|
|
158
|
+
output_path: nil,
|
|
159
|
+
raw_output: false,
|
|
160
|
+
figsize: [16.0, 12.0]
|
|
161
|
+
)
|
|
162
|
+
raise Todo
|
|
163
|
+
end
|
|
79
164
|
end
|
|
80
165
|
end
|
data/lib/polars/utils.rb
CHANGED
|
@@ -4,7 +4,7 @@ module Polars
|
|
|
4
4
|
DTYPE_TEMPORAL_UNITS = ["ns", "us", "ms"]
|
|
5
5
|
|
|
6
6
|
def self.is_polars_dtype(dtype, include_unknown: false)
|
|
7
|
-
is_dtype = dtype.is_a?(
|
|
7
|
+
is_dtype = dtype.is_a?(DataType) || (dtype.is_a?(Class) && dtype < DataType)
|
|
8
8
|
|
|
9
9
|
if !include_unknown
|
|
10
10
|
is_dtype && dtype != Unknown
|
|
@@ -17,42 +17,6 @@ module Polars
|
|
|
17
17
|
obj.is_a?(Expr) && obj.meta.is_column
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
def self.map_rb_type_to_dtype(ruby_dtype)
|
|
21
|
-
if ruby_dtype == Float
|
|
22
|
-
Float64
|
|
23
|
-
elsif ruby_dtype == Integer
|
|
24
|
-
Int64
|
|
25
|
-
elsif ruby_dtype == ::String
|
|
26
|
-
Utf8
|
|
27
|
-
elsif ruby_dtype == TrueClass || ruby_dtype == FalseClass
|
|
28
|
-
Boolean
|
|
29
|
-
elsif ruby_dtype == DateTime || ruby_dtype == ::Time || (defined?(ActiveSupport::TimeWithZone) && ruby_dtype == ActiveSupport::TimeWithZone)
|
|
30
|
-
Datetime.new("ns")
|
|
31
|
-
elsif ruby_dtype == ::Date
|
|
32
|
-
Date
|
|
33
|
-
elsif ruby_dtype == ::Array
|
|
34
|
-
List
|
|
35
|
-
elsif ruby_dtype == NilClass
|
|
36
|
-
Null
|
|
37
|
-
else
|
|
38
|
-
raise TypeError, "Invalid type"
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# TODO fix
|
|
43
|
-
def self.rb_type_to_dtype(data_type)
|
|
44
|
-
if is_polars_dtype(data_type)
|
|
45
|
-
data_type = data_type.to_s if data_type.is_a?(Symbol)
|
|
46
|
-
return data_type
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
begin
|
|
50
|
-
map_rb_type_to_dtype(data_type)
|
|
51
|
-
rescue TypeError
|
|
52
|
-
raise ArgumentError, "Conversion of Ruby data type #{data_type.inspect} to Polars data type not implemented."
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
20
|
def self.parse_row_index_args(row_index_name = nil, row_index_offset = 0)
|
|
57
21
|
if row_index_name.nil?
|
|
58
22
|
nil
|
|
@@ -64,15 +28,14 @@ module Polars
|
|
|
64
28
|
def self.handle_projection_columns(columns)
|
|
65
29
|
projection = nil
|
|
66
30
|
if columns
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# end
|
|
31
|
+
if columns.is_a?(::String)
|
|
32
|
+
columns = [columns]
|
|
33
|
+
elsif is_int_sequence(columns)
|
|
34
|
+
projection = columns.to_a
|
|
35
|
+
columns = nil
|
|
36
|
+
elsif !is_str_sequence(columns)
|
|
37
|
+
raise ArgumentError, "columns arg should contain a list of all integers or all strings values."
|
|
38
|
+
end
|
|
76
39
|
end
|
|
77
40
|
[projection, columns]
|
|
78
41
|
end
|
|
@@ -107,7 +70,7 @@ module Polars
|
|
|
107
70
|
end
|
|
108
71
|
|
|
109
72
|
def self.is_selector(obj)
|
|
110
|
-
obj.is_a?(
|
|
73
|
+
obj.is_a?(Selector)
|
|
111
74
|
end
|
|
112
75
|
|
|
113
76
|
def self.expand_selector(target, selector, strict: true)
|
|
@@ -153,13 +116,65 @@ module Polars
|
|
|
153
116
|
if is_polars_dtype(input)
|
|
154
117
|
input
|
|
155
118
|
else
|
|
156
|
-
|
|
119
|
+
parse_rb_type_into_dtype(input)
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def self.try_parse_into_dtype(input)
|
|
124
|
+
parse_into_dtype(input)
|
|
125
|
+
rescue TypeError
|
|
126
|
+
nil
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def self.parse_rb_type_into_dtype(input)
|
|
130
|
+
if input == Integer
|
|
131
|
+
Int64.new
|
|
132
|
+
elsif input == Float
|
|
133
|
+
Float64.new
|
|
134
|
+
elsif input == ::String
|
|
135
|
+
String.new
|
|
136
|
+
elsif input == ::Time || input == ::DateTime || (defined?(ActiveSupport::TimeWithZone) && input == ActiveSupport::TimeWithZone)
|
|
137
|
+
Datetime.new("ns")
|
|
138
|
+
elsif input == ::Date
|
|
139
|
+
Date.new
|
|
140
|
+
elsif input == NilClass
|
|
141
|
+
Null.new
|
|
142
|
+
elsif input == ::Array
|
|
143
|
+
List
|
|
144
|
+
# this is required as pass through. Don't remove
|
|
145
|
+
elsif input == Unknown
|
|
146
|
+
Unknown
|
|
147
|
+
else
|
|
148
|
+
_raise_on_invalid_dtype(input)
|
|
157
149
|
end
|
|
158
150
|
end
|
|
159
151
|
|
|
152
|
+
def self._raise_on_invalid_dtype(input)
|
|
153
|
+
# TODO improve
|
|
154
|
+
input_type = input.inspect
|
|
155
|
+
msg = "cannot parse input #{input_type} into Polars data type"
|
|
156
|
+
raise TypeError, msg
|
|
157
|
+
end
|
|
158
|
+
|
|
160
159
|
def self.re_escape(s)
|
|
161
160
|
# escapes _only_ those metachars with meaning to the rust regex crate
|
|
162
161
|
Plr.re_escape(s)
|
|
163
162
|
end
|
|
163
|
+
|
|
164
|
+
def self.parse_into_datatype_expr(input)
|
|
165
|
+
if input.is_a?(DataTypeExpr)
|
|
166
|
+
input
|
|
167
|
+
else
|
|
168
|
+
parse_into_dtype(input).to_dtype_expr
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def self._chain_predicates(lhs, rhs)
|
|
173
|
+
if !lhs.nil?
|
|
174
|
+
raise Todo
|
|
175
|
+
else
|
|
176
|
+
_parse_inputs_as_iterable(rhs)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
164
179
|
end
|
|
165
180
|
end
|
data/lib/polars/version.rb
CHANGED
data/lib/polars.rb
CHANGED
|
@@ -6,7 +6,6 @@ rescue LoadError
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
# stdlib
|
|
9
|
-
require "bigdecimal"
|
|
10
9
|
require "date"
|
|
11
10
|
require "stringio"
|
|
12
11
|
|
|
@@ -19,20 +18,32 @@ require_relative "polars/binary_expr"
|
|
|
19
18
|
require_relative "polars/binary_name_space"
|
|
20
19
|
require_relative "polars/cat_expr"
|
|
21
20
|
require_relative "polars/cat_name_space"
|
|
21
|
+
require_relative "polars/catalog"
|
|
22
|
+
require_relative "polars/catalog/unity/catalog_info"
|
|
23
|
+
require_relative "polars/catalog/unity/column_info"
|
|
24
|
+
require_relative "polars/catalog/unity/namespace_info"
|
|
25
|
+
require_relative "polars/catalog/unity/table_info"
|
|
26
|
+
require_relative "polars/collect_batches"
|
|
22
27
|
require_relative "polars/config"
|
|
23
28
|
require_relative "polars/convert"
|
|
24
|
-
require_relative "polars/plot"
|
|
25
29
|
require_relative "polars/data_frame"
|
|
30
|
+
require_relative "polars/data_frame_plot"
|
|
26
31
|
require_relative "polars/data_types"
|
|
32
|
+
require_relative "polars/data_type_expr"
|
|
27
33
|
require_relative "polars/data_type_group"
|
|
28
34
|
require_relative "polars/date_time_expr"
|
|
29
35
|
require_relative "polars/date_time_name_space"
|
|
30
36
|
require_relative "polars/dynamic_group_by"
|
|
31
37
|
require_relative "polars/exceptions"
|
|
32
38
|
require_relative "polars/expr"
|
|
39
|
+
require_relative "polars/extension_expr"
|
|
40
|
+
require_relative "polars/extension_name_space"
|
|
33
41
|
require_relative "polars/functions/as_datatype"
|
|
42
|
+
require_relative "polars/functions/business"
|
|
34
43
|
require_relative "polars/functions/col"
|
|
44
|
+
require_relative "polars/functions/datatype"
|
|
35
45
|
require_relative "polars/functions/eager"
|
|
46
|
+
require_relative "polars/functions/escape_regex"
|
|
36
47
|
require_relative "polars/functions/lazy"
|
|
37
48
|
require_relative "polars/functions/len"
|
|
38
49
|
require_relative "polars/functions/lit"
|
|
@@ -44,24 +55,39 @@ require_relative "polars/functions/aggregation/vertical"
|
|
|
44
55
|
require_relative "polars/functions/range/date_range"
|
|
45
56
|
require_relative "polars/functions/range/datetime_range"
|
|
46
57
|
require_relative "polars/functions/range/int_range"
|
|
58
|
+
require_relative "polars/functions/range/linear_space"
|
|
47
59
|
require_relative "polars/functions/range/time_range"
|
|
48
60
|
require_relative "polars/group_by"
|
|
61
|
+
require_relative "polars/iceberg_dataset"
|
|
62
|
+
require_relative "polars/in_process_query"
|
|
49
63
|
require_relative "polars/io/avro"
|
|
64
|
+
require_relative "polars/io/cloud"
|
|
50
65
|
require_relative "polars/io/csv"
|
|
51
66
|
require_relative "polars/io/database"
|
|
67
|
+
require_relative "polars/io/delta"
|
|
68
|
+
require_relative "polars/io/iceberg"
|
|
52
69
|
require_relative "polars/io/ipc"
|
|
53
70
|
require_relative "polars/io/json"
|
|
71
|
+
require_relative "polars/io/lines"
|
|
54
72
|
require_relative "polars/io/ndjson"
|
|
55
73
|
require_relative "polars/io/parquet"
|
|
74
|
+
require_relative "polars/io/scan_options"
|
|
75
|
+
require_relative "polars/io/sink_options"
|
|
76
|
+
require_relative "polars/io/utils"
|
|
56
77
|
require_relative "polars/lazy_frame"
|
|
57
78
|
require_relative "polars/lazy_group_by"
|
|
58
79
|
require_relative "polars/list_expr"
|
|
59
80
|
require_relative "polars/list_name_space"
|
|
60
81
|
require_relative "polars/meta_expr"
|
|
61
82
|
require_relative "polars/name_expr"
|
|
83
|
+
require_relative "polars/query_opt_flags"
|
|
62
84
|
require_relative "polars/rolling_group_by"
|
|
85
|
+
require_relative "polars/scan_cast_options"
|
|
86
|
+
require_relative "polars/schema"
|
|
87
|
+
require_relative "polars/selector"
|
|
63
88
|
require_relative "polars/selectors"
|
|
64
89
|
require_relative "polars/series"
|
|
90
|
+
require_relative "polars/series_plot"
|
|
65
91
|
require_relative "polars/slice"
|
|
66
92
|
require_relative "polars/sql_context"
|
|
67
93
|
require_relative "polars/string_cache"
|
|
@@ -72,8 +98,15 @@ require_relative "polars/struct_name_space"
|
|
|
72
98
|
require_relative "polars/testing"
|
|
73
99
|
require_relative "polars/utils"
|
|
74
100
|
require_relative "polars/utils/constants"
|
|
101
|
+
require_relative "polars/utils/construction/data_frame"
|
|
102
|
+
require_relative "polars/utils/construction/series"
|
|
103
|
+
require_relative "polars/utils/construction/utils"
|
|
75
104
|
require_relative "polars/utils/convert"
|
|
105
|
+
require_relative "polars/utils/deprecation"
|
|
76
106
|
require_relative "polars/utils/parse"
|
|
107
|
+
require_relative "polars/utils/reduce_balanced"
|
|
108
|
+
require_relative "polars/utils/serde"
|
|
109
|
+
require_relative "polars/utils/unstable"
|
|
77
110
|
require_relative "polars/utils/various"
|
|
78
111
|
require_relative "polars/utils/wrap"
|
|
79
112
|
require_relative "polars/version"
|
|
@@ -87,6 +120,56 @@ module Polars
|
|
|
87
120
|
# @private
|
|
88
121
|
F = self
|
|
89
122
|
|
|
123
|
+
# @private
|
|
124
|
+
NO_DEFAULT = Object.new
|
|
125
|
+
|
|
90
126
|
# @private
|
|
91
127
|
N_INFER_DEFAULT = 100
|
|
128
|
+
|
|
129
|
+
# @private
|
|
130
|
+
class ArrowArrayStream
|
|
131
|
+
def arrow_c_stream
|
|
132
|
+
self
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Return the number of threads in the Polars thread pool.
|
|
137
|
+
#
|
|
138
|
+
# @return [Integer]
|
|
139
|
+
def self.thread_pool_size
|
|
140
|
+
Plr.thread_pool_size
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Return the data type used for Polars indexing.
|
|
144
|
+
#
|
|
145
|
+
# @return [Object]
|
|
146
|
+
#
|
|
147
|
+
# @example
|
|
148
|
+
# Polars.get_index_type
|
|
149
|
+
# # => Polars::UInt32
|
|
150
|
+
def self.get_index_type
|
|
151
|
+
Plr.get_index_type
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# Return detailed Polars build information.
|
|
155
|
+
#
|
|
156
|
+
# @return [Hash]
|
|
157
|
+
#
|
|
158
|
+
# @example
|
|
159
|
+
# Polars.build_info
|
|
160
|
+
def self.build_info
|
|
161
|
+
{"version" => VERSION}
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Print out the version of Polars and its optional dependencies.
|
|
165
|
+
#
|
|
166
|
+
# @return [nil]
|
|
167
|
+
def self.show_versions
|
|
168
|
+
puts "--------Version info---------"
|
|
169
|
+
puts "Polars: #{VERSION}"
|
|
170
|
+
puts "Index type: #{get_index_type}"
|
|
171
|
+
puts "Platform: #{RUBY_PLATFORM}"
|
|
172
|
+
puts "Ruby: #{RUBY_VERSION}"
|
|
173
|
+
nil
|
|
174
|
+
end
|
|
92
175
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: polars-df
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.26.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
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'
|
|
27
12
|
- !ruby/object:Gem::Dependency
|
|
28
13
|
name: rb_sys
|
|
29
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -38,7 +23,6 @@ dependencies:
|
|
|
38
23
|
- - ">="
|
|
39
24
|
- !ruby/object:Gem::Version
|
|
40
25
|
version: '0'
|
|
41
|
-
description:
|
|
42
26
|
email: andrew@ankane.org
|
|
43
27
|
executables: []
|
|
44
28
|
extensions:
|
|
@@ -53,29 +37,39 @@ files:
|
|
|
53
37
|
- README.md
|
|
54
38
|
- ext/polars/Cargo.toml
|
|
55
39
|
- ext/polars/extconf.rb
|
|
56
|
-
- ext/polars/src/allocator.rs
|
|
57
|
-
- ext/polars/src/
|
|
40
|
+
- ext/polars/src/c_api/allocator.rs
|
|
41
|
+
- ext/polars/src/c_api/mod.rs
|
|
42
|
+
- ext/polars/src/catalog/mod.rs
|
|
43
|
+
- ext/polars/src/catalog/unity.rs
|
|
58
44
|
- ext/polars/src/conversion/any_value.rs
|
|
45
|
+
- ext/polars/src/conversion/categorical.rs
|
|
59
46
|
- ext/polars/src/conversion/chunked_array.rs
|
|
47
|
+
- ext/polars/src/conversion/datetime.rs
|
|
60
48
|
- ext/polars/src/conversion/mod.rs
|
|
61
49
|
- ext/polars/src/dataframe/construction.rs
|
|
62
50
|
- ext/polars/src/dataframe/export.rs
|
|
63
51
|
- ext/polars/src/dataframe/general.rs
|
|
64
52
|
- ext/polars/src/dataframe/io.rs
|
|
53
|
+
- ext/polars/src/dataframe/map.rs
|
|
65
54
|
- ext/polars/src/dataframe/mod.rs
|
|
66
55
|
- ext/polars/src/dataframe/serde.rs
|
|
67
56
|
- ext/polars/src/error.rs
|
|
68
57
|
- ext/polars/src/exceptions.rs
|
|
69
58
|
- ext/polars/src/expr/array.rs
|
|
70
59
|
- ext/polars/src/expr/binary.rs
|
|
60
|
+
- ext/polars/src/expr/bitwise.rs
|
|
71
61
|
- ext/polars/src/expr/categorical.rs
|
|
62
|
+
- ext/polars/src/expr/datatype.rs
|
|
72
63
|
- ext/polars/src/expr/datetime.rs
|
|
64
|
+
- ext/polars/src/expr/extension.rs
|
|
73
65
|
- ext/polars/src/expr/general.rs
|
|
74
66
|
- ext/polars/src/expr/list.rs
|
|
75
67
|
- ext/polars/src/expr/meta.rs
|
|
76
68
|
- ext/polars/src/expr/mod.rs
|
|
77
69
|
- ext/polars/src/expr/name.rs
|
|
78
70
|
- ext/polars/src/expr/rolling.rs
|
|
71
|
+
- ext/polars/src/expr/selector.rs
|
|
72
|
+
- ext/polars/src/expr/serde.rs
|
|
79
73
|
- ext/polars/src/expr/string.rs
|
|
80
74
|
- ext/polars/src/expr/struct.rs
|
|
81
75
|
- ext/polars/src/file.rs
|
|
@@ -89,20 +83,29 @@ files:
|
|
|
89
83
|
- ext/polars/src/functions/mod.rs
|
|
90
84
|
- ext/polars/src/functions/random.rs
|
|
91
85
|
- ext/polars/src/functions/range.rs
|
|
92
|
-
- ext/polars/src/functions/
|
|
86
|
+
- ext/polars/src/functions/strings.rs
|
|
87
|
+
- ext/polars/src/functions/utils.rs
|
|
93
88
|
- ext/polars/src/functions/whenthen.rs
|
|
94
89
|
- ext/polars/src/interop/arrow/mod.rs
|
|
95
|
-
- ext/polars/src/interop/arrow/
|
|
90
|
+
- ext/polars/src/interop/arrow/to_rb.rs
|
|
91
|
+
- ext/polars/src/interop/arrow/to_rust.rs
|
|
96
92
|
- ext/polars/src/interop/mod.rs
|
|
97
93
|
- ext/polars/src/interop/numo/mod.rs
|
|
98
94
|
- ext/polars/src/interop/numo/to_numo_df.rs
|
|
99
95
|
- ext/polars/src/interop/numo/to_numo_series.rs
|
|
96
|
+
- ext/polars/src/io/cloud_options.rs
|
|
97
|
+
- ext/polars/src/io/mod.rs
|
|
98
|
+
- ext/polars/src/io/scan_options.rs
|
|
99
|
+
- ext/polars/src/io/sink_options.rs
|
|
100
|
+
- ext/polars/src/io/sink_output.rs
|
|
101
|
+
- ext/polars/src/lazyframe/exitable.rs
|
|
100
102
|
- ext/polars/src/lazyframe/general.rs
|
|
101
103
|
- ext/polars/src/lazyframe/mod.rs
|
|
104
|
+
- ext/polars/src/lazyframe/optflags.rs
|
|
102
105
|
- ext/polars/src/lazyframe/serde.rs
|
|
106
|
+
- ext/polars/src/lazyframe/sink.rs
|
|
103
107
|
- ext/polars/src/lazygroupby.rs
|
|
104
108
|
- ext/polars/src/lib.rs
|
|
105
|
-
- ext/polars/src/map/dataframe.rs
|
|
106
109
|
- ext/polars/src/map/lazy.rs
|
|
107
110
|
- ext/polars/src/map/mod.rs
|
|
108
111
|
- ext/polars/src/map/series.rs
|
|
@@ -110,6 +113,18 @@ files:
|
|
|
110
113
|
- ext/polars/src/on_startup.rs
|
|
111
114
|
- ext/polars/src/prelude.rs
|
|
112
115
|
- ext/polars/src/rb_modules.rs
|
|
116
|
+
- ext/polars/src/ruby/exceptions.rs
|
|
117
|
+
- ext/polars/src/ruby/gvl.rs
|
|
118
|
+
- ext/polars/src/ruby/lazy.rs
|
|
119
|
+
- ext/polars/src/ruby/mod.rs
|
|
120
|
+
- ext/polars/src/ruby/numo.rs
|
|
121
|
+
- ext/polars/src/ruby/plan_callback.rs
|
|
122
|
+
- ext/polars/src/ruby/rb_modules.rs
|
|
123
|
+
- ext/polars/src/ruby/ruby_convert_registry.rs
|
|
124
|
+
- ext/polars/src/ruby/ruby_function.rs
|
|
125
|
+
- ext/polars/src/ruby/ruby_udf.rs
|
|
126
|
+
- ext/polars/src/ruby/thread.rs
|
|
127
|
+
- ext/polars/src/ruby/utils.rs
|
|
113
128
|
- ext/polars/src/series/aggregation.rs
|
|
114
129
|
- ext/polars/src/series/arithmetic.rs
|
|
115
130
|
- ext/polars/src/series/comparison.rs
|
|
@@ -117,9 +132,14 @@ files:
|
|
|
117
132
|
- ext/polars/src/series/export.rs
|
|
118
133
|
- ext/polars/src/series/general.rs
|
|
119
134
|
- ext/polars/src/series/import.rs
|
|
135
|
+
- ext/polars/src/series/map.rs
|
|
120
136
|
- ext/polars/src/series/mod.rs
|
|
121
137
|
- ext/polars/src/series/scatter.rs
|
|
122
138
|
- ext/polars/src/sql.rs
|
|
139
|
+
- ext/polars/src/testing/frame.rs
|
|
140
|
+
- ext/polars/src/testing/mod.rs
|
|
141
|
+
- ext/polars/src/testing/series.rs
|
|
142
|
+
- ext/polars/src/timeout.rs
|
|
123
143
|
- ext/polars/src/utils.rs
|
|
124
144
|
- lib/polars-df.rb
|
|
125
145
|
- lib/polars.rb
|
|
@@ -130,9 +150,17 @@ files:
|
|
|
130
150
|
- lib/polars/binary_name_space.rb
|
|
131
151
|
- lib/polars/cat_expr.rb
|
|
132
152
|
- lib/polars/cat_name_space.rb
|
|
153
|
+
- lib/polars/catalog.rb
|
|
154
|
+
- lib/polars/catalog/unity/catalog_info.rb
|
|
155
|
+
- lib/polars/catalog/unity/column_info.rb
|
|
156
|
+
- lib/polars/catalog/unity/namespace_info.rb
|
|
157
|
+
- lib/polars/catalog/unity/table_info.rb
|
|
158
|
+
- lib/polars/collect_batches.rb
|
|
133
159
|
- lib/polars/config.rb
|
|
134
160
|
- lib/polars/convert.rb
|
|
135
161
|
- lib/polars/data_frame.rb
|
|
162
|
+
- lib/polars/data_frame_plot.rb
|
|
163
|
+
- lib/polars/data_type_expr.rb
|
|
136
164
|
- lib/polars/data_type_group.rb
|
|
137
165
|
- lib/polars/data_types.rb
|
|
138
166
|
- lib/polars/date_time_expr.rb
|
|
@@ -141,11 +169,16 @@ files:
|
|
|
141
169
|
- lib/polars/exceptions.rb
|
|
142
170
|
- lib/polars/expr.rb
|
|
143
171
|
- lib/polars/expr_dispatch.rb
|
|
172
|
+
- lib/polars/extension_expr.rb
|
|
173
|
+
- lib/polars/extension_name_space.rb
|
|
144
174
|
- lib/polars/functions/aggregation/horizontal.rb
|
|
145
175
|
- lib/polars/functions/aggregation/vertical.rb
|
|
146
176
|
- lib/polars/functions/as_datatype.rb
|
|
177
|
+
- lib/polars/functions/business.rb
|
|
147
178
|
- lib/polars/functions/col.rb
|
|
179
|
+
- lib/polars/functions/datatype.rb
|
|
148
180
|
- lib/polars/functions/eager.rb
|
|
181
|
+
- lib/polars/functions/escape_regex.rb
|
|
149
182
|
- lib/polars/functions/lazy.rb
|
|
150
183
|
- lib/polars/functions/len.rb
|
|
151
184
|
- lib/polars/functions/lit.rb
|
|
@@ -153,27 +186,41 @@ files:
|
|
|
153
186
|
- lib/polars/functions/range/date_range.rb
|
|
154
187
|
- lib/polars/functions/range/datetime_range.rb
|
|
155
188
|
- lib/polars/functions/range/int_range.rb
|
|
189
|
+
- lib/polars/functions/range/linear_space.rb
|
|
156
190
|
- lib/polars/functions/range/time_range.rb
|
|
157
191
|
- lib/polars/functions/repeat.rb
|
|
158
192
|
- lib/polars/functions/whenthen.rb
|
|
159
193
|
- lib/polars/group_by.rb
|
|
194
|
+
- lib/polars/iceberg_dataset.rb
|
|
195
|
+
- lib/polars/in_process_query.rb
|
|
160
196
|
- lib/polars/io/avro.rb
|
|
197
|
+
- lib/polars/io/cloud.rb
|
|
161
198
|
- lib/polars/io/csv.rb
|
|
162
199
|
- lib/polars/io/database.rb
|
|
200
|
+
- lib/polars/io/delta.rb
|
|
201
|
+
- lib/polars/io/iceberg.rb
|
|
163
202
|
- lib/polars/io/ipc.rb
|
|
164
203
|
- lib/polars/io/json.rb
|
|
204
|
+
- lib/polars/io/lines.rb
|
|
165
205
|
- lib/polars/io/ndjson.rb
|
|
166
206
|
- lib/polars/io/parquet.rb
|
|
207
|
+
- lib/polars/io/scan_options.rb
|
|
208
|
+
- lib/polars/io/sink_options.rb
|
|
209
|
+
- lib/polars/io/utils.rb
|
|
167
210
|
- lib/polars/lazy_frame.rb
|
|
168
211
|
- lib/polars/lazy_group_by.rb
|
|
169
212
|
- lib/polars/list_expr.rb
|
|
170
213
|
- lib/polars/list_name_space.rb
|
|
171
214
|
- lib/polars/meta_expr.rb
|
|
172
215
|
- lib/polars/name_expr.rb
|
|
173
|
-
- lib/polars/
|
|
216
|
+
- lib/polars/query_opt_flags.rb
|
|
174
217
|
- lib/polars/rolling_group_by.rb
|
|
218
|
+
- lib/polars/scan_cast_options.rb
|
|
219
|
+
- lib/polars/schema.rb
|
|
220
|
+
- lib/polars/selector.rb
|
|
175
221
|
- lib/polars/selectors.rb
|
|
176
222
|
- lib/polars/series.rb
|
|
223
|
+
- lib/polars/series_plot.rb
|
|
177
224
|
- lib/polars/slice.rb
|
|
178
225
|
- lib/polars/sql_context.rb
|
|
179
226
|
- lib/polars/string_cache.rb
|
|
@@ -184,8 +231,15 @@ files:
|
|
|
184
231
|
- lib/polars/testing.rb
|
|
185
232
|
- lib/polars/utils.rb
|
|
186
233
|
- lib/polars/utils/constants.rb
|
|
234
|
+
- lib/polars/utils/construction/data_frame.rb
|
|
235
|
+
- lib/polars/utils/construction/series.rb
|
|
236
|
+
- lib/polars/utils/construction/utils.rb
|
|
187
237
|
- lib/polars/utils/convert.rb
|
|
238
|
+
- lib/polars/utils/deprecation.rb
|
|
188
239
|
- lib/polars/utils/parse.rb
|
|
240
|
+
- lib/polars/utils/reduce_balanced.rb
|
|
241
|
+
- lib/polars/utils/serde.rb
|
|
242
|
+
- lib/polars/utils/unstable.rb
|
|
189
243
|
- lib/polars/utils/various.rb
|
|
190
244
|
- lib/polars/utils/wrap.rb
|
|
191
245
|
- lib/polars/version.rb
|
|
@@ -194,7 +248,6 @@ homepage: https://github.com/ankane/ruby-polars
|
|
|
194
248
|
licenses:
|
|
195
249
|
- MIT
|
|
196
250
|
metadata: {}
|
|
197
|
-
post_install_message:
|
|
198
251
|
rdoc_options: []
|
|
199
252
|
require_paths:
|
|
200
253
|
- lib
|
|
@@ -202,15 +255,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
202
255
|
requirements:
|
|
203
256
|
- - ">="
|
|
204
257
|
- !ruby/object:Gem::Version
|
|
205
|
-
version: '3.
|
|
258
|
+
version: '3.3'
|
|
206
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
260
|
requirements:
|
|
208
261
|
- - ">="
|
|
209
262
|
- !ruby/object:Gem::Version
|
|
210
263
|
version: '0'
|
|
211
264
|
requirements: []
|
|
212
|
-
rubygems_version:
|
|
213
|
-
signing_key:
|
|
265
|
+
rubygems_version: 4.0.13
|
|
214
266
|
specification_version: 4
|
|
215
267
|
summary: Blazingly fast DataFrames for Ruby
|
|
216
268
|
test_files: []
|