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() | |