Django app to import and export General Transit Feed Specification (GTFS)
Python Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Add MRCagney's GTFS Explorer to users Jul 9, 2017
examples/explore Rename to feeds/import and feeds/export Jul 9, 2017
feeds Rename to feeds/import and feeds/export Jul 9, 2017
multigtfs Use .iterator() to save RAM during export Mar 1, 2018
.coveragerc Adjust `make coverage` for Django 1.7 Aug 24, 2015
.dockerignore Ignore pyenv .python-version file Sep 25, 2017
.gitignore Ignore pyenv .python-version file Sep 25, 2017
.travis.yml Manually install Postgres / gis Sep 25, 2017
AUTHORS.rst Add jclgoodwin to AUTHORS Aug 2, 2017
CHANGELOG.rst Fix issue #70: Latitude / Longitude with leading + Aug 26, 2017
CONTRIBUTORS.rst Further cleanup from Django 1.10 support updates Jul 24, 2016
COPYING.txt Prepare for pypi upload Nov 9, 2012
Dockerfile Fix docker build Aug 27, 2017 Update, sort Jul 9, 2017
Makefile Prepare release 1.1.1 Aug 2, 2017
README.rst Django 2.0 was released Feb 26, 2018
docker-compose.yml Add dockerized version of explore app Jul 9, 2017 Make run cleanly Aug 2, 2017 Update QA tools, add twine Jul 9, 2017
requirements.txt Bump requirements Mar 2, 2016 Fix and reduce test matrix Jul 9, 2017
setup.cfg check-manifest: Ignore compiled Python files Jul 12, 2014 Prepare release 1.1.1 Aug 2, 2017 Add postgis testing (w/ failing tests) Apr 2, 2014 Try running tests through tox Jun 17, 2014
tox.ini Django 2.0 was released Feb 26, 2018


multigtfs: GTFS as a Django app

The PyPI package TravisCI Build Status Coveralls Test Coverage

multigtfs is an Apache 2.0-licensed Django app that supports importing and exporting of GTFS feeds. All features of the June 20, 2012 reference are supported, including all changes up to February 17, 2014. It allows multiple feeds to be stored in the database at once.

It requires a spatial databases compatible with GeoDjango. PostgreSQL 9.x and PostGIS 2.x are recommended for development and production, since these support all the GeoDjango features.


multigtfs is ready for your GTFS project.

Point releases (such as 1.0.0 to 1.0.1) should be safe, only adding features or fixing bugs. Minor updates (1.0.1 to 1.1.0) may include significant changes that will break relying code. In the worst case scenario, you may need to export your GTFS feeds in the original version, update multigtfs and your code, and re-import.

multigtfs works with Django 1.8 (the long-term support, or LTS, release) through 1.11 (the next LTS release), and 2.0. Support will follow the Django supported releases, as well as the Python versions supported by those releases.

All valid GTFS feeds are supported for import and export. This includes feeds with extra columns not yet included in the GTFS spec, and feeds that omit calendar.txt in favor of calendar_dates.txt (such as the TriMet archive feeds). If you find a feed that doesn't work, file a bug!

See the issues list for more details on bugs and feature requests.

Example project

Check out the example project.

If you have Docker installed and working, you can run the example project without installing a database.

  1. Add one or more feeds to import to the folder feeds/import. You can find a feed for download at, such as Tulsa Transit's Feed.

  2. Initialize the containers with docker-compose up. After a few minutes, it will display:

    web_1  | Django version 1.8.18, using settings 'exploreproj.settings'
    web_1  | Development server is running at
    web_1  | Using the Werkzeug debugger (
    web_1  | Quit the server with CONTROL-C.
    web_1  |  * Debugger is active!
    web_1  |  * Debugger PIN: XXX-XXX-XXX
  3. Visit http://localhost:8000 to view the example project.

See the example project for more details.


Dev Docs: