polars-runtime-compat 1.34.0b3__cp39-abi3-win_amd64.whl → 1.34.0b5__cp39-abi3-win_amd64.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.
- _polars_runtime_compat/_polars_runtime_compat.pyd +0 -0
- polars_runtime_compat-1.34.0b5.dist-info/METADATA +35 -0
- polars_runtime_compat-1.34.0b5.dist-info/RECORD +6 -0
- polars/__init__.py +0 -528
- polars/_cpu_check.py +0 -265
- polars/_dependencies.py +0 -355
- polars/_plr.py +0 -99
- polars/_plr.pyi +0 -2496
- polars/_reexport.py +0 -23
- polars/_typing.py +0 -478
- polars/_utils/__init__.py +0 -37
- polars/_utils/async_.py +0 -102
- polars/_utils/cache.py +0 -176
- polars/_utils/cloud.py +0 -40
- polars/_utils/constants.py +0 -29
- polars/_utils/construction/__init__.py +0 -46
- polars/_utils/construction/dataframe.py +0 -1397
- polars/_utils/construction/other.py +0 -72
- polars/_utils/construction/series.py +0 -560
- polars/_utils/construction/utils.py +0 -118
- polars/_utils/convert.py +0 -224
- polars/_utils/deprecation.py +0 -406
- polars/_utils/getitem.py +0 -457
- polars/_utils/logging.py +0 -11
- polars/_utils/nest_asyncio.py +0 -264
- polars/_utils/parquet.py +0 -15
- polars/_utils/parse/__init__.py +0 -12
- polars/_utils/parse/expr.py +0 -242
- polars/_utils/polars_version.py +0 -19
- polars/_utils/pycapsule.py +0 -53
- polars/_utils/scan.py +0 -27
- polars/_utils/serde.py +0 -63
- polars/_utils/slice.py +0 -215
- polars/_utils/udfs.py +0 -1251
- polars/_utils/unstable.py +0 -63
- polars/_utils/various.py +0 -782
- polars/_utils/wrap.py +0 -25
- polars/api.py +0 -370
- polars/catalog/__init__.py +0 -0
- polars/catalog/unity/__init__.py +0 -19
- polars/catalog/unity/client.py +0 -733
- polars/catalog/unity/models.py +0 -152
- polars/config.py +0 -1571
- polars/convert/__init__.py +0 -25
- polars/convert/general.py +0 -1046
- polars/convert/normalize.py +0 -261
- polars/dataframe/__init__.py +0 -5
- polars/dataframe/_html.py +0 -186
- polars/dataframe/frame.py +0 -12582
- polars/dataframe/group_by.py +0 -1067
- polars/dataframe/plotting.py +0 -257
- polars/datatype_expr/__init__.py +0 -5
- polars/datatype_expr/array.py +0 -56
- polars/datatype_expr/datatype_expr.py +0 -304
- polars/datatype_expr/list.py +0 -18
- polars/datatype_expr/struct.py +0 -69
- polars/datatypes/__init__.py +0 -122
- polars/datatypes/_parse.py +0 -195
- polars/datatypes/_utils.py +0 -48
- polars/datatypes/classes.py +0 -1213
- polars/datatypes/constants.py +0 -11
- polars/datatypes/constructor.py +0 -172
- polars/datatypes/convert.py +0 -366
- polars/datatypes/group.py +0 -130
- polars/exceptions.py +0 -230
- polars/expr/__init__.py +0 -7
- polars/expr/array.py +0 -964
- polars/expr/binary.py +0 -346
- polars/expr/categorical.py +0 -306
- polars/expr/datetime.py +0 -2620
- polars/expr/expr.py +0 -11272
- polars/expr/list.py +0 -1408
- polars/expr/meta.py +0 -444
- polars/expr/name.py +0 -321
- polars/expr/string.py +0 -3045
- polars/expr/struct.py +0 -357
- polars/expr/whenthen.py +0 -185
- polars/functions/__init__.py +0 -193
- polars/functions/aggregation/__init__.py +0 -33
- polars/functions/aggregation/horizontal.py +0 -298
- polars/functions/aggregation/vertical.py +0 -341
- polars/functions/as_datatype.py +0 -848
- polars/functions/business.py +0 -138
- polars/functions/col.py +0 -384
- polars/functions/datatype.py +0 -121
- polars/functions/eager.py +0 -524
- polars/functions/escape_regex.py +0 -29
- polars/functions/lazy.py +0 -2751
- polars/functions/len.py +0 -68
- polars/functions/lit.py +0 -210
- polars/functions/random.py +0 -22
- polars/functions/range/__init__.py +0 -19
- polars/functions/range/_utils.py +0 -15
- polars/functions/range/date_range.py +0 -303
- polars/functions/range/datetime_range.py +0 -370
- polars/functions/range/int_range.py +0 -348
- polars/functions/range/linear_space.py +0 -311
- polars/functions/range/time_range.py +0 -287
- polars/functions/repeat.py +0 -301
- polars/functions/whenthen.py +0 -353
- polars/interchange/__init__.py +0 -10
- polars/interchange/buffer.py +0 -77
- polars/interchange/column.py +0 -190
- polars/interchange/dataframe.py +0 -230
- polars/interchange/from_dataframe.py +0 -328
- polars/interchange/protocol.py +0 -303
- polars/interchange/utils.py +0 -170
- polars/io/__init__.py +0 -64
- polars/io/_utils.py +0 -317
- polars/io/avro.py +0 -49
- polars/io/clipboard.py +0 -36
- polars/io/cloud/__init__.py +0 -17
- polars/io/cloud/_utils.py +0 -80
- polars/io/cloud/credential_provider/__init__.py +0 -17
- polars/io/cloud/credential_provider/_builder.py +0 -520
- polars/io/cloud/credential_provider/_providers.py +0 -618
- polars/io/csv/__init__.py +0 -9
- polars/io/csv/_utils.py +0 -38
- polars/io/csv/batched_reader.py +0 -142
- polars/io/csv/functions.py +0 -1495
- polars/io/database/__init__.py +0 -6
- polars/io/database/_arrow_registry.py +0 -70
- polars/io/database/_cursor_proxies.py +0 -147
- polars/io/database/_executor.py +0 -578
- polars/io/database/_inference.py +0 -314
- polars/io/database/_utils.py +0 -144
- polars/io/database/functions.py +0 -516
- polars/io/delta.py +0 -499
- polars/io/iceberg/__init__.py +0 -3
- polars/io/iceberg/_utils.py +0 -697
- polars/io/iceberg/dataset.py +0 -556
- polars/io/iceberg/functions.py +0 -151
- polars/io/ipc/__init__.py +0 -8
- polars/io/ipc/functions.py +0 -514
- polars/io/json/__init__.py +0 -3
- polars/io/json/read.py +0 -101
- polars/io/ndjson.py +0 -332
- polars/io/parquet/__init__.py +0 -17
- polars/io/parquet/field_overwrites.py +0 -140
- polars/io/parquet/functions.py +0 -722
- polars/io/partition.py +0 -491
- polars/io/plugins.py +0 -187
- polars/io/pyarrow_dataset/__init__.py +0 -5
- polars/io/pyarrow_dataset/anonymous_scan.py +0 -109
- polars/io/pyarrow_dataset/functions.py +0 -79
- polars/io/scan_options/__init__.py +0 -5
- polars/io/scan_options/_options.py +0 -59
- polars/io/scan_options/cast_options.py +0 -126
- polars/io/spreadsheet/__init__.py +0 -6
- polars/io/spreadsheet/_utils.py +0 -52
- polars/io/spreadsheet/_write_utils.py +0 -647
- polars/io/spreadsheet/functions.py +0 -1323
- polars/lazyframe/__init__.py +0 -9
- polars/lazyframe/engine_config.py +0 -61
- polars/lazyframe/frame.py +0 -8564
- polars/lazyframe/group_by.py +0 -669
- polars/lazyframe/in_process.py +0 -42
- polars/lazyframe/opt_flags.py +0 -333
- polars/meta/__init__.py +0 -14
- polars/meta/build.py +0 -33
- polars/meta/index_type.py +0 -27
- polars/meta/thread_pool.py +0 -50
- polars/meta/versions.py +0 -120
- polars/ml/__init__.py +0 -0
- polars/ml/torch.py +0 -213
- polars/ml/utilities.py +0 -30
- polars/plugins.py +0 -155
- polars/py.typed +0 -0
- polars/pyproject.toml +0 -103
- polars/schema.py +0 -265
- polars/selectors.py +0 -3117
- polars/series/__init__.py +0 -5
- polars/series/array.py +0 -776
- polars/series/binary.py +0 -254
- polars/series/categorical.py +0 -246
- polars/series/datetime.py +0 -2275
- polars/series/list.py +0 -1087
- polars/series/plotting.py +0 -191
- polars/series/series.py +0 -9197
- polars/series/string.py +0 -2367
- polars/series/struct.py +0 -154
- polars/series/utils.py +0 -191
- polars/sql/__init__.py +0 -7
- polars/sql/context.py +0 -677
- polars/sql/functions.py +0 -139
- polars/string_cache.py +0 -185
- polars/testing/__init__.py +0 -13
- polars/testing/asserts/__init__.py +0 -9
- polars/testing/asserts/frame.py +0 -231
- polars/testing/asserts/series.py +0 -219
- polars/testing/asserts/utils.py +0 -12
- polars/testing/parametric/__init__.py +0 -33
- polars/testing/parametric/profiles.py +0 -107
- polars/testing/parametric/strategies/__init__.py +0 -22
- polars/testing/parametric/strategies/_utils.py +0 -14
- polars/testing/parametric/strategies/core.py +0 -615
- polars/testing/parametric/strategies/data.py +0 -452
- polars/testing/parametric/strategies/dtype.py +0 -436
- polars/testing/parametric/strategies/legacy.py +0 -169
- polars/type_aliases.py +0 -24
- polars_runtime_compat-1.34.0b3.dist-info/METADATA +0 -190
- polars_runtime_compat-1.34.0b3.dist-info/RECORD +0 -203
- {polars_runtime_compat-1.34.0b3.dist-info → polars_runtime_compat-1.34.0b5.dist-info}/WHEEL +0 -0
- {polars_runtime_compat-1.34.0b3.dist-info → polars_runtime_compat-1.34.0b5.dist-info}/licenses/LICENSE +0 -0
polars/_utils/wrap.py
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
import polars._reexport as pl
|
|
6
|
-
|
|
7
|
-
if TYPE_CHECKING:
|
|
8
|
-
from polars import DataFrame, Expr, LazyFrame, Series
|
|
9
|
-
from polars._plr import PyDataFrame, PyExpr, PyLazyFrame, PySeries
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def wrap_df(df: PyDataFrame) -> DataFrame:
|
|
13
|
-
return pl.DataFrame._from_pydf(df)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def wrap_ldf(ldf: PyLazyFrame) -> LazyFrame:
|
|
17
|
-
return pl.LazyFrame._from_pyldf(ldf)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def wrap_s(s: PySeries) -> Series:
|
|
21
|
-
return pl.Series._from_pyseries(s)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def wrap_expr(pyexpr: PyExpr) -> Expr:
|
|
25
|
-
return pl.Expr._from_pyexpr(pyexpr)
|
polars/api.py
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING, Callable, Generic, TypeVar
|
|
4
|
-
from warnings import warn
|
|
5
|
-
|
|
6
|
-
import polars._reexport as pl
|
|
7
|
-
from polars._utils.various import find_stacklevel
|
|
8
|
-
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from polars import DataFrame, Expr, LazyFrame, Series
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__all__ = [
|
|
14
|
-
"register_dataframe_namespace",
|
|
15
|
-
"register_expr_namespace",
|
|
16
|
-
"register_lazyframe_namespace",
|
|
17
|
-
"register_series_namespace",
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
# do not allow override of polars' own namespaces (as registered by '_accessors')
|
|
21
|
-
_reserved_namespaces: set[str] = set.union(
|
|
22
|
-
*(cls._accessors for cls in (pl.DataFrame, pl.Expr, pl.LazyFrame, pl.Series))
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
NS = TypeVar("NS")
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class NameSpace(Generic[NS]):
|
|
30
|
-
"""Establish property-like namespace object for user-defined functionality."""
|
|
31
|
-
|
|
32
|
-
def __init__(self, name: str, namespace: type[NS]) -> None:
|
|
33
|
-
self._accessor = name
|
|
34
|
-
self._ns = namespace
|
|
35
|
-
|
|
36
|
-
def __get__(self, instance: NS | None, cls: type[NS]) -> NS | type[NS]:
|
|
37
|
-
if instance is None:
|
|
38
|
-
return self._ns
|
|
39
|
-
|
|
40
|
-
ns_instance = self._ns(instance) # type: ignore[call-arg]
|
|
41
|
-
setattr(instance, self._accessor, ns_instance)
|
|
42
|
-
return ns_instance
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def _create_namespace(
|
|
46
|
-
name: str, cls: type[Expr | DataFrame | LazyFrame | Series]
|
|
47
|
-
) -> Callable[[type[NS]], type[NS]]:
|
|
48
|
-
"""Register custom namespace against the underlying Polars class."""
|
|
49
|
-
|
|
50
|
-
def namespace(ns_class: type[NS]) -> type[NS]:
|
|
51
|
-
if name in _reserved_namespaces:
|
|
52
|
-
msg = f"cannot override reserved namespace {name!r}"
|
|
53
|
-
raise AttributeError(msg)
|
|
54
|
-
elif hasattr(cls, name):
|
|
55
|
-
warn(
|
|
56
|
-
f"Overriding existing custom namespace {name!r} (on {cls.__name__!r})",
|
|
57
|
-
UserWarning,
|
|
58
|
-
stacklevel=find_stacklevel(),
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
setattr(cls, name, NameSpace(name, ns_class))
|
|
62
|
-
cls._accessors.add(name)
|
|
63
|
-
return ns_class
|
|
64
|
-
|
|
65
|
-
return namespace
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def register_expr_namespace(name: str) -> Callable[[type[NS]], type[NS]]:
|
|
69
|
-
"""
|
|
70
|
-
Decorator for registering custom functionality with a Polars Expr.
|
|
71
|
-
|
|
72
|
-
Parameters
|
|
73
|
-
----------
|
|
74
|
-
name
|
|
75
|
-
Name under which the functionality will be accessed.
|
|
76
|
-
|
|
77
|
-
See Also
|
|
78
|
-
--------
|
|
79
|
-
register_dataframe_namespace : Register functionality on a DataFrame.
|
|
80
|
-
register_lazyframe_namespace : Register functionality on a LazyFrame.
|
|
81
|
-
register_series_namespace : Register functionality on a Series.
|
|
82
|
-
|
|
83
|
-
Examples
|
|
84
|
-
--------
|
|
85
|
-
>>> @pl.api.register_expr_namespace("pow_n")
|
|
86
|
-
... class PowersOfN:
|
|
87
|
-
... def __init__(self, expr: pl.Expr) -> None:
|
|
88
|
-
... self._expr = expr
|
|
89
|
-
...
|
|
90
|
-
... def next(self, p: int) -> pl.Expr:
|
|
91
|
-
... return (p ** (self._expr.log(p).ceil()).cast(pl.Int64)).cast(pl.Int64)
|
|
92
|
-
...
|
|
93
|
-
... def previous(self, p: int) -> pl.Expr:
|
|
94
|
-
... return (p ** (self._expr.log(p).floor()).cast(pl.Int64)).cast(pl.Int64)
|
|
95
|
-
...
|
|
96
|
-
... def nearest(self, p: int) -> pl.Expr:
|
|
97
|
-
... return (p ** (self._expr.log(p)).round(0).cast(pl.Int64)).cast(pl.Int64)
|
|
98
|
-
>>>
|
|
99
|
-
>>> df = pl.DataFrame([1.4, 24.3, 55.0, 64.001], schema=["n"])
|
|
100
|
-
>>> df.select(
|
|
101
|
-
... pl.col("n"),
|
|
102
|
-
... pl.col("n").pow_n.next(p=2).alias("next_pow2"),
|
|
103
|
-
... pl.col("n").pow_n.previous(p=2).alias("prev_pow2"),
|
|
104
|
-
... pl.col("n").pow_n.nearest(p=2).alias("nearest_pow2"),
|
|
105
|
-
... )
|
|
106
|
-
shape: (4, 4)
|
|
107
|
-
┌────────┬───────────┬───────────┬──────────────┐
|
|
108
|
-
│ n ┆ next_pow2 ┆ prev_pow2 ┆ nearest_pow2 │
|
|
109
|
-
│ --- ┆ --- ┆ --- ┆ --- │
|
|
110
|
-
│ f64 ┆ i64 ┆ i64 ┆ i64 │
|
|
111
|
-
╞════════╪═══════════╪═══════════╪══════════════╡
|
|
112
|
-
│ 1.4 ┆ 2 ┆ 1 ┆ 1 │
|
|
113
|
-
│ 24.3 ┆ 32 ┆ 16 ┆ 32 │
|
|
114
|
-
│ 55.0 ┆ 64 ┆ 32 ┆ 64 │
|
|
115
|
-
│ 64.001 ┆ 128 ┆ 64 ┆ 64 │
|
|
116
|
-
└────────┴───────────┴───────────┴──────────────┘
|
|
117
|
-
"""
|
|
118
|
-
return _create_namespace(name, pl.Expr)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
def register_dataframe_namespace(name: str) -> Callable[[type[NS]], type[NS]]:
|
|
122
|
-
"""
|
|
123
|
-
Decorator for registering custom functionality with a Polars DataFrame.
|
|
124
|
-
|
|
125
|
-
Parameters
|
|
126
|
-
----------
|
|
127
|
-
name
|
|
128
|
-
Name under which the functionality will be accessed.
|
|
129
|
-
|
|
130
|
-
See Also
|
|
131
|
-
--------
|
|
132
|
-
register_expr_namespace : Register functionality on an Expr.
|
|
133
|
-
register_lazyframe_namespace : Register functionality on a LazyFrame.
|
|
134
|
-
register_series_namespace : Register functionality on a Series.
|
|
135
|
-
|
|
136
|
-
Examples
|
|
137
|
-
--------
|
|
138
|
-
>>> @pl.api.register_dataframe_namespace("split")
|
|
139
|
-
... class SplitFrame:
|
|
140
|
-
... def __init__(self, df: pl.DataFrame) -> None:
|
|
141
|
-
... self._df = df
|
|
142
|
-
...
|
|
143
|
-
... def by_first_letter_of_column_names(self) -> list[pl.DataFrame]:
|
|
144
|
-
... return [
|
|
145
|
-
... self._df.select([col for col in self._df.columns if col[0] == f])
|
|
146
|
-
... for f in dict.fromkeys(col[0] for col in self._df.columns)
|
|
147
|
-
... ]
|
|
148
|
-
...
|
|
149
|
-
... def by_first_letter_of_column_values(self, col: str) -> list[pl.DataFrame]:
|
|
150
|
-
... return [
|
|
151
|
-
... self._df.filter(pl.col(col).str.starts_with(c))
|
|
152
|
-
... for c in sorted(
|
|
153
|
-
... set(df.select(pl.col(col).str.slice(0, 1)).to_series())
|
|
154
|
-
... )
|
|
155
|
-
... ]
|
|
156
|
-
>>>
|
|
157
|
-
>>> df = pl.DataFrame(
|
|
158
|
-
... data=[["xx", 2, 3, 4], ["xy", 4, 5, 6], ["yy", 5, 6, 7], ["yz", 6, 7, 8]],
|
|
159
|
-
... schema=["a1", "a2", "b1", "b2"],
|
|
160
|
-
... orient="row",
|
|
161
|
-
... )
|
|
162
|
-
>>> df
|
|
163
|
-
shape: (4, 4)
|
|
164
|
-
┌─────┬─────┬─────┬─────┐
|
|
165
|
-
│ a1 ┆ a2 ┆ b1 ┆ b2 │
|
|
166
|
-
│ --- ┆ --- ┆ --- ┆ --- │
|
|
167
|
-
│ str ┆ i64 ┆ i64 ┆ i64 │
|
|
168
|
-
╞═════╪═════╪═════╪═════╡
|
|
169
|
-
│ xx ┆ 2 ┆ 3 ┆ 4 │
|
|
170
|
-
│ xy ┆ 4 ┆ 5 ┆ 6 │
|
|
171
|
-
│ yy ┆ 5 ┆ 6 ┆ 7 │
|
|
172
|
-
│ yz ┆ 6 ┆ 7 ┆ 8 │
|
|
173
|
-
└─────┴─────┴─────┴─────┘
|
|
174
|
-
>>> df.split.by_first_letter_of_column_names()
|
|
175
|
-
[shape: (4, 2)
|
|
176
|
-
┌─────┬─────┐
|
|
177
|
-
│ a1 ┆ a2 │
|
|
178
|
-
│ --- ┆ --- │
|
|
179
|
-
│ str ┆ i64 │
|
|
180
|
-
╞═════╪═════╡
|
|
181
|
-
│ xx ┆ 2 │
|
|
182
|
-
│ xy ┆ 4 │
|
|
183
|
-
│ yy ┆ 5 │
|
|
184
|
-
│ yz ┆ 6 │
|
|
185
|
-
└─────┴─────┘,
|
|
186
|
-
shape: (4, 2)
|
|
187
|
-
┌─────┬─────┐
|
|
188
|
-
│ b1 ┆ b2 │
|
|
189
|
-
│ --- ┆ --- │
|
|
190
|
-
│ i64 ┆ i64 │
|
|
191
|
-
╞═════╪═════╡
|
|
192
|
-
│ 3 ┆ 4 │
|
|
193
|
-
│ 5 ┆ 6 │
|
|
194
|
-
│ 6 ┆ 7 │
|
|
195
|
-
│ 7 ┆ 8 │
|
|
196
|
-
└─────┴─────┘]
|
|
197
|
-
>>> df.split.by_first_letter_of_column_values("a1")
|
|
198
|
-
[shape: (2, 4)
|
|
199
|
-
┌─────┬─────┬─────┬─────┐
|
|
200
|
-
│ a1 ┆ a2 ┆ b1 ┆ b2 │
|
|
201
|
-
│ --- ┆ --- ┆ --- ┆ --- │
|
|
202
|
-
│ str ┆ i64 ┆ i64 ┆ i64 │
|
|
203
|
-
╞═════╪═════╪═════╪═════╡
|
|
204
|
-
│ xx ┆ 2 ┆ 3 ┆ 4 │
|
|
205
|
-
│ xy ┆ 4 ┆ 5 ┆ 6 │
|
|
206
|
-
└─────┴─────┴─────┴─────┘, shape: (2, 4)
|
|
207
|
-
┌─────┬─────┬─────┬─────┐
|
|
208
|
-
│ a1 ┆ a2 ┆ b1 ┆ b2 │
|
|
209
|
-
│ --- ┆ --- ┆ --- ┆ --- │
|
|
210
|
-
│ str ┆ i64 ┆ i64 ┆ i64 │
|
|
211
|
-
╞═════╪═════╪═════╪═════╡
|
|
212
|
-
│ yy ┆ 5 ┆ 6 ┆ 7 │
|
|
213
|
-
│ yz ┆ 6 ┆ 7 ┆ 8 │
|
|
214
|
-
└─────┴─────┴─────┴─────┘]
|
|
215
|
-
"""
|
|
216
|
-
return _create_namespace(name, pl.DataFrame)
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
def register_lazyframe_namespace(name: str) -> Callable[[type[NS]], type[NS]]:
|
|
220
|
-
"""
|
|
221
|
-
Decorator for registering custom functionality with a Polars LazyFrame.
|
|
222
|
-
|
|
223
|
-
Parameters
|
|
224
|
-
----------
|
|
225
|
-
name
|
|
226
|
-
Name under which the functionality will be accessed.
|
|
227
|
-
|
|
228
|
-
See Also
|
|
229
|
-
--------
|
|
230
|
-
register_expr_namespace : Register functionality on an Expr.
|
|
231
|
-
register_dataframe_namespace : Register functionality on a DataFrame.
|
|
232
|
-
register_series_namespace : Register functionality on a Series.
|
|
233
|
-
|
|
234
|
-
Examples
|
|
235
|
-
--------
|
|
236
|
-
>>> @pl.api.register_lazyframe_namespace("types")
|
|
237
|
-
... class DTypeOperations:
|
|
238
|
-
... def __init__(self, lf: pl.LazyFrame) -> None:
|
|
239
|
-
... self._lf = lf
|
|
240
|
-
...
|
|
241
|
-
... def split_by_column_dtypes(self) -> list[pl.LazyFrame]:
|
|
242
|
-
... return [
|
|
243
|
-
... self._lf.select(pl.col(tp))
|
|
244
|
-
... for tp in dict.fromkeys(self._lf.collect_schema().dtypes())
|
|
245
|
-
... ]
|
|
246
|
-
...
|
|
247
|
-
... def upcast_integer_types(self) -> pl.LazyFrame:
|
|
248
|
-
... return self._lf.with_columns(
|
|
249
|
-
... pl.col(tp).cast(pl.Int64) for tp in (pl.Int8, pl.Int16, pl.Int32)
|
|
250
|
-
... )
|
|
251
|
-
>>>
|
|
252
|
-
>>> lf = pl.LazyFrame(
|
|
253
|
-
... data={"a": [1, 2], "b": [3, 4], "c": [5.6, 6.7]},
|
|
254
|
-
... schema=[("a", pl.Int16), ("b", pl.Int32), ("c", pl.Float32)],
|
|
255
|
-
... )
|
|
256
|
-
>>> lf.collect()
|
|
257
|
-
shape: (2, 3)
|
|
258
|
-
┌─────┬─────┬─────┐
|
|
259
|
-
│ a ┆ b ┆ c │
|
|
260
|
-
│ --- ┆ --- ┆ --- │
|
|
261
|
-
│ i16 ┆ i32 ┆ f32 │
|
|
262
|
-
╞═════╪═════╪═════╡
|
|
263
|
-
│ 1 ┆ 3 ┆ 5.6 │
|
|
264
|
-
│ 2 ┆ 4 ┆ 6.7 │
|
|
265
|
-
└─────┴─────┴─────┘
|
|
266
|
-
>>> lf.types.upcast_integer_types().collect()
|
|
267
|
-
shape: (2, 3)
|
|
268
|
-
┌─────┬─────┬─────┐
|
|
269
|
-
│ a ┆ b ┆ c │
|
|
270
|
-
│ --- ┆ --- ┆ --- │
|
|
271
|
-
│ i64 ┆ i64 ┆ f32 │
|
|
272
|
-
╞═════╪═════╪═════╡
|
|
273
|
-
│ 1 ┆ 3 ┆ 5.6 │
|
|
274
|
-
│ 2 ┆ 4 ┆ 6.7 │
|
|
275
|
-
└─────┴─────┴─────┘
|
|
276
|
-
|
|
277
|
-
>>> lf = pl.LazyFrame(
|
|
278
|
-
... data=[["xx", 2, 3, 4], ["xy", 4, 5, 6], ["yy", 5, 6, 7], ["yz", 6, 7, 8]],
|
|
279
|
-
... schema=["a1", "a2", "b1", "b2"],
|
|
280
|
-
... orient="row",
|
|
281
|
-
... )
|
|
282
|
-
>>> lf.collect()
|
|
283
|
-
shape: (4, 4)
|
|
284
|
-
┌─────┬─────┬─────┬─────┐
|
|
285
|
-
│ a1 ┆ a2 ┆ b1 ┆ b2 │
|
|
286
|
-
│ --- ┆ --- ┆ --- ┆ --- │
|
|
287
|
-
│ str ┆ i64 ┆ i64 ┆ i64 │
|
|
288
|
-
╞═════╪═════╪═════╪═════╡
|
|
289
|
-
│ xx ┆ 2 ┆ 3 ┆ 4 │
|
|
290
|
-
│ xy ┆ 4 ┆ 5 ┆ 6 │
|
|
291
|
-
│ yy ┆ 5 ┆ 6 ┆ 7 │
|
|
292
|
-
│ yz ┆ 6 ┆ 7 ┆ 8 │
|
|
293
|
-
└─────┴─────┴─────┴─────┘
|
|
294
|
-
>>> pl.collect_all(lf.types.split_by_column_dtypes())
|
|
295
|
-
[shape: (4, 1)
|
|
296
|
-
┌─────┐
|
|
297
|
-
│ a1 │
|
|
298
|
-
│ --- │
|
|
299
|
-
│ str │
|
|
300
|
-
╞═════╡
|
|
301
|
-
│ xx │
|
|
302
|
-
│ xy │
|
|
303
|
-
│ yy │
|
|
304
|
-
│ yz │
|
|
305
|
-
└─────┘, shape: (4, 3)
|
|
306
|
-
┌─────┬─────┬─────┐
|
|
307
|
-
│ a2 ┆ b1 ┆ b2 │
|
|
308
|
-
│ --- ┆ --- ┆ --- │
|
|
309
|
-
│ i64 ┆ i64 ┆ i64 │
|
|
310
|
-
╞═════╪═════╪═════╡
|
|
311
|
-
│ 2 ┆ 3 ┆ 4 │
|
|
312
|
-
│ 4 ┆ 5 ┆ 6 │
|
|
313
|
-
│ 5 ┆ 6 ┆ 7 │
|
|
314
|
-
│ 6 ┆ 7 ┆ 8 │
|
|
315
|
-
└─────┴─────┴─────┘]
|
|
316
|
-
"""
|
|
317
|
-
return _create_namespace(name, pl.LazyFrame)
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
def register_series_namespace(name: str) -> Callable[[type[NS]], type[NS]]:
|
|
321
|
-
"""
|
|
322
|
-
Decorator for registering custom functionality with a polars Series.
|
|
323
|
-
|
|
324
|
-
Parameters
|
|
325
|
-
----------
|
|
326
|
-
name
|
|
327
|
-
Name under which the functionality will be accessed.
|
|
328
|
-
|
|
329
|
-
See Also
|
|
330
|
-
--------
|
|
331
|
-
register_expr_namespace : Register functionality on an Expr.
|
|
332
|
-
register_dataframe_namespace : Register functionality on a DataFrame.
|
|
333
|
-
register_lazyframe_namespace : Register functionality on a LazyFrame.
|
|
334
|
-
|
|
335
|
-
Examples
|
|
336
|
-
--------
|
|
337
|
-
>>> @pl.api.register_series_namespace("math")
|
|
338
|
-
... class MathShortcuts:
|
|
339
|
-
... def __init__(self, s: pl.Series) -> None:
|
|
340
|
-
... self._s = s
|
|
341
|
-
...
|
|
342
|
-
... def square(self) -> pl.Series:
|
|
343
|
-
... return self._s * self._s
|
|
344
|
-
...
|
|
345
|
-
... def cube(self) -> pl.Series:
|
|
346
|
-
... return self._s * self._s * self._s
|
|
347
|
-
>>>
|
|
348
|
-
>>> s = pl.Series("n", [1.5, 31.0, 42.0, 64.5])
|
|
349
|
-
>>> s.math.square().alias("s^2")
|
|
350
|
-
shape: (4,)
|
|
351
|
-
Series: 's^2' [f64]
|
|
352
|
-
[
|
|
353
|
-
2.25
|
|
354
|
-
961.0
|
|
355
|
-
1764.0
|
|
356
|
-
4160.25
|
|
357
|
-
]
|
|
358
|
-
>>> s = pl.Series("n", [1, 2, 3, 4, 5])
|
|
359
|
-
>>> s.math.cube().alias("s^3")
|
|
360
|
-
shape: (5,)
|
|
361
|
-
Series: 's^3' [i64]
|
|
362
|
-
[
|
|
363
|
-
1
|
|
364
|
-
8
|
|
365
|
-
27
|
|
366
|
-
64
|
|
367
|
-
125
|
|
368
|
-
]
|
|
369
|
-
"""
|
|
370
|
-
return _create_namespace(name, pl.Series)
|
polars/catalog/__init__.py
DELETED
|
File without changes
|
polars/catalog/unity/__init__.py
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
from polars.catalog.unity.client import Catalog
|
|
2
|
-
from polars.catalog.unity.models import (
|
|
3
|
-
CatalogInfo,
|
|
4
|
-
ColumnInfo,
|
|
5
|
-
DataSourceFormat,
|
|
6
|
-
NamespaceInfo,
|
|
7
|
-
TableInfo,
|
|
8
|
-
TableType,
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
__all__ = [
|
|
12
|
-
"Catalog",
|
|
13
|
-
"CatalogInfo",
|
|
14
|
-
"ColumnInfo",
|
|
15
|
-
"DataSourceFormat",
|
|
16
|
-
"NamespaceInfo",
|
|
17
|
-
"TableInfo",
|
|
18
|
-
"TableType",
|
|
19
|
-
]
|