Basic test poc app
To upload files, please first save the app
import streamlit as st
import pandas as pd
import numpy as np
st.title("Basic Test POC App")
st.write("Welcome to this basic proof of concept application!")
# Sample data generation
@st.cache_data
def generate_sample_data():
np.random.seed(42)
data = {
'Name': [f'User {i}' for i in range(1, 11)],
'Age': np.random.randint(20, 60, 10),
'Score': np.random.randint(50, 100, 10),
'Department': np.random.choice(['Engineering', 'Marketing', 'Sales', 'HR'], 10)
}
return pd.DataFrame(data)
# Sidebar controls
st.sidebar.header("Controls")
show_data = st.sidebar.checkbox("Show Data Table", value=True)
show_chart = st.sidebar.checkbox("Show Chart", value=True)
filter_dept = st.sidebar.selectbox("Filter by Department",
options=['All'] + ['Engineering', 'Marketing', 'Sales', 'HR'])
# Generate and display data
df = generate_sample_data()
# Apply filter if selected
if filter_dept != 'All':
filtered_df = df[df['Department'] == filter_dept]
else:
filtered_df = df
# Display metrics
col1, col2, col3 = st.columns(3)
with col1:
st.metric("Total Users", len(filtered_df))
with col2:
st.metric("Average Age", f"{filtered_df['Age'].mean():.1f}")
with col3:
st.metric("Average Score", f"{filtered_df['Score'].mean():.1f}")
# Show data table
if show_data:
st.subheader("Data Table")
st.table(filtered_df)
# Show chart
if show_chart:
st.subheader("Score Distribution by Department")
chart_data = filtered_df.groupby('Department')['Score'].mean()
st.bar_chart(chart_data)
# Interactive input
st.subheader("Add New Entry")
with st.form("new_entry"):
name = st.text_input("Name")
age = st.number_input("Age", min_value=18, max_value=100, value=25)
score = st.number_input("Score", min_value=0, max_value=100, value=75)
dept = st.selectbox("Department", ['Engineering', 'Marketing', 'Sales', 'HR'])
if st.form_submit_button("Add Entry"):
st.success(f"Added: {name}, Age: {age}, Score: {score}, Department: {dept}")
st.write("This is a basic proof of concept demonstrating Streamlit capabilities including data display, charts, and user interaction.")
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?