prithvi123 commited on
Commit
8447806
·
verified ·
1 Parent(s): 9b52030

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +38 -40
src/streamlit_app.py CHANGED
@@ -1,42 +1,40 @@
1
- import streamlit as st
 
2
  import pandas as pd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
- # Page config
5
- st.set_page_config(page_title="Business Expense Tracker", layout="centered")
6
-
7
- st.title("💰 Small Business Expense Tracker")
8
-
9
- # Initialize session state for storing data
10
- if "records" not in st.session_state:
11
- st.session_state.records = []
12
-
13
- # Input section
14
- st.subheader("Enter Daily Record")
15
- date = st.date_input("Date")
16
- sales = st.number_input("Sales (₹)", min_value=0.0, step=100.0)
17
- expenses = st.number_input("Expenses (₹)", min_value=0.0, step=100.0)
18
-
19
- if st.button("Add Record"):
20
- profit = sales - expenses
21
- st.session_state.records.append({"Date": date, "Sales": sales, "Expenses": expenses, "Profit": profit})
22
- st.success(f"Record added: Profit = ₹{profit:.2f}")
23
-
24
- # Display table if records exist
25
- if st.session_state.records:
26
- df = pd.DataFrame(st.session_state.records)
27
-
28
- st.subheader("📊 Expense Records")
29
- st.dataframe(df, use_container_width=True)
30
-
31
- # Summary
32
- st.subheader("📈 Summary")
33
- total_sales = df["Sales"].sum()
34
- total_expenses = df["Expenses"].sum()
35
- total_profit = df["Profit"].sum()
36
-
37
- st.write(f"*Total Sales:* ₹{total_sales:.2f}")
38
- st.write(f"*Total Expenses:* ₹{total_expenses:.2f}")
39
- st.write(f"*Total Profit:* ₹{total_profit:.2f}")
40
-
41
- # Chart
42
- st.line_chart(df.set_index("Date")[["Sales", "Expenses", "Profit"]])
 
1
+ import altair as alt
2
+ import numpy as np
3
  import pandas as pd
4
+ import streamlit as st
5
+
6
+ """
7
+ # Welcome to Streamlit!
8
+
9
+ Edit `/streamlit_app.py` to customize this app to your heart's desire :heart:.
10
+ If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
11
+ forums](https://discuss.streamlit.io).
12
+
13
+ In the meantime, below is an example of what you can do with just a few lines of code:
14
+ """
15
+
16
+ num_points = st.slider("Number of points in spiral", 1, 10000, 1100)
17
+ num_turns = st.slider("Number of turns in spiral", 1, 300, 31)
18
+
19
+ indices = np.linspace(0, 1, num_points)
20
+ theta = 2 * np.pi * num_turns * indices
21
+ radius = indices
22
+
23
+ x = radius * np.cos(theta)
24
+ y = radius * np.sin(theta)
25
+
26
+ df = pd.DataFrame({
27
+ "x": x,
28
+ "y": y,
29
+ "idx": indices,
30
+ "rand": np.random.randn(num_points),
31
+ })
32
 
33
+ st.altair_chart(alt.Chart(df, height=700, width=700)
34
+ .mark_point(filled=True)
35
+ .encode(
36
+ x=alt.X("x", axis=None),
37
+ y=alt.Y("y", axis=None),
38
+ color=alt.Color("idx", legend=None, scale=alt.Scale()),
39
+ size=alt.Size("rand", legend=None, scale=alt.Scale(range=[1, 150])),
40
+ ))