File size: 1,988 Bytes
e64ceb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import gradio as gr
import pandas as pd

def calculate_capital_gearing(debentures, long_term_loans, preference_share_capital,
                              equity_share_capital, reserves_surplus):

    # Totals
    fixed_interest_funds = debentures + long_term_loans + preference_share_capital
    equity_shareholders_funds = equity_share_capital + reserves_surplus

    # Table Data
    data = {
        "Category": [
            "Debentures",
            "Long-term Loans",
            "Preference Share Capital",
            "Equity Share Capital",
            "Reserves & Surplus"
        ],
        "Amount": [
            debentures,
            long_term_loans,
            preference_share_capital,
            equity_share_capital,
            reserves_surplus
        ]
    }

    df = pd.DataFrame(data)

    summary = f"""
### Capital Gearing Ratio – Summary

**Total Fixed Interest Bearing Funds:** {fixed_interest_funds:,.2f}  
**Total Equity Shareholders’ Funds:** {equity_shareholders_funds:,.2f}
"""

    return summary, df


with gr.Blocks() as demo:
    gr.Markdown("# Capital Gearing Ratio Calculator")

    gr.Markdown("## Fixed Interest Bearing Funds")
    debentures = gr.Number(label="Debentures", value=0)
    long_term_loans = gr.Number(label="Long-term Loans", value=0)
    preference_share_capital = gr.Number(label="Preference Share Capital", value=0)

    gr.Markdown("## Equity Shareholders’ Funds")
    equity_share_capital = gr.Number(label="Equity Share Capital", value=0)
    reserves_surplus = gr.Number(label="Reserves & Surplus", value=0)

    btn = gr.Button("Calculate")

    summary_output = gr.Markdown()
    table_output = gr.Dataframe()

    btn.click(
        calculate_capital_gearing,
        inputs=[
            debentures,
            long_term_loans,
            preference_share_capital,
            equity_share_capital,
            reserves_surplus
        ],
        outputs=[summary_output, table_output]
    )

demo.launch()