RSS feed generator and server for Oklahoma Mesonet Ticker.
Clone the repository and set up the project:
just setupRun the application with built-in web server:
just runThis starts:
- Background RSS scraper that updates every hour
- Web server on
http://0.0.0.0:5000serving the RSS feed
/- Main page with feed information/rss- RSS feed (XML format)/status- JSON status endpoint/download- Download RSS file
FLASK_HOST=127.0.0.1 FLASK_PORT=8080 just runTICKER_DAYS- Number of days to scrape (default: 30)RSS_FOLDER- Output folder for the RSS file (default: "./")FLASK_HOST- Web server host (default: "0.0.0.0")FLASK_PORT- Web server port (default: 5000)DISABLE_FLASK- Set to "true" to run scraper-only modeWAITRESS_THREADS- Number of worker threads (default: 4)WAITRESS_CONNECTION_LIMIT- Maximum simultaneous connections (default: 1000)WAITRESS_CLEANUP_INTERVAL- Connection cleanup interval in seconds (default: 30)WAITRESS_CHANNEL_TIMEOUT- Channel timeout in seconds (default: 120)
build-push-container TAG # Build and push container
clean # Clean up generated files
quick-test # Quick test to verify dependencies are working
run # Run the web server (scraper + Flask server)
setup # Install dependencies and set up the project with uv
test # Test the web server (runs for a short time with limited days)
Build and run with Docker:
docker build -t ticker-rss .
docker run -p 5000:5000 ticker-rssThe project uses uv for dependency management. Dependencies are defined in pyproject.toml and locked in uv.lock.
To add development dependencies:
uv add --dev package-name