polars-runtime-compat 1.34.0b2__cp39-abi3-win_arm64.whl → 1.34.0b4__cp39-abi3-win_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/_polars_runtime_compat.pyd +0 -0
  2. {polars_runtime_compat-1.34.0b2.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/METADATA +1 -1
  3. polars_runtime_compat-1.34.0b4.dist-info/RECORD +6 -0
  4. polars/__init__.py +0 -528
  5. polars/_cpu_check.py +0 -265
  6. polars/_dependencies.py +0 -355
  7. polars/_plr.py +0 -99
  8. polars/_plr.pyi +0 -2496
  9. polars/_reexport.py +0 -23
  10. polars/_typing.py +0 -478
  11. polars/_utils/__init__.py +0 -37
  12. polars/_utils/async_.py +0 -102
  13. polars/_utils/cache.py +0 -176
  14. polars/_utils/cloud.py +0 -40
  15. polars/_utils/constants.py +0 -29
  16. polars/_utils/construction/__init__.py +0 -46
  17. polars/_utils/construction/dataframe.py +0 -1397
  18. polars/_utils/construction/other.py +0 -72
  19. polars/_utils/construction/series.py +0 -560
  20. polars/_utils/construction/utils.py +0 -118
  21. polars/_utils/convert.py +0 -224
  22. polars/_utils/deprecation.py +0 -406
  23. polars/_utils/getitem.py +0 -457
  24. polars/_utils/logging.py +0 -11
  25. polars/_utils/nest_asyncio.py +0 -264
  26. polars/_utils/parquet.py +0 -15
  27. polars/_utils/parse/__init__.py +0 -12
  28. polars/_utils/parse/expr.py +0 -242
  29. polars/_utils/polars_version.py +0 -19
  30. polars/_utils/pycapsule.py +0 -53
  31. polars/_utils/scan.py +0 -27
  32. polars/_utils/serde.py +0 -63
  33. polars/_utils/slice.py +0 -215
  34. polars/_utils/udfs.py +0 -1251
  35. polars/_utils/unstable.py +0 -63
  36. polars/_utils/various.py +0 -782
  37. polars/_utils/wrap.py +0 -25
  38. polars/api.py +0 -370
  39. polars/catalog/__init__.py +0 -0
  40. polars/catalog/unity/__init__.py +0 -19
  41. polars/catalog/unity/client.py +0 -733
  42. polars/catalog/unity/models.py +0 -152
  43. polars/config.py +0 -1571
  44. polars/convert/__init__.py +0 -25
  45. polars/convert/general.py +0 -1046
  46. polars/convert/normalize.py +0 -261
  47. polars/dataframe/__init__.py +0 -5
  48. polars/dataframe/_html.py +0 -186
  49. polars/dataframe/frame.py +0 -12582
  50. polars/dataframe/group_by.py +0 -1067
  51. polars/dataframe/plotting.py +0 -257
  52. polars/datatype_expr/__init__.py +0 -5
  53. polars/datatype_expr/array.py +0 -56
  54. polars/datatype_expr/datatype_expr.py +0 -304
  55. polars/datatype_expr/list.py +0 -18
  56. polars/datatype_expr/struct.py +0 -69
  57. polars/datatypes/__init__.py +0 -122
  58. polars/datatypes/_parse.py +0 -195
  59. polars/datatypes/_utils.py +0 -48
  60. polars/datatypes/classes.py +0 -1213
  61. polars/datatypes/constants.py +0 -11
  62. polars/datatypes/constructor.py +0 -172
  63. polars/datatypes/convert.py +0 -366
  64. polars/datatypes/group.py +0 -130
  65. polars/exceptions.py +0 -230
  66. polars/expr/__init__.py +0 -7
  67. polars/expr/array.py +0 -964
  68. polars/expr/binary.py +0 -346
  69. polars/expr/categorical.py +0 -306
  70. polars/expr/datetime.py +0 -2620
  71. polars/expr/expr.py +0 -11272
  72. polars/expr/list.py +0 -1408
  73. polars/expr/meta.py +0 -444
  74. polars/expr/name.py +0 -321
  75. polars/expr/string.py +0 -3045
  76. polars/expr/struct.py +0 -357
  77. polars/expr/whenthen.py +0 -185
  78. polars/functions/__init__.py +0 -193
  79. polars/functions/aggregation/__init__.py +0 -33
  80. polars/functions/aggregation/horizontal.py +0 -298
  81. polars/functions/aggregation/vertical.py +0 -341
  82. polars/functions/as_datatype.py +0 -848
  83. polars/functions/business.py +0 -138
  84. polars/functions/col.py +0 -384
  85. polars/functions/datatype.py +0 -121
  86. polars/functions/eager.py +0 -524
  87. polars/functions/escape_regex.py +0 -29
  88. polars/functions/lazy.py +0 -2751
  89. polars/functions/len.py +0 -68
  90. polars/functions/lit.py +0 -210
  91. polars/functions/random.py +0 -22
  92. polars/functions/range/__init__.py +0 -19
  93. polars/functions/range/_utils.py +0 -15
  94. polars/functions/range/date_range.py +0 -303
  95. polars/functions/range/datetime_range.py +0 -370
  96. polars/functions/range/int_range.py +0 -348
  97. polars/functions/range/linear_space.py +0 -311
  98. polars/functions/range/time_range.py +0 -287
  99. polars/functions/repeat.py +0 -301
  100. polars/functions/whenthen.py +0 -353
  101. polars/interchange/__init__.py +0 -10
  102. polars/interchange/buffer.py +0 -77
  103. polars/interchange/column.py +0 -190
  104. polars/interchange/dataframe.py +0 -230
  105. polars/interchange/from_dataframe.py +0 -328
  106. polars/interchange/protocol.py +0 -303
  107. polars/interchange/utils.py +0 -170
  108. polars/io/__init__.py +0 -64
  109. polars/io/_utils.py +0 -317
  110. polars/io/avro.py +0 -49
  111. polars/io/clipboard.py +0 -36
  112. polars/io/cloud/__init__.py +0 -17
  113. polars/io/cloud/_utils.py +0 -80
  114. polars/io/cloud/credential_provider/__init__.py +0 -17
  115. polars/io/cloud/credential_provider/_builder.py +0 -520
  116. polars/io/cloud/credential_provider/_providers.py +0 -618
  117. polars/io/csv/__init__.py +0 -9
  118. polars/io/csv/_utils.py +0 -38
  119. polars/io/csv/batched_reader.py +0 -142
  120. polars/io/csv/functions.py +0 -1495
  121. polars/io/database/__init__.py +0 -6
  122. polars/io/database/_arrow_registry.py +0 -70
  123. polars/io/database/_cursor_proxies.py +0 -147
  124. polars/io/database/_executor.py +0 -578
  125. polars/io/database/_inference.py +0 -314
  126. polars/io/database/_utils.py +0 -144
  127. polars/io/database/functions.py +0 -516
  128. polars/io/delta.py +0 -499
  129. polars/io/iceberg/__init__.py +0 -3
  130. polars/io/iceberg/_utils.py +0 -697
  131. polars/io/iceberg/dataset.py +0 -556
  132. polars/io/iceberg/functions.py +0 -151
  133. polars/io/ipc/__init__.py +0 -8
  134. polars/io/ipc/functions.py +0 -514
  135. polars/io/json/__init__.py +0 -3
  136. polars/io/json/read.py +0 -101
  137. polars/io/ndjson.py +0 -332
  138. polars/io/parquet/__init__.py +0 -17
  139. polars/io/parquet/field_overwrites.py +0 -140
  140. polars/io/parquet/functions.py +0 -722
  141. polars/io/partition.py +0 -491
  142. polars/io/plugins.py +0 -187
  143. polars/io/pyarrow_dataset/__init__.py +0 -5
  144. polars/io/pyarrow_dataset/anonymous_scan.py +0 -109
  145. polars/io/pyarrow_dataset/functions.py +0 -79
  146. polars/io/scan_options/__init__.py +0 -5
  147. polars/io/scan_options/_options.py +0 -59
  148. polars/io/scan_options/cast_options.py +0 -126
  149. polars/io/spreadsheet/__init__.py +0 -6
  150. polars/io/spreadsheet/_utils.py +0 -52
  151. polars/io/spreadsheet/_write_utils.py +0 -647
  152. polars/io/spreadsheet/functions.py +0 -1323
  153. polars/lazyframe/__init__.py +0 -9
  154. polars/lazyframe/engine_config.py +0 -61
  155. polars/lazyframe/frame.py +0 -8564
  156. polars/lazyframe/group_by.py +0 -669
  157. polars/lazyframe/in_process.py +0 -42
  158. polars/lazyframe/opt_flags.py +0 -333
  159. polars/meta/__init__.py +0 -14
  160. polars/meta/build.py +0 -33
  161. polars/meta/index_type.py +0 -27
  162. polars/meta/thread_pool.py +0 -50
  163. polars/meta/versions.py +0 -120
  164. polars/ml/__init__.py +0 -0
  165. polars/ml/torch.py +0 -213
  166. polars/ml/utilities.py +0 -30
  167. polars/plugins.py +0 -155
  168. polars/py.typed +0 -0
  169. polars/pyproject.toml +0 -96
  170. polars/schema.py +0 -265
  171. polars/selectors.py +0 -3117
  172. polars/series/__init__.py +0 -5
  173. polars/series/array.py +0 -776
  174. polars/series/binary.py +0 -254
  175. polars/series/categorical.py +0 -246
  176. polars/series/datetime.py +0 -2275
  177. polars/series/list.py +0 -1087
  178. polars/series/plotting.py +0 -191
  179. polars/series/series.py +0 -9197
  180. polars/series/string.py +0 -2367
  181. polars/series/struct.py +0 -154
  182. polars/series/utils.py +0 -191
  183. polars/sql/__init__.py +0 -7
  184. polars/sql/context.py +0 -677
  185. polars/sql/functions.py +0 -139
  186. polars/string_cache.py +0 -185
  187. polars/testing/__init__.py +0 -13
  188. polars/testing/asserts/__init__.py +0 -9
  189. polars/testing/asserts/frame.py +0 -231
  190. polars/testing/asserts/series.py +0 -219
  191. polars/testing/asserts/utils.py +0 -12
  192. polars/testing/parametric/__init__.py +0 -33
  193. polars/testing/parametric/profiles.py +0 -107
  194. polars/testing/parametric/strategies/__init__.py +0 -22
  195. polars/testing/parametric/strategies/_utils.py +0 -14
  196. polars/testing/parametric/strategies/core.py +0 -615
  197. polars/testing/parametric/strategies/data.py +0 -452
  198. polars/testing/parametric/strategies/dtype.py +0 -436
  199. polars/testing/parametric/strategies/legacy.py +0 -169
  200. polars/type_aliases.py +0 -24
  201. polars_runtime_compat-1.34.0b2.dist-info/RECORD +0 -203
  202. {polars_runtime_compat-1.34.0b2.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/WHEEL +0 -0
  203. {polars_runtime_compat-1.34.0b2.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/licenses/LICENSE +0 -0
polars/series/struct.py DELETED
@@ -1,154 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import sys
4
- from typing import TYPE_CHECKING
5
-
6
- from polars._utils.various import (
7
- BUILDING_SPHINX_DOCS,
8
- qualified_type_name,
9
- sphinx_accessor,
10
- )
11
- from polars._utils.wrap import wrap_df
12
- from polars.schema import Schema
13
- from polars.series.utils import expr_dispatch
14
-
15
- if TYPE_CHECKING:
16
- from collections.abc import Sequence
17
-
18
- from polars import DataFrame, Series
19
- from polars._plr import PySeries
20
- elif BUILDING_SPHINX_DOCS:
21
- # note: we assign this way to work around an autocomplete issue in ipython/jedi
22
- # (ref: https://github.com/davidhalter/jedi/issues/2057)
23
- current_module = sys.modules[__name__]
24
- current_module.property = sphinx_accessor
25
-
26
-
27
- @expr_dispatch
28
- class StructNameSpace:
29
- """Series.struct namespace."""
30
-
31
- _accessor = "struct"
32
-
33
- def __init__(self, series: Series) -> None:
34
- self._s: PySeries = series._s
35
-
36
- def __getitem__(self, item: int | str) -> Series:
37
- if isinstance(item, int):
38
- return self.field(self.fields[item])
39
- elif isinstance(item, str):
40
- return self.field(item)
41
- else:
42
- msg = f"expected type 'int | str', got {qualified_type_name(item)!r}"
43
- raise TypeError(msg)
44
-
45
- def _ipython_key_completions_(self) -> list[str]:
46
- return self.fields
47
-
48
- @property
49
- def fields(self) -> list[str]:
50
- """
51
- Get the names of the fields.
52
-
53
- Examples
54
- --------
55
- >>> s = pl.Series([{"a": 1, "b": 2}, {"a": 3, "b": 4}])
56
- >>> s.struct.fields
57
- ['a', 'b']
58
- """
59
- if getattr(self, "_s", None) is None:
60
- return []
61
- return self._s.struct_fields()
62
-
63
- def field(self, name: str) -> Series:
64
- """
65
- Retrieve one of the fields of this `Struct` as a new Series.
66
-
67
- Parameters
68
- ----------
69
- name
70
- Name of the field.
71
-
72
- Examples
73
- --------
74
- >>> s = pl.Series([{"a": 1, "b": 2}, {"a": 3, "b": 4}])
75
- >>> s.struct.field("a")
76
- shape: (2,)
77
- Series: 'a' [i64]
78
- [
79
- 1
80
- 3
81
- ]
82
- """
83
-
84
- def rename_fields(self, names: Sequence[str]) -> Series:
85
- """
86
- Rename the fields of the struct.
87
-
88
- Parameters
89
- ----------
90
- names
91
- New names in the order of the struct's fields.
92
-
93
- Examples
94
- --------
95
- >>> s = pl.Series([{"a": 1, "b": 2}, {"a": 3, "b": 4}])
96
- >>> s.struct.fields
97
- ['a', 'b']
98
- >>> s = s.struct.rename_fields(["c", "d"])
99
- >>> s.struct.fields
100
- ['c', 'd']
101
- """
102
-
103
- @property
104
- def schema(self) -> Schema:
105
- """
106
- Get the struct definition as a name/dtype schema dict.
107
-
108
- Examples
109
- --------
110
- >>> s = pl.Series([{"a": 1, "b": 2}, {"a": 3, "b": 4}])
111
- >>> s.struct.schema
112
- Schema({'a': Int64, 'b': Int64})
113
- """
114
- if getattr(self, "_s", None) is None:
115
- return Schema({})
116
-
117
- schema = self._s.dtype().to_schema()
118
- return Schema(schema, check_dtypes=False)
119
-
120
- def unnest(self) -> DataFrame:
121
- """
122
- Convert this struct Series to a DataFrame with a separate column for each field.
123
-
124
- Examples
125
- --------
126
- >>> s = pl.Series([{"a": 1, "b": 2}, {"a": 3, "b": 4}])
127
- >>> s.struct.unnest()
128
- shape: (2, 2)
129
- ┌─────┬─────┐
130
- │ a ┆ b │
131
- │ --- ┆ --- │
132
- │ i64 ┆ i64 │
133
- ╞═════╪═════╡
134
- │ 1 ┆ 2 │
135
- │ 3 ┆ 4 │
136
- └─────┴─────┘
137
- """
138
- return wrap_df(self._s.struct_unnest())
139
-
140
- def json_encode(self) -> Series:
141
- """
142
- Convert this struct to a string column with json values.
143
-
144
- Examples
145
- --------
146
- >>> s = pl.Series("a", [{"a": [1, 2], "b": [45]}, {"a": [9, 1, 3], "b": None}])
147
- >>> s.struct.json_encode()
148
- shape: (2,)
149
- Series: 'a' [str]
150
- [
151
- "{"a":[1,2],"b":[45]}"
152
- "{"a":[9,1,3],"b":null}"
153
- ]
154
- """
polars/series/utils.py DELETED
@@ -1,191 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import inspect
4
- import sys
5
- from functools import wraps
6
- from typing import TYPE_CHECKING, Any, Callable, TypeVar
7
-
8
- import polars._reexport as pl
9
- from polars import functions as F
10
- from polars._utils.wrap import wrap_s
11
- from polars.datatypes import dtype_to_ffiname
12
-
13
- if TYPE_CHECKING:
14
- from polars import Series
15
- from polars._plr import PySeries
16
- from polars._typing import PolarsDataType
17
-
18
- if sys.version_info >= (3, 10):
19
- from typing import ParamSpec
20
- else:
21
- from typing_extensions import ParamSpec
22
-
23
- T = TypeVar("T")
24
- P = ParamSpec("P")
25
- SeriesMethod = Callable[..., Series]
26
-
27
-
28
- def expr_dispatch(cls: type[T]) -> type[T]:
29
- """
30
- Series/NameSpace class decorator that sets up expression dispatch.
31
-
32
- * Applied to the Series class, and/or any Series 'NameSpace' classes.
33
- * Walks the class attributes, looking for methods that have empty function
34
- bodies, with signatures compatible with an existing Expr function.
35
- * IFF both conditions are met, the empty method is decorated with @call_expr.
36
- """
37
- # create lookup of expression functions in this namespace
38
- namespace = getattr(cls, "_accessor", None)
39
- expr_lookup = _expr_lookup(namespace)
40
-
41
- for name in dir(cls):
42
- if (
43
- # private
44
- not name.startswith("_")
45
- # Avoid error when building docs
46
- # https://github.com/pola-rs/polars/pull/13238#discussion_r1438787093
47
- # TODO: is there a better way to do this?
48
- and name != "plot"
49
- ):
50
- attr = getattr(cls, name)
51
- if callable(attr):
52
- attr = _undecorated(attr)
53
- # note: `co_varnames` starts with the function args, but needs to be
54
- # constrained by `co_argcount` as it also includes function-level consts
55
- args = attr.__code__.co_varnames[: attr.__code__.co_argcount]
56
- # if an expression method with compatible method exists, further check
57
- # that the series implementation has an empty function body
58
- if (namespace, name, args) in expr_lookup and _is_empty_method(attr):
59
- setattr(cls, name, call_expr(attr))
60
- return cls
61
-
62
-
63
- def _expr_lookup(namespace: str | None) -> set[tuple[str | None, str, tuple[str, ...]]]:
64
- """Create lookup of potential Expr methods (in the given namespace)."""
65
- # dummy Expr object that we can introspect
66
- expr = pl.Expr()
67
- expr._pyexpr = None # type: ignore[assignment]
68
-
69
- # optional indirection to "expr.str", "expr.dt", etc
70
- if namespace is not None:
71
- expr = getattr(expr, namespace)
72
-
73
- lookup = set()
74
- for name in dir(expr):
75
- if not name.startswith("_"):
76
- try:
77
- m = getattr(expr, name)
78
- except AttributeError: # may raise for @property methods
79
- continue
80
- if callable(m):
81
- # add function signature (argument names only) to the lookup
82
- # as a _possible_ candidate for expression-dispatch
83
- m = _undecorated(m)
84
- args = m.__code__.co_varnames[: m.__code__.co_argcount]
85
- lookup.add((namespace, name, args))
86
- return lookup
87
-
88
-
89
- def _undecorated(function: Callable[P, T]) -> Callable[P, T]:
90
- """Return the given function without any decorators."""
91
- while hasattr(function, "__wrapped__"):
92
- function = function.__wrapped__
93
- return function
94
-
95
-
96
- def call_expr(func: SeriesMethod) -> SeriesMethod:
97
- """Dispatch Series method to an expression implementation."""
98
-
99
- @wraps(func)
100
- def wrapper(self: Any, *args: P.args, **kwargs: P.kwargs) -> Series:
101
- s = wrap_s(self._s)
102
- expr = F.col(s.name)
103
- if (namespace := getattr(self, "_accessor", None)) is not None:
104
- expr = getattr(expr, namespace)
105
- f = getattr(expr, func.__name__)
106
- return s.to_frame().select_seq(f(*args, **kwargs)).to_series()
107
-
108
- # note: applying explicit '__signature__' helps IDEs (especially PyCharm)
109
- # with proper autocomplete, in addition to what @functools.wraps does
110
- setattr(wrapper, "__signature__", inspect.signature(func)) # noqa: B010
111
- return wrapper
112
-
113
-
114
- def _is_empty_method(func: SeriesMethod) -> bool:
115
- """
116
- Confirm that the given function has no implementation.
117
-
118
- Definitions of empty:
119
-
120
- - only has a docstring (body is empty)
121
- - has no docstring and just contains 'pass' (or equivalent)
122
- """
123
- fc = func.__code__
124
- return (fc.co_code in _EMPTY_BYTECODE) and (
125
- (len(fc.co_consts) == 2 and fc.co_consts[1] is None)
126
- # account for optimized-out docstrings (eg: running 'python -OO')
127
- or (sys.flags.optimize == 2 and fc.co_consts == (None,))
128
- )
129
-
130
-
131
- class _EmptyBytecodeHelper:
132
- def __init__(self) -> None:
133
- # generate bytecode for empty functions with/without a docstring
134
- def _empty_with_docstring() -> None:
135
- """""" # noqa: D419
136
-
137
- def _empty_without_docstring() -> None:
138
- pass
139
-
140
- self.empty_bytecode = (
141
- _empty_with_docstring.__code__.co_code,
142
- _empty_without_docstring.__code__.co_code,
143
- )
144
-
145
- def __contains__(self, item: bytes) -> bool:
146
- return item in self.empty_bytecode
147
-
148
-
149
- _EMPTY_BYTECODE = _EmptyBytecodeHelper()
150
-
151
-
152
- def get_ffi_func(
153
- name: str, dtype: PolarsDataType, obj: PySeries
154
- ) -> Callable[..., Any] | None:
155
- """
156
- Dynamically obtain the proper FFI function/ method.
157
-
158
- Parameters
159
- ----------
160
- name
161
- function or method name where dtype is replaced by <>
162
- for example
163
- "call_foo_<>"
164
- dtype
165
- polars dtype.
166
- obj
167
- Object to find the method for.
168
-
169
- Returns
170
- -------
171
- callable or None
172
- FFI function, or None if not found.
173
- """
174
- ffi_name = dtype_to_ffiname(dtype)
175
- fname = name.replace("<>", ffi_name)
176
- return getattr(obj, fname, None)
177
-
178
-
179
- def _with_no_check_length(func: Callable[..., Any]) -> Any:
180
- from polars._plr import check_length
181
-
182
- # Catch any error so that we can be sure that we always restore length checks
183
- try:
184
- check_length(False)
185
- result = func()
186
- check_length(True)
187
- except Exception:
188
- check_length(True)
189
- raise
190
- else:
191
- return result
polars/sql/__init__.py DELETED
@@ -1,7 +0,0 @@
1
- from polars.sql.context import SQLContext
2
- from polars.sql.functions import sql
3
-
4
- __all__ = [
5
- "SQLContext",
6
- "sql",
7
- ]