Skip to content

Releases: remix/partridge

v1.1.2

03 Dec 23:03
7b3d2c7
Compare
Choose a tag to compare

Primary changes:

Other changes:

  • Miscellaneous improvements to tests, code formatting, and documentation (#61 - thanks @invisiblefunnel!)
  • Relocate usage examples from wiki to README (#70 - thanks @landonreed!)
  • README tweaks (#74 - thanks @chelsey!)
  • Use GitHub Actions for automated testing (#79 - thanks @dget!). Note that we now test against Python versions 3.8, 3.9, 3.10, and 3.11.

v1.1.1

13 Sep 20:17
0441f5f
Compare
Choose a tag to compare

Improve file encoding sniffer, which was misidentifying some Finnish/emoji unicode. Thanks to @dyakovlev!

v1.1.0

12 Apr 18:15
Compare
Choose a tag to compare

Add partridge.load_geo_feed for reading stops and shapes into GeoPandas GeoDataFrames.

v1.0.0

18 Dec 23:04
8813824
Compare
Choose a tag to compare

This release is a combination of major internal refactorings and some minor interface changes. Overall, you should expect your upgrade from pre-1.0 versions to be relatively painless. A big thank you to @genhernandez and @csb19815 for their valuable design feedback.

Here is a list of interface changes:

  • The class partridge.gtfs.feed has been renamed to partridge.gtfs.Feed.
  • The public interface for instantiating feeds is partridge.load_feed. This function replaces the previously undocumented function partridge.get_filtered_feed.
  • A new function has been added for identifying the busiest week in a feed: partridge.read_busiest_date
  • The public function partridge.get_representative_feed has been removed in favor of using partridge.read_busiest_date directly.
  • The public function partridge.writers.extract_feed is now available via the top level module: partridge.extract_feed.

Miscellaneous minor changes:

  • Character encoding detection is now done by the cchardet package instead of chardet. cchardet is faster, but may not always return the same result as chardet.
  • Zip files are unpacked into a temporary directory instead of reading directly from the zip. These temporary directories are cleaned up when the feed is garbage collected or when the process exits.
  • The code base is now annotated with type hints and the build runs mypy to verify the types.
  • DataFrames are cached in a dictionary instead of the functools.lru_cache decorator.
  • The partridge.extract_feed function now writes files concurrently to improve performance.

v0.11.0

01 Aug 22:01
Compare
Choose a tag to compare

Fix major performance issue related to encoding detection. Thank you to @cjer for reporting the issue and advising on a solution.

v0.10.0

30 Apr 22:28
Compare
Choose a tag to compare
  • Improved handling of non-standard compliant file encodings
  • Only require functools32 for Python < 3
  • ptg.parsers.parse_date no longer accepts dates, only strings

v0.9.0

13 Apr 21:18
Compare
Choose a tag to compare

Improves read time for large feeds by adding LRU caching to ptg.parsers.parse_time.

v0.8.0

15 Mar 03:05
Compare
Choose a tag to compare
  • Gracefully handle completely empty files. This change unifies the behavior of reading from a CSV
    with a header only (no data rows) and a completely empty (zero bytes) file in the zip.

v0.7.0

09 Mar 23:48
Compare
Choose a tag to compare
  • Fix handling of nested folders and zips containing nested folders.
  • Add ptg.get_filtered_feed for multi-file filtering.

v0.6.1

24 Feb 17:17
Compare
Choose a tag to compare
  • Fix bug in ptg.read_service_ids_by_date. Reported by @cjer in #27.