A lightweight Streamlit app for creating calendar events and exporting them to ICS format for Google Calendar.
- DateTime Form: Add events with start/end datetime, recurrence pattern, and description
- Paginated Table: View all entries with pagination controls
- ICS Export: Download
.icsfile compatible with Google Calendar and other calendar apps - Recurrence Support: Daily, Weekly, Monthly, and Annually repeating events
- Python 3.10+
- uv package manager
# Clone the repository
git clone <repo-url>
cd swateek-calendar-entry
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
# Install dependencies
uv syncuv run streamlit run app.pyThe app will open at http://localhost:8501
- Fill in the From date and time
- Fill in the To date and time
- Select a Repeats pattern (NONE, DAILY, WEEKLY, MONTHLY, ANNUALLY)
- Enter a Description
- Click Add Event
- Add one or more events
- Click 📥 Export to ICS
- Import the downloaded
events.icsfile into Google Calendar:- Open Google Calendar → Settings → Import & Export → Import
swateek-calendar-entry/
├── app.py # Main Streamlit application
├── pyproject.toml # Project dependencies (uv)
├── uv.lock # Lock file
├── docs/
│ ├── screenshot.png # App screenshot
│ └── demo.webp # Demo recording
└── README.md
MIT

