Skip to content

Commit 301c076

Browse files
authored
fix: Correctly deserialize collections from schema (#116)
1 parent 8937a3a commit 301c076

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

dataframely/collection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,7 @@ def deserialize_collection(data: str) -> type[Collection]:
10101010
{
10111011
"__annotations__": annotations,
10121012
**{
1013-
name: Filter(logic=lambda _: logic)
1013+
name: Filter(logic=lambda _, logic=logic: logic) # type: ignore
10141014
for name, logic in decoded["filters"].items()
10151015
},
10161016
},

tests/collection/test_serialization.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import json
55

6+
import polars as pl
67
import pytest
78

89
import dataframely as dy
@@ -59,6 +60,21 @@ class OptionalCollection(dy.Collection):
5960
"filter1": Filter(lambda c: c.s1.join(c.s2, on="a")),
6061
},
6162
),
63+
create_collection(
64+
"test",
65+
{
66+
"s1": create_schema("schema1", {"a": dy.Int64(primary_key=True)}),
67+
"s2": create_schema("schema2", {"a": dy.Int64(primary_key=True)}),
68+
},
69+
{
70+
"filter1": Filter(lambda c: c.s1.join(c.s2, on="a")),
71+
"filter2": Filter(
72+
lambda c: c.s1.join_where(
73+
c.s2, pl.col("a") + pl.col("a_right") < 10
74+
)
75+
),
76+
},
77+
),
6278
OptionalCollection,
6379
],
6480
)

0 commit comments

Comments
 (0)