Skip to content
This repository has been archived by the owner on May 27, 2020. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
 requires Python 2.7 or greater (but not Python 3), with
gtfs, numpy, and matplotlib installed.

It may be possible to install these dependencies with:
easy_install numpy matplotlib pytz 'python-dateutil<2.0'

matplotlib appears to require special handling and may not install
cleanly with easy_install; follow the matplotlib documentation for
your platform.

The gtfs library should be installed from:
(this is a fork of the version available on PyPI)

To apply to a GTFS feed, you will need to know the stop ID for
the target stop, as well as the route IDs for the routes serving that
station that you want to examine.

The Google GTFS Schedule Viewer
may be useful in finding stop and route IDs, or you can manually
examine the feed to get the necessary information.

The gtfs library uses a pre-compiled SQLite database to store the
feed.  To generate this database, install gtfs as described above, and

$ compile_gtfs -o <output file> <path to feed>

The GTFS feed can be a Zip file or directory.

This process will take an extended period of time (30 minutes is not
unreasonable for a GTFS feed from a large agency), but it speeds the
process of generating plots considerably, because the database can be
re-used for successive invocations of

After compiling the database, create a configuration file (see
the 'samples' directory for sample configuration files, and config.rst
for documentation).
Then, run

$ python2.7 agency.cfg <gtfs db>

If the GTFS database is not given in the configuration file (as the
gtfs_db parameter in the 'config' stanza), then it must be passed as
the second argument to

Note that each route staza in the configuration file can optionally
contain its own target_date; this may be useful for generating plots
for weekday and weekend service in the same run.


Generate plots of service levels from GTFS feeds







No releases published


No packages published