Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/py-polars/tests/unit/io/test_pickle.py
6939 views
1
from __future__ import annotations
2
3
import io
4
import pickle
5
6
import polars as pl
7
from polars.testing import assert_frame_equal, assert_series_equal
8
9
10
def test_pickle() -> None:
11
a = pl.Series("a", [1, 2])
12
b = pickle.dumps(a)
13
out = pickle.loads(b)
14
assert_series_equal(a, out)
15
df = pl.DataFrame({"a": [1, 2], "b": ["a", None], "c": [True, False]})
16
b = pickle.dumps(df)
17
out = pickle.loads(b)
18
assert_frame_equal(df, out)
19
20
21
def test_pickle_expr() -> None:
22
for e in [
23
pl.all(),
24
pl.len(),
25
pl.duration(weeks=10, days=20, hours=3),
26
pl.col("a").cast(pl.Int128),
27
]:
28
f = io.BytesIO()
29
pickle.dump(e, f)
30
31
f.seek(0)
32
pickle.load(f)
33
34