Skip to main content

General Transit Feed Specification (GTFS) as a Django app

Project description

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.

Status

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 https://transitfeeds.com, 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 http://0.0.0.0:8000/
    web_1  | Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
    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.

Development

Code:

https://github.com/tulsawebdevs/django-multi-gtfs

Issues:

https://github.com/tulsawebdevs/django-multi-gtfs/issues

Dev Docs:

http://multigtfs.readthedocs.io/

IRC:

irc://irc.freenode.net/tulsawebdevs

Changelog

1.1.2 (2018-08-26)

  • Add support for Django 2.0 and 2.1

  • Handle latitude and longitudes with initial + sign. (issue #70).

  • Use .iterator() to save memory during export (PR #80)

  • Fix validation error in admin for Frequency.exact_times

1.1.1 (2017-08-02)

1.1.0 (2017-07-09)

  • Add support for Django 1.10 and 1.11

  • Drop support for Django 1.7 and earlier, and for South migrations. If you are using these, upgrade to 1.0.0 first, migrate your codebase to Django 1.8 and Django migrations, then update to 1.1.0.

  • Move Python 2 / Python 3 and other compatibilty code to multigtfs/compat.py. Exclude this file from the make qa coverage report, unless the COVERAGE_COMPAT environment variable is set. Because the cross-environment code is now in this file, many lines will be uncovered in a particular environment, while other files should be 100% covered. This file is tested in the supported environments in TravisCI, and a combined coverage report is generated in Coveralls, where compat.py should be 100% covered.

  • Add a dockerized environment for the explore example app, and run it under Django 1.11.

  • Whitespace-only values in import files are treated as empty values (PR #56)

1.0.0 (2016-03-29)

  • The project has been production-ready for a while. Updating the version number and the PyPI classifiers to reflect that.

  • Add support for Django 1.7 through 1.9, and a compatibility layer to handle future versions.

  • Add support for transitioning from South to Django migrations.

Older changes can be found in the full documention.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multigtfs-1.1.2.tar.gz (105.4 kB view details)

Uploaded Source

Built Distribution

multigtfs-1.1.2-py2.py3-none-any.whl (88.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file multigtfs-1.1.2.tar.gz.

File metadata

  • Download URL: multigtfs-1.1.2.tar.gz
  • Upload date:
  • Size: 105.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.10

File hashes

Hashes for multigtfs-1.1.2.tar.gz
Algorithm Hash digest
SHA256 2fbef1cf4c0a2cc30d81a554e7f8e26376e7e343dadf5f321aebdd46bcb20626
MD5 605ed42e280e5c8f777821ac6c0d4f7c
BLAKE2b-256 3637866bc755e81ca2dfa77d9ad63c791b20948211e02f6aed218664ee430984

See more details on using hashes here.

File details

Details for the file multigtfs-1.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: multigtfs-1.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.10

File hashes

Hashes for multigtfs-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b3a45e88d605134b581dd5aa8db4b518e511ea92919fb513ca7343e70a8e7704
MD5 cd35d13a36aea440483b940413204dc4
BLAKE2b-256 efa7818716ef46f1aa787a8bf9c485560e4d70951ab3c35700e6f68cede48ad1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page