Skip to content

Commit 6efb3c5

Browse files
committed
Add additional backends
1 parent da0ce2e commit 6efb3c5

File tree

3 files changed

+189
-1
lines changed

3 files changed

+189
-1
lines changed

pyproject.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ test = [
8787
"faicons",
8888
"ridgeplot",
8989
"great_tables",
90+
"modin",
91+
"polars",
92+
"dask[dataframe]",
93+
"pyarrow",
9094
]
9195
dev = [
9296
"black>=24.0",

tests/playwright/shiny/components/data_frame/data_type/app.py

Lines changed: 170 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,32 @@
11
from __future__ import annotations
22

3+
import dask.dataframe as dd
4+
import modin.pandas as mpd # pyright: ignore[reportMissingTypeStubs]
35
import narwhals.stable.v1 as nw
46
import palmerpenguins # pyright: ignore[reportMissingTypeStubs]
7+
import polars as pl
8+
import pyarrow as pa
59

610
from shiny.express import render, ui
711

12+
# import databricks.koalas as ks # pyright: ignore[reportMissingTypeStubs]
13+
14+
815
pd_df = palmerpenguins.load_penguins_raw().iloc[0:2, 0:2]
916

1017
nw_df = nw.from_native(pd_df, eager_only=True)
18+
pa_df = pa.Table.from_pandas(pd_df)
19+
mpd_df = mpd.DataFrame(pd_df)
20+
pl_df = pl.DataFrame(pd_df)
21+
dd_df = dd.from_pandas(
22+
pd_df
23+
) # pyright: ignore[reportUnknownMemberType, reportPrivateImportUsage, reportUnknownVariableType]
24+
# ks_df = ks.from_pandas(pd_df) # pyright: ignore[reportMissingTypeStubs, reportUnknownMemberType, reportUnknownVariableType]
25+
1126

1227
with ui.layout_columns():
1328

1429
with ui.card():
15-
1630
ui.h2("Original Pandas Data")
1731

1832
@render.data_frame
@@ -73,3 +87,158 @@ def nw_data_view():
7387
@render.code
7488
def nw_data_view_selected():
7589
return str(type(nw_df_original.data_view(selected=True)))
90+
91+
with ui.card():
92+
ui.h2("Original PyArrow Data")
93+
94+
@render.data_frame
95+
def pa_df_original():
96+
return pa_df
97+
98+
"Data type:"
99+
100+
@render.code
101+
def pa_type():
102+
return str(type(pa_df))
103+
104+
ui.markdown("`.data()` type:")
105+
106+
@render.code
107+
def pa_data():
108+
return str(type(pa_df_original.data()))
109+
110+
ui.markdown("`.data_view()` type:")
111+
112+
@render.code
113+
def pa_data_view():
114+
return str(type(pa_df_original.data_view()))
115+
116+
ui.markdown("`.data_view(selected=True)` type:")
117+
118+
@render.code
119+
def pa_data_view_selected():
120+
return str(type(pa_df_original.data_view(selected=True)))
121+
122+
with ui.card():
123+
ui.h2("Modin Data")
124+
125+
@render.data_frame
126+
def mpd_df_original():
127+
return mpd_df
128+
129+
"Data type:"
130+
131+
@render.code
132+
def mpd_type():
133+
return str(type(mpd_df))
134+
135+
ui.markdown("`.data()` type:")
136+
137+
@render.code
138+
def mpd_data():
139+
return str(type(mpd_df_original.data()))
140+
141+
ui.markdown("`.data_view()` type:")
142+
143+
@render.code
144+
def mpd_data_view():
145+
return str(type(mpd_df_original.data_view()))
146+
147+
ui.markdown("`.data_view(selected=True)` type:")
148+
149+
@render.code
150+
def mpd_data_view_selected():
151+
return str(type(mpd_df_original.data_view(selected=True)))
152+
153+
with ui.card():
154+
ui.h2("Polars Data")
155+
156+
@render.data_frame
157+
def pl_df_original():
158+
return pl_df
159+
160+
"Data type:"
161+
162+
@render.code
163+
def pl_type():
164+
return str(type(pl_df))
165+
166+
ui.markdown("`.data()` type:")
167+
168+
@render.code
169+
def pl_data():
170+
return str(type(pl_df_original.data()))
171+
172+
ui.markdown("`.data_view()` type:")
173+
174+
@render.code
175+
def pl_data_view():
176+
return str(type(pl_df_original.data_view()))
177+
178+
ui.markdown("`.data_view(selected=True)` type:")
179+
180+
@render.code
181+
def pl_data_view_selected():
182+
return str(type(pl_df_original.data_view(selected=True)))
183+
184+
with ui.card():
185+
ui.h2("Dask Data")
186+
187+
@render.data_frame
188+
def dd_df_original():
189+
return dd_df
190+
191+
"Data type:"
192+
193+
@render.code
194+
def dd_type():
195+
return str(type(dd_df))
196+
197+
ui.markdown("`.data()` type:")
198+
199+
@render.code
200+
def dd_data():
201+
return str(type(dd_df_original.data()))
202+
203+
ui.markdown("`.data_view()` type:")
204+
205+
@render.code
206+
def dd_data_view():
207+
return str(type(dd_df_original.data_view()))
208+
209+
ui.markdown("`.data_view(selected=True)` type:")
210+
211+
@render.code
212+
def dd_data_view_selected():
213+
return str(type(dd_df_original.data_view(selected=True)))
214+
215+
# with ui.card():
216+
# ui.h2("Koalas Data")
217+
218+
# @render.data_frame
219+
# def ks_df_original():
220+
# return ks_df
221+
222+
# "Data type:"
223+
224+
# @render.code
225+
# def ks_type():
226+
# return str(type(ks_df))
227+
228+
# ui.markdown("`.data()` type:")
229+
230+
# @render.code
231+
# def ks_data():
232+
# return str(type(ks_df_original.data()))
233+
234+
# ui.markdown("`.data_view()` type:")
235+
236+
# @render.code
237+
# def ks_data_view():
238+
# return str(type(ks_df_original.data_view()))
239+
240+
# ui.markdown("`.data_view(selected=True)` type:")
241+
242+
# @render.code
243+
# def ks_data_view_selected():
244+
# return str(type(ks_df_original.data_view(selected=True)))

tests/playwright/shiny/components/data_frame/data_type/test_df_data_type.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,18 @@ def test_data_frame_data_type(
2525
controller.OutputCode(page, "nw_data_view_selected").expect_value(
2626
re.compile(r"narwhals")
2727
)
28+
29+
controller.OutputCode(page, "pd_type").expect_value(re.compile(r"pandas"))
30+
controller.OutputCode(page, "pd_data").expect_value(re.compile(r"pandas"))
31+
controller.OutputCode(page, "pd_data_view").expect_value(re.compile(r"pandas"))
32+
controller.OutputCode(page, "pd_data_view_selected").expect_value(
33+
re.compile(r"pandas")
34+
)
35+
36+
# modin tests
37+
controller.OutputCode(page, "mpd_type").expect_value(re.compile(r"modin"))
38+
controller.OutputCode(page, "mpd_data").expect_value(re.compile(r"modin"))
39+
controller.OutputCode(page, "mpd_data_view").expect_value(re.compile(r"modin"))
40+
controller.OutputCode(page, "mpd_data_view_selected").expect_value(
41+
re.compile(r"modin")
42+
)

0 commit comments

Comments
 (0)