File size: 808 Bytes
f134fa4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import gradio as gr
import polars as pl

column_names = ["x", "y", "z", "l", "name", "data"]

with gr.Blocks() as demo:
    labeled_points = gr.DataFrame(
        value=None,
        headers=column_names,
        col_count=(len(column_names), "fixed"),
        row_count=(1, "dynamic"),
        type="polars",
        interactive=True,
        datatype=["number", "number", "number", "number", "str", "str"],
    )

    button = gr.Button("Submit")

    def on_click(labeled_points):
        point_info = [0, 0, 0, 0, "test", "test"]
        new_row = pl.DataFrame([point_info], schema=labeled_points.schema, orient="row")
        labeled_points = labeled_points.vstack(new_row)
        return labeled_points

    gr.on(button.click, on_click, labeled_points, labeled_points)

demo.launch(show_error=True)