Render transparent run-stat overlays from local .fit and .gpx activity files.
python -m pip install -e .Default interactive flow:
python plot_gpx.pyConsole entrypoint:
runstats --autoMachine-facing automation entrypoint:
runstats-automation --input C:\RunStatsAutomation\processing\22321337482_ACTIVITY.fitDirect Telegram bot runner:
runstats-telegram-bot --chat-id 535004713 --workspace C:\RunStatsAutomationDirect Telegram bot runner with immediate FIT processing:
runstats-telegram-bot --chat-id 535004713 --workspace C:\RunStatsAutomation --template glass_slab --auto-process-uploadsRender the Instagram Story overlay directly:
python plot_gpx.py --input 21760678383_ACTIVITY.fit --template story_overlay --output story_overlay.pngRender the alternate card layout:
python plot_gpx.py --input activity.gpx --template clean_card --output clean_card.pngRender the Stitch-inspired Instagram Story layout:
python plot_gpx.py --input 21654870128_ACTIVITY.fit --template neon_data_story --output neon_data_story.pngIf timing data is missing and you still want the route art:
python plot_gpx.py --input activity.gpx --route-only --output route_only.pngstory_overlay: transparent 1080x1920 Instagram Story-style overlayclean_card: alternate square card layoutneon_data_story: Stitch-inspired 1080x1920 Instagram Story overlay
--mode solid|gradient|auto--title "MORNING RUN"--no-title--auto--search-dir .
For the direct bot workflow without n8n, use:
For the earlier n8n-based approach, keep using: