import gradio as gr import pandas as pd def current_ratio_calculator( cash, marketable_securities, accounts_receivable, inventory, prepaid_expenses, accounts_payable, short_term_debt, accrued_liabilities, unearned_revenue, current_portion_ltd ): # Totals total_current_assets = ( cash + marketable_securities + accounts_receivable + inventory + prepaid_expenses ) total_current_liabilities = ( accounts_payable + short_term_debt + accrued_liabilities + unearned_revenue + current_portion_ltd ) # Metrics working_capital = total_current_assets - total_current_liabilities current_ratio = ( total_current_assets / total_current_liabilities if total_current_liabilities != 0 else float("inf") ) # Table data data = pd.DataFrame({ "Component": [ "Cash & Cash Equivalents", "Marketable Securities", "Accounts Receivable", "Inventory", "Prepaid Expenses", "Accounts Payable", "Short-Term Debt/Loans", "Accrued Liabilities/Expenses", "Unearned Revenue", "Current Portion of Long-Term Debt", "Total Current Assets", "Total Current Liabilities", ], "Amount": [ cash, marketable_securities, accounts_receivable, inventory, prepaid_expenses, accounts_payable, short_term_debt, accrued_liabilities, unearned_revenue, current_portion_ltd, total_current_assets, total_current_liabilities, ], }) summary = f""" ### 📊 Current Ratio Analysis - **Working Capital:** ₹ {working_capital:,.2f} - **Current Ratio:** {current_ratio:.2f} """ return summary, data with gr.Blocks() as demo: gr.Markdown("## CURRENT RATIO Calculator") with gr.Row(): with gr.Column(): gr.Markdown("### Current Assets") cash = gr.Number(label="Cash & Cash Equivalents", value=0) marketable_securities = gr.Number(label="Marketable Securities", value=0) accounts_receivable = gr.Number(label="Accounts Receivable", value=0) inventory = gr.Number(label="Inventory", value=0) prepaid_expenses = gr.Number(label="Prepaid Expenses", value=0) with gr.Column(): gr.Markdown("### Current Liabilities") accounts_payable = gr.Number(label="Accounts Payable", value=0) short_term_debt = gr.Number(label="Short-Term Debt / Loans", value=0) accrued_liabilities = gr.Number(label="Accrued Liabilities / Expenses", value=0) unearned_revenue = gr.Number(label="Unearned Revenue", value=0) current_portion_ltd = gr.Number(label="Current Portion of Long-Term Debt", value=0) btn = gr.Button("Calculate") summary_output = gr.Markdown() table_output = gr.Dataframe() btn.click( current_ratio_calculator, inputs=[ cash, marketable_securities, accounts_receivable, inventory, prepaid_expenses, accounts_payable, short_term_debt, accrued_liabilities, unearned_revenue, current_portion_ltd, ], outputs=[summary_output, table_output], ) demo.launch()