Skip to content

PyTA 0.1.0

Choose a tag to compare

@harisbal harisbal released this 14 Oct 13:24
· 9 commits to main since this release

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() and path_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/