For return journeys, replace the single combined date navigation row with two separate rows so outbound and return dates can be adjusted independently. For inbound underground options, show one service before the earliest catchable (as an "aim for this" option) rather than the next service after it, which often arrived too late to connect with the GWR train. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| config | ||
| data | ||
| scraper | ||
| static | ||
| templates | ||
| tests | ||
| .codex | ||
| .gitignore | ||
| app.py | ||
| cache.py | ||
| circle_line.md | ||
| circle_line.py | ||
| more_prices.md | ||
| prices.md | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| run.fcgi | ||
| tfl_fare.py | ||
| trip_planner.py | ||
Bristol Eurostar
Source: https://git.4angle.com/edward/bristol-eurostar
Plan a trip from Bristol Temple Meads to Europe via Eurostar.
Combines GWR trains (Bristol → Paddington) with Eurostar services (St Pancras → destination) and shows all valid same-day connections, including Circle Line times for the Paddington → St Pancras transfer. Displays GWR walk-on fares, Eurostar Standard prices, seat availability, and total journey cost.
Destinations
- Paris Gare du Nord
- Brussels Midi
- Lille Europe
- Amsterdam Centraal
- Rotterdam Centraal
- Cologne Hbf
How it works
Train times and prices are fetched from two sources:
- GWR — scraped from Realtime Trains using httpx
- Eurostar — fetched from the Eurostar GraphQL API (single call returns timetable, Standard fares, and seat availability)
The Paddington → St Pancras transfer uses a real Circle Line timetable parsed from a TfL TransXChange XML file, accounting for walk time to the platform at Paddington and walk time from the platform to the St Pancras check-in.
Results are cached to disk by date and destination.
Connection constraints
Configurable via the search form. Defaults:
| Minimum Paddington → St Pancras | 50 min |
| Maximum Paddington → St Pancras | 110 min |
Valid range: 45–120 min (min), 60–180 min (max).
GWR fares
Walk-on single fares for Bristol Temple Meads → Paddington, selected automatically by departure time:
| Ticket | Price | Restriction (weekdays) |
|---|---|---|
| Super Off-Peak | £45.00 | Not valid 05:05–09:57 |
| Off-Peak | £63.60 | Not valid before 08:26 |
| Anytime | £138.70 | No restriction |
Weekends always use Super Off-Peak.
Setup
pip install -e ".[dev]"
Configuration
Copy or create config/local.py (gitignored) to override defaults:
CACHE_DIR = '/var/cache/bristol-eurostar'
CIRCLE_LINE_XML = '/path/to/output_txc_01CIR_.xml'
Defaults (in config/default.py) use ~/lib/data/tfl/.
The Circle Line XML is a TfL TransXChange timetable file. The Paddington (H&C Line) stop is 9400ZZLUPAH1; the King's Cross St Pancras stop is 9400ZZLUKSX3.
Running
flask --app app run
Then open http://localhost:5000.
Tests
pytest
License
MIT