Skip to content

Hadrien-Cornier/Culture-Calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

231 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ Culture Calendar

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.

๐ŸŒŸ Features

๐Ÿค– Smart Event Processing

  • 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

๐ŸŒ Modern Web Interface

  • 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

โšก Automated Updates

  • 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

๐Ÿš€ Quick Start

๐ŸŒ Use the Live Website

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

๐Ÿ”ง Setup Your Own Instance

  1. Fork & Clone

    git clone https://github.com/your-username/Culture-Calendar.git
    cd Culture-Calendar
  2. Install Dependencies

    pip install -r requirements.txt
  3. Configure Environment

    cp .env.example .env
    # Edit .env and add:
    # PERPLEXITY_API_KEY=your_key_here
  4. Customize Preferences Edit preferences.txt with your favorite directors, genres, and keywords. For book club events, you can also add classic authors in literature_preferences.txt.

  5. 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_KEY to repository secrets

๐ŸŽฏ Usage

๐ŸŒ Web Interface

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

๐Ÿ”ง Manual Local Run

# Activate virtual environment
source venv/bin/activate

# Generate calendar data
python main.py

# Update website data  
python update_website_data.py

๐Ÿ“… Import to Google Calendar

  1. Download .ics file from website or use pre-filtered versions
  2. Open Google Calendar
  3. Click "+" next to "Other calendars" โ†’ Import
  4. Upload the .ics file

โšก Automated Updates

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

๐Ÿ“ Project Structure

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

๐ŸŽฏ Rating System

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

๐Ÿ“Š Rating Categories

  • ๐ŸŸข 9-10: Timeless classics and masterpieces
  • ๐ŸŸก 7-8: Strong recommendations with notable merit
  • โšช 5-6: Average quality
  • โšซ 1-4: Lower priority or niche appeal

๐ŸŽฌ Sample Analysis

โญ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

๐Ÿ”ง Troubleshooting

Common Issues

  • 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_KEY is added to repository secrets
  • Missing events: AFS website structure may have changed (check scraper.py)

GitHub Actions Issues

  • 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

Debug Mode

# Test locally with debug output
source venv/bin/activate  
python main.py --debug

๐Ÿ—บ๏ธ Roadmap

๐Ÿ“‹ Completed Features โœ…

  • โœ… 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

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ“š 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

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐ŸŽฌ Film Venues:

๐ŸŽผ Music Venues:

๐Ÿ“š Literary Venues:

๐Ÿค– 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

About

Austin cultural events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors