Skip to main content

Tests: pipeline status

GTFS Kit is a Python 3.10+ library for analyzing General Transit Feed Specification (GTFS) data in memory without a database. It uses Pandas and GeoPandas to do the heavy lifting. (Seems to work fine with Pandas 2 and Pandas 3.)

It can also combine multiple feeds into one via combine_feeds, which unions any number of feeds and deduplicates entities that recur across them, such as shared stops, jointly operated routes, and common shapes.

The functions/methods of GTFS Kit assume a valid GTFS feed but offer no inbuilt validation, because GTFS validation is complex and already solved by dedicated libraries. So unless you know what you’re doing, use the Canonical GTFS Validator before you analyze a feed with GTFS Kit.

Installation

Install it from PyPI with UV, say, via uv add gtfs_kit.

Examples

In the Marimo notebook notebooks/examples.py.

Authors

  • Alex Raichev (2019-09), maintainer

Documentation

The documentation is built via Sphinx from the source code in the docs directory then published to Codeberg Pages at araichev.codeberg.page/gtfs_kit_docs.

Notes

  • This project’s development status is Alpha. I use GTFS Kit at my job and change it breakingly to suit my needs.

  • This project uses semantic versioning.

  • I aim for GTFS Kit to handle the current GTFS. In particular, i avoid handling GTFS extensions. That is the most reasonable scope boundary i can draw at present, given this project’s tiny budget. If you would like to fund this project to expand its scope, please email me.

  • Thanks to MRCagney for periodically donating to this project.

  • Constructive feedback and contributions are welcome. Please issue pull requests from a feature branch into the develop branch and include tests.

  • GTFS time is measured relative to noon minus 12 hours, which can mess things up when crossing into daylight savings time. I don’t think this issue causes any bugs in GTFS Kit, but you and i have been warned. Thanks to user Github user derhuerst for bringing this to my attention in closed Issue 8.

  • With release 10.0.0, i removed the validation module validators.py to avoid duplicating the work of what is now the canonical feed validator (written in Java).

  • I might require Pandas 3 in the future to take advantage of its new features.

Maintainer Notes

  • After pushing to master, update the published docs via uv run make -C docs publish-docs

Download files

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

Source Distribution

gtfs_kit-12.3.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gtfs_kit-12.3.1-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

File details

Details for the file gtfs_kit-12.3.1.tar.gz.

File metadata

  • Download URL: gtfs_kit-12.3.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gtfs_kit-12.3.1.tar.gz
Algorithm Hash digest
SHA256 c8ee36e6f68efb96d573117a3da9f7f29669d9588d5c53efb33e30504bed0750
MD5 e4d9cb96b6111d6b45e883d60105ce9f
BLAKE2b-256 58615728c4d0cfa53efb8fe6ce7e6e47a156f212b4a5aff66dc10d4d7304d516

See more details on using hashes here.

File details

Details for the file gtfs_kit-12.3.1-py3-none-any.whl.

File metadata

  • Download URL: gtfs_kit-12.3.1-py3-none-any.whl
  • Upload date:
  • Size: 77.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gtfs_kit-12.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 136a5725a0997fd31c6ce1d9f924995722372eb28a3c495c17ff2ac9ee1cf18c
MD5 86465413c05baeba6f7adbc9c9d2d793
BLAKE2b-256 e475a60bb988342098c33b0be795fdb7a966c5f79c883b496f9ed7afbecbf5fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page