Repository navigation
PyTA 0.1.0
First public release of PyTA: path-based static traffic assignment with a Rust core and a Python interface.
Features
- User-equilibrium assignment by path-based gradient projection, with Frank-Wolfe as a reference method (Rust).
- Turn-aware routing: turn bans, fixed penalties and flow-dependent turn delays, exact through link-labelled shortest paths.
- Multi-class assignment with class-specific demand, passenger-car equivalents, extra link costs (tolls) and link restrictions.
- Background traffic as fixed link and turn preloads.
- Results as tables:
link_table(),turn_table()andpath_table()return pandas DataFrames; the NumPy arrays remain available. - Inputs: pandas DataFrames or NumPy arrays (
Network.from_tables,Demand.from_table), TNTP files and GMNS datasets. - Validation against the published equilibria of Sioux Falls and Anaheim, and against independent models for turns and classes.
Install
PyTA is not on PyPI yet. Build it from source with Rust and maturin; see Getting started.
Documentation: https://harisbal.github.io/pyta/