Polars backend adapter for PlanFrame.
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
planframe-polars
Polars adapter package for PlanFrame. Import as planframe_polars.
Documentation (ReadTheDocs):
- Polars track (end users):
https://planframe.readthedocs.io/en/latest/planframe_polars/ - Light API reference:
https://planframe.readthedocs.io/en/latest/planframe_polars/reference/api/
Usage
import polars as pl
from planframe_polars import PolarsFrame
class User(PolarsFrame):
id: int
age: int
pf = User(pl.DataFrame({"id": [1], "age": [2]}))
df = pf.select("id").collect()
# Or construct from python data:
pf2 = User({"id": [1], "age": [2]})
Execution model
PlanFrame is always lazy:
- Chaining methods (like
.select(...)) does not run Polars operations. collect()evaluates the full plan. If the source is apolars.LazyFrame, this naturally compiles into a single lazy query before collecting.
Notes (Polars-specific)
- Pivot:
LazyFrame.pivot(...)requireson_columnsto be provided up-front (Polars must know the output schema prior tocollect()). PlanFrame enforces this at execution time. - concat_vertical: implemented via
polars.concat(..., how="vertical"). - Join: implemented via
LazyFrame.join(...)/DataFrame.join(...)with symmetriconor asymmetricleft_on/right_on, plus optionalJoinOptionsmapped to Polars (nulls_equal,validate,coalesce,maintain_order,allow_parallel/ streaming). - Group by / agg:
group_bycompiles to Polarsgroup_bywith column or expression keys (expression keys are aliased__pf_g{i}).aggcompiles tuple reductions topl.col(...).sum()-style calls andAggExprto aggregated expressions on compiled inners (e.g.agg_sum(truediv(col("a"), col("b")))).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
planframe_polars-0.3.0.tar.gz
(10.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file planframe_polars-0.3.0.tar.gz.
File metadata
- Download URL: planframe_polars-0.3.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06b8d3b014d92873fc663971077c044414b31132a774ec4c80ac677e87cb0bcc
|
|
| MD5 |
de7a435b1769654d6d54ae4e6448cd3b
|
|
| BLAKE2b-256 |
5e21089955bbc23328dbe6f69f0ffa22fe05ea47db32608cd8f3e1efd84124cd
|
File details
Details for the file planframe_polars-0.3.0-py3-none-any.whl.
File metadata
- Download URL: planframe_polars-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4297ecd88813d1464d945a3a648c68c5957238a76c858593b6f5988637b6a78
|
|
| MD5 |
bc26d43ef0783153c92c2d1cb518d058
|
|
| BLAKE2b-256 |
a2ee448d1a323f011db45d940c1ff8d5c605e7b017606f270de739d69037a7b1
|