📅 A terminal and web-based calendar utility that integrates with ICS calendar feeds. Provides interactive calendar navigation, real-time updates, and cross-platform compatibility.
- 📋 Interactive terminal navigation with keyboard controls
- 🌐 Mobile-friendly web interface with multiple layouts
- 📱 E-paper display support with e-ink optimization
- ⚙️ Built-in setup wizard for quick configuration
- 🔄 Real-time data fetching from any ICS calendar feed
- 💾 Local caching with offline support
# Clone and setup
git clone <repository-url>
cd calendarBot
# Create virtual environment
python -m venv venv
. venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Interactive setup wizard
calendarbot --setup
# Interactive mode
calendarbot
# Web interface
calendarbot --web
# E-paper display
calendarbot --epaper
Supports any RFC 5545 compliant calendar system:
- Microsoft Outlook/Office 365
- Google Calendar
- Apple iCloud Calendar
- CalDAV servers (Nextcloud, Radicale, SOGo)
- Any direct ICS feed
- Installation Guide - Complete setup instructions
- Usage Guide - Operation modes and configuration
- Architecture Overview - System design and components
- Testing Guide - Development and testing workflow
- Python 3.9+
- Virtual environment recommended
# Activate environment
. venv/bin/activate
# Run tests
pytest
# System validation
calendarbot --test-mode
export CALENDARBOT_ICS_URL="https://example.com/calendar.ics"
export CALENDARBOT_ICS_AUTH_TYPE="none"
Create config.yaml
:
ics:
url: "https://calendar.example.com/calendar.ics"
auth_type: "none"
web:
enabled: true
port: 8080
theme: "4x8"
- 4x8: Standard desktop layout (480x800px)
- 3x4: Compact layout (300x400px)
- whats-next-view: Meeting countdown display
[Add your license here]
- Issues: Report bugs and feature requests via GitHub Issues
- Documentation: See
docs/
folder for detailed guides - Testing: Use
calendarbot --test-mode
for system validation