The Pandas Routing Machine
Project description
pandarm
A pandas-centric interface to highly performant travel network analysis leveraging contraction hierarchies provided by code from the Open Source Routing Machine (OSRM). Hence, the pandas routing machine, pandarm. This package is a friendly fork of the pandana library, originally written by Fletcher Foti and UrbanSim Inc. Despite fantastic work by the original authors, maintaining open-source software is a great deal of work and the pandana library is no longer compatible with the current pydata stack (specifically as of numpy version 2.0). This fork reinstates compatibility and brings along a few new modern touches and enhancements. Pull requests are very welcome.
Features
Main features of the package include
- multi-threaded calculation of shortest path routes and distances
- network aggregations (i.e. accessibility metrics)
- network-based isochrones
See more in the example notebook
Aggregations
Shortest Path
Isochrones
Installation
Install from either PyPI or Conda Forge (though the latter is recommended).
pip install pandarmconda install pandarm --channel conda-forge
Development
To install a development version of the package (with proper multithreading) you need an OpenMP compatible C++ compiler. The best way to do this is by installing everything from conda-forge using
conda env create
conda activate pandarm
pip install -e .
This will install all necessary package dependencies, including the platform-appropriate compiler, then build the C++ extension and install the package in editable mode
Why this fork?
Apart from bringing compatibility with numpy>=2 and the rest of the pydata stack, I have a few feature goals to merge into the codebase that make things easier to do, given today's toolset. When the original pandana was written 10 years ago, geopandas was fairly immature, and osmnx was not yet written; both of these make life much easier.
- download OSM networks from
osmnxinstead ofOSMNet(the former is more performant and easier to work with) - store network geometries using geopandas
- allow geopandas-based plotting
- allow reprojecting node x/y coordinates (particularly important for snapping destinations to the network)
- move isochrone polygons from geosnap
Acknowledgments
The original pandana package from which this fork was derived was created by Fletcher Foti, with subsequent contributions from Matt Davis, Federico Fernandez, Sam Maurer, and others. The package relies on contraction hierarchy code from Dennis Luxen and his OSRM project.
Academic literature
A paper on Pandana was presented at the Transportation Research Board Annual Conference in 2012. Please cite this paper when referring to the methods implemented by this library.
Related packages
Note the original pandana is still available but can only be used with older versions of numpy. Alternatively, Fletcher has recently released a pure Python library, pandana2, which calculates network-based aggregations, albeit at a bit of a performance cost, though it (currently at least) lacks routing and shortest-path functionality.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pandarm-0.0.4.tar.gz.
File metadata
- Download URL: pandarm-0.0.4.tar.gz
- Upload date:
- Size: 12.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97af7ddebe3457abf4d593b8272ba212adfa1b0d6dbe68117b4a816ada01c1b4
|
|
| MD5 |
b2614f89c499da16f2df7de34b331496
|
|
| BLAKE2b-256 |
a4eda8d07bcc5e796ffcf8939fc5c119c392f04a242bcfc5168e5d5ab901c3db
|
File details
Details for the file pandarm-0.0.4-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 191.2 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e03365eacaab70be83cae6d8b224d946faa06c06e9f01aa70599b5278919c553
|
|
| MD5 |
41e5c64a09cfac7374f689a2dfe3d054
|
|
| BLAKE2b-256 |
33fd6acc669f9135c6071bd756b1dfabc39901358d253df9440b2259a00b0306
|
File details
Details for the file pandarm-0.0.4-cp314-cp314-win32.whl.
File metadata
- Download URL: pandarm-0.0.4-cp314-cp314-win32.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e276cdb395a3dcd4f39170f5568237f4a83dea481098d1e184ce763986b7236d
|
|
| MD5 |
f4eb39a9165624785d10e6db598b8e27
|
|
| BLAKE2b-256 |
a013012fe3d7d0e48f66cd66cee63f77f6475790bc198379b4af8f13fd66b0eb
|
File details
Details for the file pandarm-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7960eca3eb02c937128f0c73b0ae2603d135417968753c8ab12897ea75a8c27f
|
|
| MD5 |
ec6fad2fd7ee73e7cca48f2126359828
|
|
| BLAKE2b-256 |
f0d8ca67601b47101613098658a48e5bf2981b2bf15e2e3d47d76a862a070d56
|
File details
Details for the file pandarm-0.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83ed35ff5b601118b49fa08f2340dd225186d841a75a80d8708376089c8838e3
|
|
| MD5 |
5bbee389aacc0372bd48a5b98fe22acd
|
|
| BLAKE2b-256 |
2e6f49eb48ecce848276c70746061e99ed6ce7e499ece3b5d13fb6e6f47e10fc
|
File details
Details for the file pandarm-0.0.4-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 579.2 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
943008d6250f511a9770edc9947c6d78ce024660697e57fc89d0a24b00264a03
|
|
| MD5 |
043522e3c4aa729c0b7d10b852636b5c
|
|
| BLAKE2b-256 |
2fa3a989dd8d7648d96d3f7b2a2ebf9934bdd376c3b66302c29278dac64eedee
|
File details
Details for the file pandarm-0.0.4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 187.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5217e5391f0cddb1754d7a4cb0fbd904b18aab259c8da394b759ef141ba951f6
|
|
| MD5 |
5a58bb188371250f2ab9a8c19757eb6f
|
|
| BLAKE2b-256 |
3d60a925d5da954758c22796b686dfd17134433eb6c686818cd3864a5f7e8074
|
File details
Details for the file pandarm-0.0.4-cp313-cp313-win32.whl.
File metadata
- Download URL: pandarm-0.0.4-cp313-cp313-win32.whl
- Upload date:
- Size: 176.4 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de4ba470765a9cd3eb5050a49b71b123a0dfaa4c541902ef9f729b8022353801
|
|
| MD5 |
f1a3ed5faede6ce097cee588cdc9957e
|
|
| BLAKE2b-256 |
f30f5ea8f4089655c584bae6a615109f6f98586dd608110b06abc159130db2b7
|
File details
Details for the file pandarm-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35a55fd735fad0724b9490c7a5b4c23d9f8a90694067376e9e2b0e6f443d259f
|
|
| MD5 |
7741391438de0ad5cb9106b3fcf5d052
|
|
| BLAKE2b-256 |
8c5d661b30cc4fc12b603f72fe2593eba96b0998e8ebdc71aff30e358e6350d0
|
File details
Details for the file pandarm-0.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c87bb73972774d371a8d72f610e24c237cb48efb0369a945c5c8f0c3e2e94edf
|
|
| MD5 |
5f388f9dcea92b05cc381ff58d40d5cd
|
|
| BLAKE2b-256 |
f68d69c5ca0989b8c9f6f9885d59718194f2813ef6f9e75f8c938e1372e1962a
|
File details
Details for the file pandarm-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 578.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51b953476297b7011192b043911262a908ec5933eccd693ed5c76995bb871e83
|
|
| MD5 |
46b25c9a684db53c79dd89f1ce6d8856
|
|
| BLAKE2b-256 |
68ed10c904373fb0f7470fe63319728fec810f88f042cfaef6699a2cabccf429
|
File details
Details for the file pandarm-0.0.4-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 187.5 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2b38a5ea003c50b1639e56f2bb2e89b02bfb4e9d0079205c26dd6ffeab157d3
|
|
| MD5 |
498a950e5dd77a8638eece4c6fc19aca
|
|
| BLAKE2b-256 |
e08a0ed453363ac10f835d71b5b2c65e7ad25039125cb78143cb55d0a8e8c311
|
File details
Details for the file pandarm-0.0.4-cp312-cp312-win32.whl.
File metadata
- Download URL: pandarm-0.0.4-cp312-cp312-win32.whl
- Upload date:
- Size: 176.5 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7cc221dc371c8f09f8739cc1b972c9d694aa3fab2e8fcd0431953d801228411
|
|
| MD5 |
6b6841db631dcd92bd3bcb6b89505b9e
|
|
| BLAKE2b-256 |
1f3f8ce09261351280bc61faa44e038367340e21e21766d32107e31453d5d213
|
File details
Details for the file pandarm-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cb823065e11c40f7178a5c0f3d753db7dff17ed1785a8c57a867060f7303e82
|
|
| MD5 |
d8240b605a0472d34d3a2f3bf35350b8
|
|
| BLAKE2b-256 |
70f33091f273026443a196d8568c2e0d29cff7b92f748a17dc2e5874e1eac8e6
|
File details
Details for the file pandarm-0.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6635b918b9541790072f875209e0d8e2d7853e8d5f58ff541d1fa4577141b569
|
|
| MD5 |
2f380ccaea1f41c0028d22466be7ff91
|
|
| BLAKE2b-256 |
72688e089dd6685afbb9442c6672226cbf5fd82eb96f4d68f35732a979227e2f
|
File details
Details for the file pandarm-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 578.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
274ce35ea1cfa5a070b4be843bef6b08f4e8e717a60f0be7f9bc0f5adb5db863
|
|
| MD5 |
158ee82a29697bf35a0c75e0d690708d
|
|
| BLAKE2b-256 |
0cfa6876ab2eae0278d82b648129d521e6645cecc8963f5e0f55f36c36745970
|
File details
Details for the file pandarm-0.0.4-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 188.1 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73a6d4de16b3c2997b61b1a37d0b408271067fa91f3220761a789febedf62d2e
|
|
| MD5 |
e910b0e34159ef08364fd5c38c88fd44
|
|
| BLAKE2b-256 |
54e4ce700a46cdf8fe855464273f1e0f1e667fd2ae4746766835741b9f2de294
|
File details
Details for the file pandarm-0.0.4-cp311-cp311-win32.whl.
File metadata
- Download URL: pandarm-0.0.4-cp311-cp311-win32.whl
- Upload date:
- Size: 176.3 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17c2f00908c41911d26f78ef91f364e5265b98bd5ea77cd755400ddf2266fd79
|
|
| MD5 |
378121c50457fc1bf03439754369b6c0
|
|
| BLAKE2b-256 |
c551f01bba74864a4b9781bc28d752be339872f25a4bf534fa829c5f3bfbcdce
|
File details
Details for the file pandarm-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31c9cc2a878963b4f9a7e2bdaf55016fabb82c3a010ded6cafac53f4e73d78a5
|
|
| MD5 |
cb341731bd58d09da6be2323c015704b
|
|
| BLAKE2b-256 |
64e4e353da4862acc04bbbcb5d3ceddbd791eb898efc3970c9b69e8da55c0e3e
|
File details
Details for the file pandarm-0.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dce63e50cb05d63eb296a2b305cdb2d3a0ea5e241135717d45c2e40afbad051
|
|
| MD5 |
d665648f678dd867e3e836859a372b6d
|
|
| BLAKE2b-256 |
793a93463d6221d5e64925afd1a403c70401d85242c4098878aeed7cfef357d1
|
File details
Details for the file pandarm-0.0.4-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pandarm-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 577.1 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13811184f371377a623a7d4be565c9b31cfca6e028f3530abc583af3637317ed
|
|
| MD5 |
8230932ffe54fb38e1dad01290647493
|
|
| BLAKE2b-256 |
049667b64844c7d0d68e804ee7baf019faee88235de0d3b309d724399e3feff3
|