My go-to tool for transit travel time calculations has been Melinda Morang’s Add GTFS to a Network Dataset (AGtND) software. It’s an add-in for ArcGIS that allows you to run standard network analyses for transit systems, using any publicly available GTFS feeds and assuming you can generate a reasonable pedestrian network to facilitate boardings and alightings.
I wanted to do some validation of the results I’ve been getting out of Arc by comparing AGtND to estimated travel times from Google Maps. In principle they should be the same. My instinct was to use Python to query one of the Maps APIs, but I’m not quite as bilingual as I’d like, so I did the same in R.