Calendar
To upload files, please first save the app
import streamlit as st
import pandas as pd
from datetime import datetime, timedelta
st.title("Interactive Calendar")
# Initialize the calendar data in session state if not exists
if 'calendar_data' not in st.session_state:
st.session_state.calendar_data = pd.DataFrame(
columns=['Date', 'Event', 'Description']
)
# Date selection
selected_date = st.date_input("Select a date", datetime.now())
# Event input
event_name = st.text_input("Event name")
event_description = st.text_area("Event description")
# Add event button
if st.button("Add Event"):
new_event = pd.DataFrame({
'Date': [selected_date],
'Event': [event_name],
'Description': [event_description]
})
st.session_state.calendar_data = pd.concat([st.session_state.calendar_data, new_event], ignore_index=True)
st.success("Event added successfully!")
# Display calendar
st.subheader("Calendar Events")
# Filter events for the selected date
daily_events = st.session_state.calendar_data[
st.session_state.calendar_data['Date'] == selected_date
]
if not daily_events.empty:
st.write("Events for", selected_date.strftime("%B %d, %Y"))
for _, event in daily_events.iterrows():
with st.expander(event['Event']):
st.write(event['Description'])
else:
st.info("No events scheduled for this date.")
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?