polars-runtime-compat 1.34.0b2__cp39-abi3-macosx_11_0_arm64.whl

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.

Potentially problematic release.


This version of polars-runtime-compat might be problematic. Click here for more details.

Files changed (203) hide show
  1. _polars_runtime_compat/.gitkeep +0 -0
  2. _polars_runtime_compat/_polars_runtime_compat.abi3.so +0 -0
  3. polars/__init__.py +528 -0
  4. polars/_cpu_check.py +265 -0
  5. polars/_dependencies.py +355 -0
  6. polars/_plr.py +99 -0
  7. polars/_plr.pyi +2496 -0
  8. polars/_reexport.py +23 -0
  9. polars/_typing.py +478 -0
  10. polars/_utils/__init__.py +37 -0
  11. polars/_utils/async_.py +102 -0
  12. polars/_utils/cache.py +176 -0
  13. polars/_utils/cloud.py +40 -0
  14. polars/_utils/constants.py +29 -0
  15. polars/_utils/construction/__init__.py +46 -0
  16. polars/_utils/construction/dataframe.py +1397 -0
  17. polars/_utils/construction/other.py +72 -0
  18. polars/_utils/construction/series.py +560 -0
  19. polars/_utils/construction/utils.py +118 -0
  20. polars/_utils/convert.py +224 -0
  21. polars/_utils/deprecation.py +406 -0
  22. polars/_utils/getitem.py +457 -0
  23. polars/_utils/logging.py +11 -0
  24. polars/_utils/nest_asyncio.py +264 -0
  25. polars/_utils/parquet.py +15 -0
  26. polars/_utils/parse/__init__.py +12 -0
  27. polars/_utils/parse/expr.py +242 -0
  28. polars/_utils/polars_version.py +19 -0
  29. polars/_utils/pycapsule.py +53 -0
  30. polars/_utils/scan.py +27 -0
  31. polars/_utils/serde.py +63 -0
  32. polars/_utils/slice.py +215 -0
  33. polars/_utils/udfs.py +1251 -0
  34. polars/_utils/unstable.py +63 -0
  35. polars/_utils/various.py +782 -0
  36. polars/_utils/wrap.py +25 -0
  37. polars/api.py +370 -0
  38. polars/catalog/__init__.py +0 -0
  39. polars/catalog/unity/__init__.py +19 -0
  40. polars/catalog/unity/client.py +733 -0
  41. polars/catalog/unity/models.py +152 -0
  42. polars/config.py +1571 -0
  43. polars/convert/__init__.py +25 -0
  44. polars/convert/general.py +1046 -0
  45. polars/convert/normalize.py +261 -0
  46. polars/dataframe/__init__.py +5 -0
  47. polars/dataframe/_html.py +186 -0
  48. polars/dataframe/frame.py +12582 -0
  49. polars/dataframe/group_by.py +1067 -0
  50. polars/dataframe/plotting.py +257 -0
  51. polars/datatype_expr/__init__.py +5 -0
  52. polars/datatype_expr/array.py +56 -0
  53. polars/datatype_expr/datatype_expr.py +304 -0
  54. polars/datatype_expr/list.py +18 -0
  55. polars/datatype_expr/struct.py +69 -0
  56. polars/datatypes/__init__.py +122 -0
  57. polars/datatypes/_parse.py +195 -0
  58. polars/datatypes/_utils.py +48 -0
  59. polars/datatypes/classes.py +1213 -0
  60. polars/datatypes/constants.py +11 -0
  61. polars/datatypes/constructor.py +172 -0
  62. polars/datatypes/convert.py +366 -0
  63. polars/datatypes/group.py +130 -0
  64. polars/exceptions.py +230 -0
  65. polars/expr/__init__.py +7 -0
  66. polars/expr/array.py +964 -0
  67. polars/expr/binary.py +346 -0
  68. polars/expr/categorical.py +306 -0
  69. polars/expr/datetime.py +2620 -0
  70. polars/expr/expr.py +11272 -0
  71. polars/expr/list.py +1408 -0
  72. polars/expr/meta.py +444 -0
  73. polars/expr/name.py +321 -0
  74. polars/expr/string.py +3045 -0
  75. polars/expr/struct.py +357 -0
  76. polars/expr/whenthen.py +185 -0
  77. polars/functions/__init__.py +193 -0
  78. polars/functions/aggregation/__init__.py +33 -0
  79. polars/functions/aggregation/horizontal.py +298 -0
  80. polars/functions/aggregation/vertical.py +341 -0
  81. polars/functions/as_datatype.py +848 -0
  82. polars/functions/business.py +138 -0
  83. polars/functions/col.py +384 -0
  84. polars/functions/datatype.py +121 -0
  85. polars/functions/eager.py +524 -0
  86. polars/functions/escape_regex.py +29 -0
  87. polars/functions/lazy.py +2751 -0
  88. polars/functions/len.py +68 -0
  89. polars/functions/lit.py +210 -0
  90. polars/functions/random.py +22 -0
  91. polars/functions/range/__init__.py +19 -0
  92. polars/functions/range/_utils.py +15 -0
  93. polars/functions/range/date_range.py +303 -0
  94. polars/functions/range/datetime_range.py +370 -0
  95. polars/functions/range/int_range.py +348 -0
  96. polars/functions/range/linear_space.py +311 -0
  97. polars/functions/range/time_range.py +287 -0
  98. polars/functions/repeat.py +301 -0
  99. polars/functions/whenthen.py +353 -0
  100. polars/interchange/__init__.py +10 -0
  101. polars/interchange/buffer.py +77 -0
  102. polars/interchange/column.py +190 -0
  103. polars/interchange/dataframe.py +230 -0
  104. polars/interchange/from_dataframe.py +328 -0
  105. polars/interchange/protocol.py +303 -0
  106. polars/interchange/utils.py +170 -0
  107. polars/io/__init__.py +64 -0
  108. polars/io/_utils.py +317 -0
  109. polars/io/avro.py +49 -0
  110. polars/io/clipboard.py +36 -0
  111. polars/io/cloud/__init__.py +17 -0
  112. polars/io/cloud/_utils.py +80 -0
  113. polars/io/cloud/credential_provider/__init__.py +17 -0
  114. polars/io/cloud/credential_provider/_builder.py +520 -0
  115. polars/io/cloud/credential_provider/_providers.py +618 -0
  116. polars/io/csv/__init__.py +9 -0
  117. polars/io/csv/_utils.py +38 -0
  118. polars/io/csv/batched_reader.py +142 -0
  119. polars/io/csv/functions.py +1495 -0
  120. polars/io/database/__init__.py +6 -0
  121. polars/io/database/_arrow_registry.py +70 -0
  122. polars/io/database/_cursor_proxies.py +147 -0
  123. polars/io/database/_executor.py +578 -0
  124. polars/io/database/_inference.py +314 -0
  125. polars/io/database/_utils.py +144 -0
  126. polars/io/database/functions.py +516 -0
  127. polars/io/delta.py +499 -0
  128. polars/io/iceberg/__init__.py +3 -0
  129. polars/io/iceberg/_utils.py +697 -0
  130. polars/io/iceberg/dataset.py +556 -0
  131. polars/io/iceberg/functions.py +151 -0
  132. polars/io/ipc/__init__.py +8 -0
  133. polars/io/ipc/functions.py +514 -0
  134. polars/io/json/__init__.py +3 -0
  135. polars/io/json/read.py +101 -0
  136. polars/io/ndjson.py +332 -0
  137. polars/io/parquet/__init__.py +17 -0
  138. polars/io/parquet/field_overwrites.py +140 -0
  139. polars/io/parquet/functions.py +722 -0
  140. polars/io/partition.py +491 -0
  141. polars/io/plugins.py +187 -0
  142. polars/io/pyarrow_dataset/__init__.py +5 -0
  143. polars/io/pyarrow_dataset/anonymous_scan.py +109 -0
  144. polars/io/pyarrow_dataset/functions.py +79 -0
  145. polars/io/scan_options/__init__.py +5 -0
  146. polars/io/scan_options/_options.py +59 -0
  147. polars/io/scan_options/cast_options.py +126 -0
  148. polars/io/spreadsheet/__init__.py +6 -0
  149. polars/io/spreadsheet/_utils.py +52 -0
  150. polars/io/spreadsheet/_write_utils.py +647 -0
  151. polars/io/spreadsheet/functions.py +1323 -0
  152. polars/lazyframe/__init__.py +9 -0
  153. polars/lazyframe/engine_config.py +61 -0
  154. polars/lazyframe/frame.py +8564 -0
  155. polars/lazyframe/group_by.py +669 -0
  156. polars/lazyframe/in_process.py +42 -0
  157. polars/lazyframe/opt_flags.py +333 -0
  158. polars/meta/__init__.py +14 -0
  159. polars/meta/build.py +33 -0
  160. polars/meta/index_type.py +27 -0
  161. polars/meta/thread_pool.py +50 -0
  162. polars/meta/versions.py +120 -0
  163. polars/ml/__init__.py +0 -0
  164. polars/ml/torch.py +213 -0
  165. polars/ml/utilities.py +30 -0
  166. polars/plugins.py +155 -0
  167. polars/py.typed +0 -0
  168. polars/pyproject.toml +96 -0
  169. polars/schema.py +265 -0
  170. polars/selectors.py +3117 -0
  171. polars/series/__init__.py +5 -0
  172. polars/series/array.py +776 -0
  173. polars/series/binary.py +254 -0
  174. polars/series/categorical.py +246 -0
  175. polars/series/datetime.py +2275 -0
  176. polars/series/list.py +1087 -0
  177. polars/series/plotting.py +191 -0
  178. polars/series/series.py +9197 -0
  179. polars/series/string.py +2367 -0
  180. polars/series/struct.py +154 -0
  181. polars/series/utils.py +191 -0
  182. polars/sql/__init__.py +7 -0
  183. polars/sql/context.py +677 -0
  184. polars/sql/functions.py +139 -0
  185. polars/string_cache.py +185 -0
  186. polars/testing/__init__.py +13 -0
  187. polars/testing/asserts/__init__.py +9 -0
  188. polars/testing/asserts/frame.py +231 -0
  189. polars/testing/asserts/series.py +219 -0
  190. polars/testing/asserts/utils.py +12 -0
  191. polars/testing/parametric/__init__.py +33 -0
  192. polars/testing/parametric/profiles.py +107 -0
  193. polars/testing/parametric/strategies/__init__.py +22 -0
  194. polars/testing/parametric/strategies/_utils.py +14 -0
  195. polars/testing/parametric/strategies/core.py +615 -0
  196. polars/testing/parametric/strategies/data.py +452 -0
  197. polars/testing/parametric/strategies/dtype.py +436 -0
  198. polars/testing/parametric/strategies/legacy.py +169 -0
  199. polars/type_aliases.py +24 -0
  200. polars_runtime_compat-1.34.0b2.dist-info/METADATA +190 -0
  201. polars_runtime_compat-1.34.0b2.dist-info/RECORD +203 -0
  202. polars_runtime_compat-1.34.0b2.dist-info/WHEEL +4 -0
  203. polars_runtime_compat-1.34.0b2.dist-info/licenses/LICENSE +20 -0
polars/expr/name.py ADDED
@@ -0,0 +1,321 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Callable
4
+
5
+ from polars._utils.wrap import wrap_expr
6
+
7
+ if TYPE_CHECKING:
8
+ from polars import Expr
9
+
10
+
11
+ class ExprNameNameSpace:
12
+ """Namespace for expressions that operate on expression names."""
13
+
14
+ _accessor = "name"
15
+
16
+ def __init__(self, expr: Expr) -> None:
17
+ self._pyexpr = expr._pyexpr
18
+
19
+ def keep(self) -> Expr:
20
+ """
21
+ Keep the original root name of the expression.
22
+
23
+ See Also
24
+ --------
25
+ Expr.alias
26
+ map
27
+
28
+ Examples
29
+ --------
30
+ Prevent errors due to potential duplicate column names.
31
+
32
+ >>> df = pl.DataFrame(
33
+ ... {
34
+ ... "a": [1, 2],
35
+ ... "b": [3, 4],
36
+ ... }
37
+ ... )
38
+ >>> df.select((pl.lit(10) / pl.all()).name.keep())
39
+ shape: (2, 2)
40
+ ┌──────┬──────────┐
41
+ │ a ┆ b │
42
+ │ --- ┆ --- │
43
+ │ f64 ┆ f64 │
44
+ ╞══════╪══════════╡
45
+ │ 10.0 ┆ 3.333333 │
46
+ │ 5.0 ┆ 2.5 │
47
+ └──────┴──────────┘
48
+
49
+ Undo an alias operation.
50
+
51
+ >>> df.with_columns((pl.col("a") * 9).alias("c").name.keep())
52
+ shape: (2, 2)
53
+ ┌─────┬─────┐
54
+ │ a ┆ b │
55
+ │ --- ┆ --- │
56
+ │ i64 ┆ i64 │
57
+ ╞═════╪═════╡
58
+ │ 9 ┆ 3 │
59
+ │ 18 ┆ 4 │
60
+ └─────┴─────┘
61
+ """
62
+ return wrap_expr(self._pyexpr.name_keep())
63
+
64
+ def map(self, function: Callable[[str], str]) -> Expr:
65
+ """
66
+ Rename the output of an expression by mapping a function over the root name.
67
+
68
+ Parameters
69
+ ----------
70
+ function
71
+ Function that maps a root name to a new name.
72
+
73
+ See Also
74
+ --------
75
+ keep
76
+ prefix
77
+ suffix
78
+
79
+ Examples
80
+ --------
81
+ Remove a common suffix and convert to lower case.
82
+
83
+ >>> df = pl.DataFrame(
84
+ ... {
85
+ ... "A_reverse": [3, 2, 1],
86
+ ... "B_reverse": ["z", "y", "x"],
87
+ ... }
88
+ ... )
89
+ >>> df.with_columns(
90
+ ... pl.all()
91
+ ... .reverse()
92
+ ... .name.map(lambda c: c.removesuffix("_reverse").lower())
93
+ ... )
94
+ shape: (3, 4)
95
+ ┌───────────┬───────────┬─────┬─────┐
96
+ │ A_reverse ┆ B_reverse ┆ a ┆ b │
97
+ │ --- ┆ --- ┆ --- ┆ --- │
98
+ │ i64 ┆ str ┆ i64 ┆ str │
99
+ ╞═══════════╪═══════════╪═════╪═════╡
100
+ │ 3 ┆ z ┆ 1 ┆ x │
101
+ │ 2 ┆ y ┆ 2 ┆ y │
102
+ │ 1 ┆ x ┆ 3 ┆ z │
103
+ └───────────┴───────────┴─────┴─────┘
104
+ """
105
+ return wrap_expr(self._pyexpr.name_map(function))
106
+
107
+ def prefix(self, prefix: str) -> Expr:
108
+ """
109
+ Add a prefix to the root column name of the expression.
110
+
111
+ Parameters
112
+ ----------
113
+ prefix
114
+ Prefix to add to the root column name.
115
+
116
+ See Also
117
+ --------
118
+ suffix
119
+ map
120
+
121
+ Examples
122
+ --------
123
+ >>> df = pl.DataFrame(
124
+ ... {
125
+ ... "a": [1, 2, 3],
126
+ ... "b": ["x", "y", "z"],
127
+ ... }
128
+ ... )
129
+ >>> df.with_columns(pl.all().reverse().name.prefix("reverse_"))
130
+ shape: (3, 4)
131
+ ┌─────┬─────┬───────────┬───────────┐
132
+ │ a ┆ b ┆ reverse_a ┆ reverse_b │
133
+ │ --- ┆ --- ┆ --- ┆ --- │
134
+ │ i64 ┆ str ┆ i64 ┆ str │
135
+ ╞═════╪═════╪═══════════╪═══════════╡
136
+ │ 1 ┆ x ┆ 3 ┆ z │
137
+ │ 2 ┆ y ┆ 2 ┆ y │
138
+ │ 3 ┆ z ┆ 1 ┆ x │
139
+ └─────┴─────┴───────────┴───────────┘
140
+ """
141
+ return wrap_expr(self._pyexpr.name_prefix(prefix))
142
+
143
+ def suffix(self, suffix: str) -> Expr:
144
+ """
145
+ Add a suffix to the root column name of the expression.
146
+
147
+ Parameters
148
+ ----------
149
+ suffix
150
+ Suffix to add to the root column name.
151
+
152
+ See Also
153
+ --------
154
+ prefix
155
+ map
156
+
157
+ Examples
158
+ --------
159
+ >>> df = pl.DataFrame(
160
+ ... {
161
+ ... "a": [1, 2, 3],
162
+ ... "b": ["x", "y", "z"],
163
+ ... }
164
+ ... )
165
+ >>> df.with_columns(pl.all().reverse().name.suffix("_reverse"))
166
+ shape: (3, 4)
167
+ ┌─────┬─────┬───────────┬───────────┐
168
+ │ a ┆ b ┆ a_reverse ┆ b_reverse │
169
+ │ --- ┆ --- ┆ --- ┆ --- │
170
+ │ i64 ┆ str ┆ i64 ┆ str │
171
+ ╞═════╪═════╪═══════════╪═══════════╡
172
+ │ 1 ┆ x ┆ 3 ┆ z │
173
+ │ 2 ┆ y ┆ 2 ┆ y │
174
+ │ 3 ┆ z ┆ 1 ┆ x │
175
+ └─────┴─────┴───────────┴───────────┘
176
+ """
177
+ return wrap_expr(self._pyexpr.name_suffix(suffix))
178
+
179
+ def to_lowercase(self) -> Expr:
180
+ """
181
+ Make the root column name lowercase.
182
+
183
+ See Also
184
+ --------
185
+ prefix
186
+ suffix
187
+ to_uppercase
188
+ map
189
+
190
+ Examples
191
+ --------
192
+ >>> df = pl.DataFrame(
193
+ ... {
194
+ ... "ColX": [1, 2, 3],
195
+ ... "ColY": ["x", "y", "z"],
196
+ ... }
197
+ ... )
198
+ >>> df.with_columns(pl.all().name.to_lowercase())
199
+ shape: (3, 4)
200
+ ┌──────┬──────┬──────┬──────┐
201
+ │ ColX ┆ ColY ┆ colx ┆ coly │
202
+ │ --- ┆ --- ┆ --- ┆ --- │
203
+ │ i64 ┆ str ┆ i64 ┆ str │
204
+ ╞══════╪══════╪══════╪══════╡
205
+ │ 1 ┆ x ┆ 1 ┆ x │
206
+ │ 2 ┆ y ┆ 2 ┆ y │
207
+ │ 3 ┆ z ┆ 3 ┆ z │
208
+ └──────┴──────┴──────┴──────┘
209
+ """
210
+ return wrap_expr(self._pyexpr.name_to_lowercase())
211
+
212
+ def to_uppercase(self) -> Expr:
213
+ """
214
+ Make the root column name uppercase.
215
+
216
+ See Also
217
+ --------
218
+ prefix
219
+ suffix
220
+ to_lowercase
221
+ map
222
+
223
+ Examples
224
+ --------
225
+ >>> df = pl.DataFrame(
226
+ ... {
227
+ ... "ColX": [1, 2, 3],
228
+ ... "ColY": ["x", "y", "z"],
229
+ ... }
230
+ ... )
231
+ >>> df.with_columns(pl.all().name.to_uppercase())
232
+ shape: (3, 4)
233
+ ┌──────┬──────┬──────┬──────┐
234
+ │ ColX ┆ ColY ┆ COLX ┆ COLY │
235
+ │ --- ┆ --- ┆ --- ┆ --- │
236
+ │ i64 ┆ str ┆ i64 ┆ str │
237
+ ╞══════╪══════╪══════╪══════╡
238
+ │ 1 ┆ x ┆ 1 ┆ x │
239
+ │ 2 ┆ y ┆ 2 ┆ y │
240
+ │ 3 ┆ z ┆ 3 ┆ z │
241
+ └──────┴──────┴──────┴──────┘
242
+ """
243
+ return wrap_expr(self._pyexpr.name_to_uppercase())
244
+
245
+ def map_fields(self, function: Callable[[str], str]) -> Expr:
246
+ """
247
+ Rename fields of a struct by mapping a function over the field name(s).
248
+
249
+ Notes
250
+ -----
251
+ This only takes effect for struct columns.
252
+
253
+ Parameters
254
+ ----------
255
+ function
256
+ Function that maps a field name to a new name.
257
+
258
+ See Also
259
+ --------
260
+ prefix_fields
261
+ suffix_fields
262
+
263
+ Examples
264
+ --------
265
+ >>> df = pl.DataFrame({"x": {"a": 1, "b": 2}})
266
+ >>> df.select(pl.col("x").name.map_fields(lambda x: x.upper())).schema
267
+ Schema({'x': Struct({'A': Int64, 'B': Int64})})
268
+ """
269
+ return wrap_expr(self._pyexpr.name_map_fields(function))
270
+
271
+ def prefix_fields(self, prefix: str) -> Expr:
272
+ """
273
+ Add a prefix to all field names of a struct.
274
+
275
+ Notes
276
+ -----
277
+ This only takes effect for struct columns.
278
+
279
+ Parameters
280
+ ----------
281
+ prefix
282
+ Prefix to add to the field name.
283
+
284
+ See Also
285
+ --------
286
+ map_fields
287
+ suffix_fields
288
+
289
+ Examples
290
+ --------
291
+ >>> df = pl.DataFrame({"x": {"a": 1, "b": 2}})
292
+ >>> df.select(pl.col("x").name.prefix_fields("prefix_")).schema
293
+ Schema({'x': Struct({'prefix_a': Int64, 'prefix_b': Int64})})
294
+ """
295
+ return wrap_expr(self._pyexpr.name_prefix_fields(prefix))
296
+
297
+ def suffix_fields(self, suffix: str) -> Expr:
298
+ """
299
+ Add a suffix to all field names of a struct.
300
+
301
+ Notes
302
+ -----
303
+ This only takes effect for struct columns.
304
+
305
+ Parameters
306
+ ----------
307
+ suffix
308
+ Suffix to add to the field name.
309
+
310
+ See Also
311
+ --------
312
+ map_fields
313
+ prefix_fields
314
+
315
+ Examples
316
+ --------
317
+ >>> df = pl.DataFrame({"x": {"a": 1, "b": 2}})
318
+ >>> df.select(pl.col("x").name.suffix_fields("_suffix")).schema
319
+ Schema({'x': Struct({'a_suffix': Int64, 'b_suffix': Int64})})
320
+ """
321
+ return wrap_expr(self._pyexpr.name_suffix_fields(suffix))