How aweirddev/flights works
fast-flights is a Python Google Flights scraper/API. The principal workflow builds a typed flight query, encodes it for Google Flights, fetches results through the default or an optional integration, and parses HTML/embedded JavaScript into structured itineraries. SearchApi is a separate data-source integration with richer result types. The SearchApi excerpt is partial, so its detailed request and dispatch wiring is not inferred.
Main entry points: fetcher.py get_flights · parser.py HTML/JS parser · bright_data.py Bright Data adapter · searchapi.py SearchApi adapter
Components 17
Query modeling
- Create query
fast_flights/querying.py - Query model
fast_flights/querying.py - Protobuf schema
fast_flights/pb/flights.proto - Protobuf classes
fast_flights/pb/flights_pb2.py
Search runtime
- get_flights
fast_flights/fetcher.py - Default fetch
fast_flights/fetcher.py - HTML/JS parser
fast_flights/parser.py
Integrations
- Integration interfaces
fast_flights/integrations/base.py - Bright Data adapter
fast_flights/integrations/bright_data.py - SearchApi adapter
fast_flights/integrations/searchapi.py
Result modeling
- Parsed itineraries
fast_flights/parser.py - Flight data models
fast_flights/model.py - Rich search results
fast_flights/integrations/searchapi.py
Other components
- Library caller
- Google Flights
- Bright Data service
- SearchApi service
Connections 19
- Library caller → Create query: specifies search
- Create query → Query model: builds query
- Query model → Protobuf classes: creates messages
- Protobuf classes → Protobuf schema: implements schema
- Library caller → get_flights: requests flights
- get_flights → Default fetch: fetches by default
- Default fetch → Google Flights: requests search page
- Default fetch → Query model: reads URL parameters
- Default fetch → HTML/JS parser: passes HTML
- HTML/JS parser → Flight data models: builds flight objects
- HTML/JS parser → Parsed itineraries: returns itineraries
- get_flights → Integration interfaces: dispatches integrations
- Bright Data adapter → Integration interfaces: implements fetch interface
- Bright Data adapter → Bright Data service: posts page request
- get_flights → Bright Data adapter: uses optional fetcher
- SearchApi adapter → Rich search results: maps rich response
- SearchApi adapter → SearchApi service: queries flight data
- get_flights → SearchApi adapter: uses optional data source
- get_flights → Rich search results: returns data-source result