An automated system that transforms Austin cultural events into a curated, intelligent calendar experience. Features AI-powered analysis for films, classical music, and book clubs, with personalized ratings and a beautiful web interface covering 7 major Austin cultural venues.
- 7-Venue Integration: Comprehensive coverage across film, music, and literary venues
- AI-Powered Analysis: French cinรฉaste film reviews, distinguished music criticism, and sophisticated literary analysis
- Multi-Format Support: Movies, concerts, chamber music, and book club discussions
- Dynamic Web Scraping: Real-time data extraction with intelligent fallbacks
- Personal Preference Scoring: Customizable ratings based on your cultural taste
- Special Event Detection: Q&As, 35mm prints, special screenings, and exclusive performances
- Work Hours Filtering: Automatically excludes 9am-6pm weekday events
- GitHub Pages Website: Beautiful, responsive single-page application
- 7-Venue Coverage: Film, music, and book club events with distinctive venue tags
- Dual View Modes: Toggle between list and calendar views
- Event Aggregation: Multiple showtimes/dates grouped under single event cards
- Rich Event Cards: Duration, director/author, country, year, language, and venue badges
- Interactive Calendar: Visual month view with color-coded ratings and venue indicators
- Advanced Filtering: Filter by venue, country, rating, and special events
- ICS Downloads: Generate calendar files on demand
- Download ICS: Rating-filtered calendar files created when you click download
- Mobile Responsive: Works perfectly on all devices
- Weekly Refresh: Every Saturday evening (upcoming month)
- Monthly Refresh: 1st of each month (complete coverage)
- GitHub Actions: Fully automated via CI/CD
- No Maintenance Required: Set it and forget it
Visit hadrien-cornier.github.io/Culture-Calendar to:
- Browse 117+ cultural events across 7 Austin venues
- Filter by venue, rating, country with real-time updates
- Switch between list and calendar views
- Download custom .ics calendar files generated when you click "Download"
- Read AI-powered cultural analysis for films, concerts, and books
- Export events to your calendar via on-the-fly ICS download
Current Venues:
๐ฌ Film: Austin Film Society, Hyperreal Film Club
๐ผ Music: Paramount Theater, Austin Symphony, Early Music Austin, La Follia
๐ Books: Alienated Majesty Books, First Light Austin
-
Fork & Clone
git clone https://github.com/your-username/Culture-Calendar.git cd Culture-Calendar -
Install Dependencies
pip install -r requirements.txt
-
Configure Environment
cp .env.example .env # Edit .env and add: # PERPLEXITY_API_KEY=your_key_here
-
Customize Preferences Edit
preferences.txtwith your favorite directors, genres, and keywords. For book club events, you can also add classic authors inliterature_preferences.txt. -
Enable GitHub Pages & Actions
- Go to repository Settings > Pages
- Set source to "main branch /docs folder"
- Go to Settings > Actions > General
- Enable "Read and write permissions"
- Add
PERPLEXITY_API_KEYto repository secrets
The GitHub Pages website provides the easiest way to use Culture Calendar:
- ๐ List View: Browse movies sorted by rating with expandable reviews
- ๐ Calendar View: Visual monthly calendar with color-coded events
- ๐๏ธ Rating Filter: Adjust slider to filter movies by minimum rating
- โฌ๏ธ Download: Generate custom .ics files for Google Calendar
# Activate virtual environment
source venv/bin/activate
# Generate calendar data
python main.py
# Update website data
python update_website_data.py- Download .ics file from website or use pre-filtered versions
- Open Google Calendar
- Click "+" next to "Other calendars" โ Import
- Upload the .ics file
Once set up, the system runs automatically:
- Weekly: Saturdays at 9 PM UTC (fresh data)
- Monthly: 1st of month at 6 AM UTC (full refresh)
- Manual: Trigger workflows anytime via GitHub Actions
Culture-Calendar/
โโโ ๐ Website Files
โ โโโ docs/
โ โโโ index.html # Main website
โ โโโ style.css # Responsive design
โ โโโ script.js # Interactive features
โ โโโ data.json # Movie data (auto-generated)
โ
โโโ ๐ค Automation
โ โโโ .github/workflows/
โ โ โโโ update-calendar.yml # Weekly updates
โ โ โโโ monthly-calendar-update.yml # Monthly updates
โ โโโ update_website_data.py # Website data generator
โ โโโ main.py # CLI calendar generator
โ
โโโ ๐ง Core Logic
โ โโโ src/
โ โโโ scraper.py # 7-venue web scraping with intelligent fallbacks
โ โโโ processor.py # AI analysis for films, concerts, and book clubs
โ โโโ calendar_generator.py # ICS file creation
โ
โโโ โ๏ธ Configuration
โโโ preferences.txt # Personal taste preferences
โโโ literature_preferences.txt # Classic literature interests
โโโ requirements.txt # Python dependencies
โโโ .env.example # Environment template
โโโ CLAUDE.md # AI assistant instructions
All cultural events are intelligently rated on a 1-10 scale using:
- ๐ค AI Analysis:
- Films: French cinรฉaste-style critiques focusing on artistic merit
- Music: Distinguished classical music criticism and performance analysis
- Books: Sophisticated literary criticism and discussion value assessment
- โค๏ธ Personal Preferences: +2 points per matching director/author/genre/keyword
- โจ Special Events: +3 points for Q&As, special screenings, exclusive performances
- ๐ฏ Smart Classification: Proper categorization by event type and venue
- โฐ Accessibility: Automatic filtering of work-hour events
- ๐ข 9-10: Timeless classics and masterpieces
- ๐ก 7-8: Strong recommendations with notable merit
- โช 5-6: Average quality
- โซ 1-4: Lower priority or niche appeal
โญ9/10 - NIGHT OF THE LIVING DEAD
Rating: 9/10 - Reflecting its artistic merit, cultural significance, and
intellectual depth, "Night of the Living Dead" is a seminal work that
rewards contemplation.
๐ฌ Synopsis: A study in fear, isolation, and the breakdown of societal
norms, following seven people trapped in a farmhouse besieged by
reanimated corpses.
๐ค Director: George A. Romero - pioneering filmmaker known for his
innovative approach to horror cinema and social commentary.
๐
Screenings:
โข Jun 18 โข 8:45 PM
โข Jun 23 โข 7:00 PM
- Website not loading: Check GitHub Pages is enabled in repository settings
- No calendar data: Verify GitHub Actions have repository write permissions
- API errors: Ensure
PERPLEXITY_API_KEYis added to repository secrets - Missing events: AFS website structure may have changed (check scraper.py)
- 403 Permission Error: Enable "Read and write permissions" in Settings > Actions
- Workflow not running: Check cron schedule and repository activity requirements
- API rate limiting: Built-in delays handle this automatically
# Test locally with debug output
source venv/bin/activate
python main.py --debug- โ Phase 1: Austin Film Society integration
- โ Phase 2: GitHub Pages website with calendar view
- โ Phase 2.1: Enhanced UI with movie aggregation and markdown rendering
- โ Phase 2.2: Multi-venue support with Hyperreal Film Club integration
- โ Phase 2.3: Austin Symphony Orchestra integration with full 2025-2026 season data
- โ
Phase 3: Complete 7-venue integration
- โ Paramount Theatre: Full web scraping and event processing
- โ Early Music Austin: Season-based classical music events
- โ La Follia Austin: Chamber music concerts with AI analysis
- โ Alienated Majesty Books: Dynamic book club scraping with fallbacks
- โ First Light Austin: Multiple book clubs with intelligent parsing
- ๐ Phase 4: Additional Austin venues
- Alamo Drafthouse: Classic Austin cinema experience
- Violet Crown Cinema: Independent and international films
- East Austin Movie Theater: Revived single-screen cinema
- The Long Center: Performing arts, including opera and ballet
- The VORTEX: Experimental theater and performance art
- Beerthoven Concert Series: Casual classical music events
- BookPeople: Author events and readings
- Austin Public Library: Author talks, readings, and workshops
- ๐ Phase 5: Direct Google Calendar API integration
- ๐จ Phase 6: Enhanced recommendations and discovery features
- ๐ฑ Phase 7: Mobile app or PWA version
- แแฅแก Phase 8: Experimental and niche venues
- The Museum of Human Achievement: Unconventional performances and art
- Fusebox Festival: Annual festival for innovative and genre-defying work
- dadaLab: Tech-art gallery and event space
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
๐ฌ Film Venues:
- Austin Film Society for providing amazing film programming
- Hyperreal Film Club for curated independent cinema
๐ผ Music Venues:
- Paramount Theatre for diverse cultural programming
- Austin Symphony Orchestra for world-class classical performances
- Texas Early Music Project for authentic historical performances
- La Follia Austin for intimate chamber music
๐ Literary Venues:
- Alienated Majesty Books for thoughtful book discussions
- First Light Austin for diverse literary programming
๐ค Technology:
- Perplexity AI for intelligent cultural analysis
- Built with โค๏ธ for Austin culture enthusiasts
Problems :
- not all scrapers work in parallel because of 'pyppeteer link extraction error: signal only works in main thread of the main interpreter'
- read review button crasher site
- ratings are not very customized and spread out enough