Update app.py
Browse files
app.py
CHANGED
@@ -9,7 +9,7 @@ import os
|
|
9 |
from pywebio import start_server
|
10 |
from pywebio.input import file_upload, input
|
11 |
from pywebio.output import put_text, put_image, put_row, put_column, use_scope, put_buttons
|
12 |
-
from pywebio.session import set_env
|
13 |
import base64
|
14 |
import threading
|
15 |
|
@@ -124,24 +124,25 @@ def process_file(file, instructions):
|
|
124 |
return [error_image] * 3
|
125 |
|
126 |
def data_analysis_dashboard():
|
|
|
127 |
put_text("# Data Analysis Dashboard")
|
128 |
|
129 |
with use_scope('form'):
|
130 |
put_row([
|
131 |
put_column([
|
132 |
-
|
133 |
-
|
134 |
put_buttons(['Generate Insights'], onclick=[lambda: generate_insights()])
|
135 |
])
|
136 |
])
|
137 |
|
138 |
with use_scope('output'):
|
139 |
for i in range(3):
|
140 |
-
|
141 |
-
|
142 |
def generate_insights():
|
143 |
-
file =
|
144 |
-
instructions = input('instructions')
|
145 |
|
146 |
if not file or not instructions:
|
147 |
put_text("Please upload a file and provide instructions.")
|
@@ -155,7 +156,7 @@ def generate_insights():
|
|
155 |
img_str = base64.b64encode(buffered.getvalue()).decode()
|
156 |
with use_scope(f'visualization_{i+1}', clear=True):
|
157 |
put_image(img_str, width='100%')
|
158 |
-
|
159 |
def main():
|
160 |
data_analysis_dashboard()
|
161 |
|
|
|
9 |
from pywebio import start_server
|
10 |
from pywebio.input import file_upload, input
|
11 |
from pywebio.output import put_text, put_image, put_row, put_column, use_scope, put_buttons
|
12 |
+
from pywebio.session import run_js, set_env
|
13 |
import base64
|
14 |
import threading
|
15 |
|
|
|
124 |
return [error_image] * 3
|
125 |
|
126 |
def data_analysis_dashboard():
|
127 |
+
set_env(title="Data Analysis Dashboard")
|
128 |
put_text("# Data Analysis Dashboard")
|
129 |
|
130 |
with use_scope('form'):
|
131 |
put_row([
|
132 |
put_column([
|
133 |
+
file_upload("Upload Dataset", accept=[".csv", ".xlsx"], name="file"),
|
134 |
+
input("Analysis Instructions", type="text", placeholder="Describe the analysis you want...", name="instructions"),
|
135 |
put_buttons(['Generate Insights'], onclick=[lambda: generate_insights()])
|
136 |
])
|
137 |
])
|
138 |
|
139 |
with use_scope('output'):
|
140 |
for i in range(3):
|
141 |
+
put_scope(f'visualization_{i+1}')
|
142 |
+
|
143 |
def generate_insights():
|
144 |
+
file = file_upload.files.get('file')
|
145 |
+
instructions = input.inputs.get('instructions')
|
146 |
|
147 |
if not file or not instructions:
|
148 |
put_text("Please upload a file and provide instructions.")
|
|
|
156 |
img_str = base64.b64encode(buffered.getvalue()).decode()
|
157 |
with use_scope(f'visualization_{i+1}', clear=True):
|
158 |
put_image(img_str, width='100%')
|
159 |
+
|
160 |
def main():
|
161 |
data_analysis_dashboard()
|
162 |
|