v1.0.0
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 topartridge.gtfs.Feed
. - The public interface for instantiating feeds is
partridge.load_feed
. This function replaces the previously undocumented functionpartridge.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 usingpartridge.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 ofchardet
.cchardet
is faster, but may not always return the same result aschardet
. - 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.