Spaces:
Runtime error
Runtime error
import gradio as gr | |
from src.gr.GradioApp import GradioApp | |
from src.gr import gr_args | |
# =============================== # | |
# Inventory Optimization Demo App # | |
# =============================== # | |
app = GradioApp() | |
demo = gr.Blocks(**gr_args.main_block) | |
with demo: | |
gr.Markdown('# Inventory Optimization') | |
with gr.Tabs() as tabs: | |
# ============================ # | |
# Raw Material Optimization # | |
# ============================ # | |
with gr.TabItem('Raw Material Optimization', id=0): | |
with gr.Row(): | |
with gr.Column(): | |
# Inventory Optimization # | |
rm_md = gr.Markdown(**gr_args.rm_md) | |
with gr.Row(): | |
# [ Load Demo Dataset ] # | |
rm_demo_data_btn = gr.Button( | |
**gr_args.rm_demo_data_btn) | |
rm_file = gr.File(**gr_args.rm_file) | |
# [Inventory Optimization Input] # | |
rm_input_df = gr.Dataframe(**gr_args.rm_input_df) | |
with gr.Row(): | |
# [FG Storage Capacity] # | |
rm_storage_capacity = gr.Number( | |
**gr_args.rm_storage_capacity) | |
# [FG Budget] # | |
rm_budget_constraint = gr.Number( | |
**gr_args.rm_budget_constraint) | |
# [Optimize Raw Material Inventory] # | |
rm_btn = gr.Button(**gr_args.rm_btn) | |
gr.Markdown('# Raw Material Inventory Recommendations') | |
with gr.Row(): | |
rm_total_capacity_usage_md = gr.Markdown() | |
rm_total_budget_usage_md = gr.Markdown() | |
rm_recom_df = gr.Dataframe() | |
rm_plot = gr.Plot() | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
# Raw Material Event Listeners # | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
rm_demo_data_btn.click( | |
app.rm_demo_data_btn__click, | |
[], [rm_input_df, rm_storage_capacity, rm_budget_constraint]) | |
rm_file.upload( | |
app.rm_file__upload, | |
[rm_file], [rm_input_df]) | |
rm_storage_capacity.change( | |
app.rm_storage_capacity__change, | |
[rm_storage_capacity], []) | |
rm_budget_constraint.change( | |
app.rm_budget_constraint__change, | |
[rm_budget_constraint], []) | |
rm_btn.click( | |
app.rm_btn__click, | |
[], | |
[rm_recom_df, | |
rm_total_capacity_usage_md, | |
rm_total_budget_usage_md, | |
rm_plot]) | |
# ================ # | |
# WIP Optimization # | |
# ================ # | |
with gr.TabItem('WIP Optimization', id=1): | |
with gr.Row(): | |
with gr.Column(): | |
# Inventory Optimization # | |
wip_md = gr.Markdown(**gr_args.wip_md) | |
with gr.Row(): | |
# [ Load Demo Dataset ] # | |
wip_demo_data_btn = gr.Button( | |
**gr_args.wip_demo_data_btn) | |
wip_file = gr.File(**gr_args.wip_file) | |
# [Inventory Optimization Input] # | |
wip_input_df = gr.Dataframe(**gr_args.wip_input_df) | |
with gr.Row(): | |
# [FG Storage Capacity] # | |
wip_storage_capacity = gr.Number( | |
**gr_args.wip_storage_capacity) | |
# [FG Budget] # | |
wip_budget_constraint = gr.Number( | |
**gr_args.wip_budget_constraint) | |
# [Optimize Raw Material Inventory] # | |
wip_btn = gr.Button(**gr_args.wip_btn) | |
gr.Markdown('# WIP Inventory Recommendations') | |
with gr.Row(): | |
wip_total_capacity_usage_md = gr.Markdown() | |
wip_total_budget_usage_md = gr.Markdown() | |
wip_recom_df = gr.Dataframe() | |
wip_plot = gr.Plot() | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
# WIP Event Listeners # | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
wip_demo_data_btn.click( | |
app.wip_demo_data_btn__click, | |
[], [wip_input_df, wip_storage_capacity, wip_budget_constraint]) | |
wip_file.upload( | |
app.wip_file__upload, | |
[wip_file], [wip_input_df]) | |
wip_storage_capacity.change( | |
app.wip_storage_capacity__change, | |
[wip_storage_capacity], []) | |
wip_budget_constraint.change( | |
app.wip_budget_constraint__change, | |
[wip_budget_constraint], []) | |
wip_btn.click( | |
app.wip_btn__click, | |
[], | |
[wip_recom_df, | |
wip_total_capacity_usage_md, | |
wip_total_budget_usage_md, | |
wip_plot]) | |
# ============================ # | |
# Finishend Goods Optimization # | |
# ============================ # | |
with gr.TabItem('FG Optimization', id=2): | |
with gr.Row(): | |
with gr.Column(): | |
# Inventory Optimization # | |
inventory_md = gr.Markdown(**gr_args.inventory_md) | |
with gr.Row(): | |
# [ Load Demo Dataset ] # | |
demo_data_btn = gr.Button(**gr_args.demo_data_btn) | |
inventory_file = gr.File(**gr_args.inventory_file) | |
# [Inventory Optimization Input] # | |
inventory_input_df = gr.Dataframe(**gr_args.inventory_input_df) | |
with gr.Row(): | |
# [FG Storage Capacity] # | |
inventory_storage_capacity = gr.Number( | |
**gr_args.inventory_storage_capacity) | |
# [FG Budget] # | |
inventory_budget_constraint = gr.Number( | |
**gr_args.inventory_budget_constraint) | |
# [Optimize Inventory] # | |
inventory_btn = gr.Button(**gr_args.inventory_btn) | |
gr.Markdown('# Inventory Recommendations') | |
with gr.Row(): | |
inv_total_profit_md = gr.Markdown() | |
inv_total_capacity_usage_md = gr.Markdown() | |
inv_total_budget_usage_md = gr.Markdown() | |
inv_total_margin_md = gr.Markdown() | |
inv_recom_df = gr.Dataframe() | |
inv_plot = gr.Plot() | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
# FG Optimization Event Listeners # | |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | |
demo_data_btn.click( | |
app.demo_data_btn__click, | |
[], [inventory_input_df, inventory_storage_capacity, inventory_budget_constraint]) | |
inventory_file.upload( | |
app.inventory_file__upload, | |
[inventory_file], [inventory_input_df]) | |
inventory_storage_capacity.change( | |
app.inventory_storage_capacity__change, | |
[inventory_storage_capacity], []) | |
inventory_budget_constraint.change( | |
app.inventory_budget_constraint__change, | |
[inventory_budget_constraint], []) | |
inventory_btn.click( | |
app.inventory_btn__click, | |
[], | |
[inv_recom_df, | |
inv_total_profit_md, | |
inv_total_capacity_usage_md, | |
inv_total_budget_usage_md, | |
inv_total_margin_md, | |
inv_plot]) | |
demo.launch() | |