Giter Site home page Giter Site logo

google / transitfeed Goto Github PK

View Code? Open in Web Editor NEW
676.0 75.0 257.0 1.15 MB

A Python library for reading, validating, and writing transit schedule information in the GTFS format.

Home Page: https://github.com/google/transitfeed/wiki

License: Apache License 2.0

Python 90.16% JavaScript 9.39% HTML 0.19% CSS 0.23% VBScript 0.03%

transitfeed's Introduction

⚠️ NOTE: This project is no longer actively maintained. For up-to-date GTFS validation tools, see the https://github.com/MobilityData/gtfs-validator project. ⚠️

transitfeed

Provides a library to help you parse, validate, and generate General Transit Feed Spec (GTFS) feed files. See INSTALL for installation instructions.

For the latest documentation, see:

https://github.com/google/transitfeed/wiki

For the latest release and downloads, see:

https://github.com/google/transitfeed/releases/latest

For general questions, send a message to the mailing list:

https://groups.google.com/forum/#!forum/transitfeed

transitfeed's People

Contributors

aababilov avatar askogvold avatar avilaton avatar barbeau avatar bdferris avatar bdferris-v2 avatar bertware avatar bhelx avatar felixonmars avatar jarondl avatar joe-trellick avatar kurtraschke avatar laurentg avatar mohangandhigh avatar ncdat avatar pailakka avatar rachm avatar rajanski avatar stevenmaude avatar stotala avatar themonki avatar tomgobravo avatar trevh3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transitfeed's Issues

missing weekday column in calendar.txt can crash parsing/validation

From [email protected] on May 16, 2007 21:41:27

This is what the trace looks like:

Traceback (most recent call last):
  File "./feedvalidator.py", line 64, in ?
    loader.Load()
  File "/home/jhughes/gtdf/trunk/python/transitfeed.py", line 2271, in Load
    self._LoadCalendar()
  File "/home/jhughes/gtdf/trunk/python/transitfeed.py", line 2049, in
_LoadCalendar
    period = ServicePeriod(field_list=row)
  File "/home/jhughes/gtdf/trunk/python/transitfeed.py", line 1203, in init
    self.original_day_values += [value.strip()]
AttributeError: 'NoneType' object has no attribute 'strip'

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=23

Feed parsing doesn't deal with quoted values correctly when surrounded by spaces

From [email protected] on September 12, 2007 10:29:18

When a quoted value is preceded by an extra space, it isn't treated as quoted:

value1, "value2, more", value3

is parsed into 4 values.

However, without the space, the value is parsed correctly:

value1,"value2, more", value3

This is coming from the python csv libary; we need to see if there's a workaround or whether we
need to write our own CSV parsing to get around this.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=36

"No module named marey_graph" when running schedule_viewer from /usr/bin

From [email protected] on May 22, 2007 04:02:22

When trying to execute schedule_viewer.py under Fedora, no matter if I
execute after running setup.py, it always report an import error:

Traceback (most recent call last):
  File "/usr/bin/schedule_viewer.py", line 26, in ?
    import marey_graph
ImportError: No module named marey_graph What version of the product are you using? On what operating system? I am using transitfeed-1.0.7. My operating system is version 2.6.20-1.2944.fc6

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=24

invalid utf8 crashes feedvalidator

From [email protected] on June 27, 2007 16:01:15

The sample feed Marcy sent Joe and I (off the list) included invalid UTF-8
which crashed the validator.

ERROR: 7 issues found
Traceback (most recent call last):
  File "/home/thecap/src/transitdatafeed-trunk/python/feedvalidator.py",
line 198, in ?
    output_file.write(problems.GetOutput(os.path.abspath(feed)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u02c7' in
position 2541: ordinal not in range(128)

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=29

improve memory performance of transitfeed.py

From [email protected] on June 28, 2007 03:23:39

processing feeds takes tons of memory and it seems to get worse with each
release. Internally we have some large GTFS files that won't load on a 2GB
machine.

We need to do some profiling to work out if we are doing something that
prevents python doing the right thing.

It might be worth trying to reload a medium sized feed several times. If we
delete the Schedule object each time then the python process should stop
growing.

Here's someone with debugging a possibly similar problem http://mail.python.org/pipermail/python-list/2007-June/445838.html but he didn't get a reply.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=30

Trip objects created without parameters don't have direction_id or block_id set

From [email protected] on April 22, 2007 19:35:55

What steps will reproduce the problem? 1. create a Trip using Trip()   # no parameters
2. add the Trip object to a Schedule
3. call schedule.WriteGoogleTransitFeed
4. you'll get exceptions that trip.direction_id and trip.block_id aren't
defined.

Once this is fixed, we can remove the gratuitous definitions of those
attributes from the TransitFeed sample code.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=7

Add check for too many CSV columns in input

From [email protected] on May 16, 2007 14:25:12

From the group:

"Greetings.  I wish I were able to suggest a fix however I can find a
possible bug.  My file validated (I ran it twice) and I pushed through
to FF.  He reported that there were too many columns and indeed there
were some ,,,, that were not returned as an error.  I can try to
recreate the datafile, if helpful, but I think you can get my drift."

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=22

Relax stop times sequence policy to strictly increasing integers.

From [email protected] on June 14, 2007 17:00:21

(On behalf of TomH)

In Trapeze, each actual stop pattern comes from (is a subset of) the master
pattern (the entirely of the master pattern may never be used in any actual
stop pattern). The sequence numbers come from the master pattern.

We should only detect a bad sequencing if a stop is missing for all trips
of a route.

An example,
A master pattern and sequencing.
stop_id     sequence
a              1
b              2
c              3
d              4

Applying the master pattern to a trip which only services b-c-d,
stop_id     sequence
b              2
c              3
d              4
will generate a sequence error.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=26

possible to output route without agency_id

From [email protected] on March 19, 2008 18:06:24

According to the spec, if routes.txt includes an agency_id column all rows
must have a value. Ideally Route.GetFieldValuesTuple would use the
schedule's default route if self.route_id is None and there would be a way
to totally omit the column if only one agency is in the schedule.
The easiest fix is to make agency_id required when creating a Route object
and populate it with the default agency in the loader when loading
routes.txt. I don't like adding things so that transitfeed loading and
writing a feed modifies its content.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=47

transitfeed installed as an egg can interfere with tests

From [email protected] on September 15, 2007 19:57:31

Even though test/testexamples.py sets PYTHONPATH='.' the examples may be
run with a different older version of transitfeed.py if it is installed on
the system in an egg. You can see the problem by editing an example script
to print sys.path. As a work-around I tried running the examples as
python -c'import
sys;sys.path.insert(0,".");exec("example/feedvalidator.py")' other args but
couldn't get the quoting to work in windows. cmd.exe is not my friend.

Original issue: http://code.google.com/p/googletransitdatafeed/issues/detail?id=37

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.