Pandana is a Python library for network analysis that uses contraction hierarchies to calculate super-fast travel accessibility metrics and shortest paths. The numerical code is in C++.
New in v0.5 and v0.6 is vectorized, multi-threaded calculation of shortest path routes and distances: network.shortest_paths(), network.shortest_path_lengths().
Documentation: http://udst.github.io/pandana
As of March 2021, binary installers are provided for Mac, Linux, and Windows through both PyPI and Conda Forge.
pip install pandana
conda install pandana --channel conda-forge
Pandana is easiest to install in Python 3.8 to 3.11. The last version of Pandana with Python 2.7 binaries is v0.4.4 on Conda Forge. The last version with Python 3.5 binaries is v0.6 on Pip.
See the documentation for information about other installation options.
Pandana was created by Fletcher Foti, with subsequent contributions from Matt Davis, Federico Fernandez, Sam Maurer, and others. Sam Maurer is currently the lead maintainer. Pandana relies on contraction hierarchy code from Dennis Luxen and his OSRM project.
A paper on Pandana was presented at the Transportation Research Board Annual Conference in 2012. Please cite this paper when referring to the methodology implemented by this library.