Releases: wsp-sag/network_wrangler
Releases · wsp-sag/network_wrangler
v1.0-beta.2
What's Changed
🚀 Features
- Adds script and notebook for creating your own example data from OSM
🏗️ Refactor
- Moves all roadway selection logic from the data models to selection classes
📘 Docs
- Pull network docs from network data models instead of writing anew
- Add in all relevant API docs to
api.md
- Improve general formatting and comprehensiveness of docs
⏱️ Performance
- Upgrades performance of selection when selecting by a dictionary of attributes: c630b00
📎 Examples
- Minimizes example data size
🐞 Bugs
- Fix scenario
write()
/load()
(#389) - Downgrades error to warning for deleting roadways with transit so can apply changes (#390)
- Adds back all geojson files which were accidentally added to
.gitignore
- Fixes notebooks in
/notebook
to use current API - Minor typos in logging
- Minor bugs in tests
- Fix error in shape links gdf creation and add tests for it to not happen again
🧹 Chores
- Tighten mypy and ruff settings and fix all violations
- Deletes extraneous file
validation_failure_cases.csv
- rm old project cards that don't match current network
- Updates API for project cards to be consistent with project card v3.3.3
Full Changelog: v1.0-alpha.2...v1.0-beta.2
v1.0-alpha.2
Pre-release for metcouncil to test their workflows:
- Make roadway project cards from log files.ipynb
- Make transit project cards from log files.ipynb
- createV01_standardnetwork.ipynb
- CreateVer02_baseyear.ipynb
v1.0-alpha.1
Contains almost all functionality for wrangler v1.0.
Remaining issues:
- 1. update
gtfs.stops
data model to use dual-primary key stop_id/trip_id - 2. add a js lock-like file for conda:
environment.yml
- 3. complete documentation
- 4. update notebooks
- 5. update st paul example data to latest data model
What's Changed
- Implicit and fast validation
- Speed , stability and memory efficiency
- Support for multiple serialization formats
- Updated network variable names and explicit data models
- Add ability to edit transit route shape
- Improved error checking/logging/verboseness
- I/O and Mutation Speed
- Selection flexibility for transit based on any feature or by link or node
- More flexible and fast transition to geodataframes and visualization for (almost) any data part
- Easy data clipping to geographic bounds
- Scripts for actions you might want to execute from command line (i.e. data conversion/clipping/etc)
Housekeeping
- Separation of causes prevents circular reference collisions, limits import bloat, and improves legibility/organization.
- Project card functionality in project card repo
- Separate modules for separate functionality
- Reliability achieved through more testable code and expanding test coverage with more test cases and also anti-patterns
- Testable code
- Test coverage
- Explicit data models that make complex data structures obvious and easy to validate
- Legible
- Self-documenting
- Flexible
- Validatable
- Clean code principles that make code easier to test and maintain
- more functions that do a single thing...and do it well
- classes that are small - functions that access or manipulate them
- Documentation
- consistent and detailed functional documentation
- consistent type hints
- usage for modules and classes
- overall documentation leverages the flexible and less bloated MkDocs package
- Removes less-well-maintained dependencies
- Replaces Partridge with internal functionality
New Contributors
Full Changelog: v0.2.0-alpha...v1.0-alpha.1
v0.2.0-alpha
Adds feature to allow network manipulation via a hybrid project card (i.e. my_project.wrangler
or project.wr
) which is formatted with YAML front-matter surrounded by bounding lines (i.e. ---
) followed by python code which acts as on the RoadwayNetwork instance. Category field must be Calculated Roadway. Lines which bound the YAML component must be identical.
Example file:
----
Category: Calculated Roadway
Project: My awesome roadway project to make
----
self.links_df.loc[self.links_df['lanes'] == 4, 'lanes'] = 12
v0.1.0-alpha
add recommonmark to development requirements