Skip to main content

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

Access to Restaurants in D.C.

Shortest Path

Shortest Path from UCI School of Social Ecology to Rancho San Joaquin M.S.

Isochrones

Destinations Within 2km of UCI Langson Library

Installation

Install from either PyPI or Conda Forge (though the latter is recommended).

  • pip install pandarm
  • conda 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 osmnx instead of OSMNet (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

pandarm-0.0.4.tar.gz (12.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pandarm-0.0.4-cp314-cp314-win_amd64.whl (191.2 kB view details)

Uploaded CPython 3.14Windows x86-64

pandarm-0.0.4-cp314-cp314-win32.whl (179.2 kB view details)

Uploaded CPython 3.14Windows x86

pandarm-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pandarm-0.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pandarm-0.0.4-cp314-cp314-macosx_11_0_arm64.whl (579.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pandarm-0.0.4-cp313-cp313-win_amd64.whl (187.6 kB view details)

Uploaded CPython 3.13Windows x86-64

pandarm-0.0.4-cp313-cp313-win32.whl (176.4 kB view details)

Uploaded CPython 3.13Windows x86

pandarm-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pandarm-0.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pandarm-0.0.4-cp313-cp313-macosx_11_0_arm64.whl (578.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pandarm-0.0.4-cp312-cp312-win_amd64.whl (187.5 kB view details)

Uploaded CPython 3.12Windows x86-64

pandarm-0.0.4-cp312-cp312-win32.whl (176.5 kB view details)

Uploaded CPython 3.12Windows x86

pandarm-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pandarm-0.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pandarm-0.0.4-cp312-cp312-macosx_11_0_arm64.whl (578.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pandarm-0.0.4-cp311-cp311-win_amd64.whl (188.1 kB view details)

Uploaded CPython 3.11Windows x86-64

pandarm-0.0.4-cp311-cp311-win32.whl (176.3 kB view details)

Uploaded CPython 3.11Windows x86

pandarm-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pandarm-0.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pandarm-0.0.4-cp311-cp311-macosx_11_0_arm64.whl (577.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Hashes for pandarm-0.0.4.tar.gz
Algorithm Hash digest
SHA256 97af7ddebe3457abf4d593b8272ba212adfa1b0d6dbe68117b4a816ada01c1b4
MD5 b2614f89c499da16f2df7de34b331496
BLAKE2b-256 a4eda8d07bcc5e796ffcf8939fc5c119c392f04a242bcfc5168e5d5ab901c3db

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e03365eacaab70be83cae6d8b224d946faa06c06e9f01aa70599b5278919c553
MD5 41e5c64a09cfac7374f689a2dfe3d054
BLAKE2b-256 33fd6acc669f9135c6071bd756b1dfabc39901358d253df9440b2259a00b0306

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 e276cdb395a3dcd4f39170f5568237f4a83dea481098d1e184ce763986b7236d
MD5 f4eb39a9165624785d10e6db598b8e27
BLAKE2b-256 a013012fe3d7d0e48f66cd66cee63f77f6475790bc198379b4af8f13fd66b0eb

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7960eca3eb02c937128f0c73b0ae2603d135417968753c8ab12897ea75a8c27f
MD5 ec6fad2fd7ee73e7cca48f2126359828
BLAKE2b-256 f0d8ca67601b47101613098658a48e5bf2981b2bf15e2e3d47d76a862a070d56

See more details on using hashes here.

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

File hashes

Hashes for pandarm-0.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 83ed35ff5b601118b49fa08f2340dd225186d841a75a80d8708376089c8838e3
MD5 5bbee389aacc0372bd48a5b98fe22acd
BLAKE2b-256 2e6f49eb48ecce848276c70746061e99ed6ce7e499ece3b5d13fb6e6f47e10fc

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 943008d6250f511a9770edc9947c6d78ce024660697e57fc89d0a24b00264a03
MD5 043522e3c4aa729c0b7d10b852636b5c
BLAKE2b-256 2fa3a989dd8d7648d96d3f7b2a2ebf9934bdd376c3b66302c29278dac64eedee

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5217e5391f0cddb1754d7a4cb0fbd904b18aab259c8da394b759ef141ba951f6
MD5 5a58bb188371250f2ab9a8c19757eb6f
BLAKE2b-256 3d60a925d5da954758c22796b686dfd17134433eb6c686818cd3864a5f7e8074

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 de4ba470765a9cd3eb5050a49b71b123a0dfaa4c541902ef9f729b8022353801
MD5 f1a3ed5faede6ce097cee588cdc9957e
BLAKE2b-256 f30f5ea8f4089655c584bae6a615109f6f98586dd608110b06abc159130db2b7

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 35a55fd735fad0724b9490c7a5b4c23d9f8a90694067376e9e2b0e6f443d259f
MD5 7741391438de0ad5cb9106b3fcf5d052
BLAKE2b-256 8c5d661b30cc4fc12b603f72fe2593eba96b0998e8ebdc71aff30e358e6350d0

See more details on using hashes here.

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

File hashes

Hashes for pandarm-0.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c87bb73972774d371a8d72f610e24c237cb48efb0369a945c5c8f0c3e2e94edf
MD5 5f388f9dcea92b05cc381ff58d40d5cd
BLAKE2b-256 f68d69c5ca0989b8c9f6f9885d59718194f2813ef6f9e75f8c938e1372e1962a

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51b953476297b7011192b043911262a908ec5933eccd693ed5c76995bb871e83
MD5 46b25c9a684db53c79dd89f1ce6d8856
BLAKE2b-256 68ed10c904373fb0f7470fe63319728fec810f88f042cfaef6699a2cabccf429

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f2b38a5ea003c50b1639e56f2bb2e89b02bfb4e9d0079205c26dd6ffeab157d3
MD5 498a950e5dd77a8638eece4c6fc19aca
BLAKE2b-256 e08a0ed453363ac10f835d71b5b2c65e7ad25039125cb78143cb55d0a8e8c311

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e7cc221dc371c8f09f8739cc1b972c9d694aa3fab2e8fcd0431953d801228411
MD5 6b6841db631dcd92bd3bcb6b89505b9e
BLAKE2b-256 1f3f8ce09261351280bc61faa44e038367340e21e21766d32107e31453d5d213

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9cb823065e11c40f7178a5c0f3d753db7dff17ed1785a8c57a867060f7303e82
MD5 d8240b605a0472d34d3a2f3bf35350b8
BLAKE2b-256 70f33091f273026443a196d8568c2e0d29cff7b92f748a17dc2e5874e1eac8e6

See more details on using hashes here.

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

File hashes

Hashes for pandarm-0.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6635b918b9541790072f875209e0d8e2d7853e8d5f58ff541d1fa4577141b569
MD5 2f380ccaea1f41c0028d22466be7ff91
BLAKE2b-256 72688e089dd6685afbb9442c6672226cbf5fd82eb96f4d68f35732a979227e2f

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 274ce35ea1cfa5a070b4be843bef6b08f4e8e717a60f0be7f9bc0f5adb5db863
MD5 158ee82a29697bf35a0c75e0d690708d
BLAKE2b-256 0cfa6876ab2eae0278d82b648129d521e6645cecc8963f5e0f55f36c36745970

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 73a6d4de16b3c2997b61b1a37d0b408271067fa91f3220761a789febedf62d2e
MD5 e910b0e34159ef08364fd5c38c88fd44
BLAKE2b-256 54e4ce700a46cdf8fe855464273f1e0f1e667fd2ae4746766835741b9f2de294

See more details on using hashes here.

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

Hashes for pandarm-0.0.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 17c2f00908c41911d26f78ef91f364e5265b98bd5ea77cd755400ddf2266fd79
MD5 378121c50457fc1bf03439754369b6c0
BLAKE2b-256 c551f01bba74864a4b9781bc28d752be339872f25a4bf534fa829c5f3bfbcdce

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 31c9cc2a878963b4f9a7e2bdaf55016fabb82c3a010ded6cafac53f4e73d78a5
MD5 cb341731bd58d09da6be2323c015704b
BLAKE2b-256 64e4e353da4862acc04bbbcb5d3ceddbd791eb898efc3970c9b69e8da55c0e3e

See more details on using hashes here.

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

File hashes

Hashes for pandarm-0.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4dce63e50cb05d63eb296a2b305cdb2d3a0ea5e241135717d45c2e40afbad051
MD5 d665648f678dd867e3e836859a372b6d
BLAKE2b-256 793a93463d6221d5e64925afd1a403c70401d85242c4098878aeed7cfef357d1

See more details on using hashes here.

File details

Details for the file pandarm-0.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13811184f371377a623a7d4be565c9b31cfca6e028f3530abc583af3637317ed
MD5 8230932ffe54fb38e1dad01290647493
BLAKE2b-256 049667b64844c7d0d68e804ee7baf019faee88235de0d3b309d724399e3feff3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page