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.3.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.3-cp314-cp314-win_amd64.whl (190.9 kB view details)

Uploaded CPython 3.14Windows x86-64

pandarm-0.0.3-cp314-cp314-win32.whl (179.1 kB view details)

Uploaded CPython 3.14Windows x86

pandarm-0.0.3-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.3-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.3-cp314-cp314-macosx_11_0_arm64.whl (579.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pandarm-0.0.3-cp313-cp313-win_amd64.whl (187.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pandarm-0.0.3-cp313-cp313-win32.whl (176.3 kB view details)

Uploaded CPython 3.13Windows x86

pandarm-0.0.3-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.3-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.3-cp313-cp313-macosx_11_0_arm64.whl (578.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pandarm-0.0.3-cp312-cp312-win_amd64.whl (187.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pandarm-0.0.3-cp312-cp312-win32.whl (176.4 kB view details)

Uploaded CPython 3.12Windows x86

pandarm-0.0.3-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.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (578.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pandarm-0.0.3-cp311-cp311-win_amd64.whl (187.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pandarm-0.0.3-cp311-cp311-win32.whl (176.2 kB view details)

Uploaded CPython 3.11Windows x86

pandarm-0.0.3-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.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (577.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file pandarm-0.0.3.tar.gz.

File metadata

  • Download URL: pandarm-0.0.3.tar.gz
  • Upload date:
  • Size: 12.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2aa4d069326480a189b5ce7c8d2b43005c6abf861f3f67b880ac8e13fbf34f8f
MD5 692e4b58e73293e4a7e2835258013945
BLAKE2b-256 eb7cb3c32d8ebeaedaf7b8a36d9daa40b4ee76a4300f5a21ab3ab0fbfb718679

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 190.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fd1f028e4d24b2bc50002578026edcc247813276a09a012166427f860e65b8ad
MD5 a1537c68c66642f0e777d7b89c55580f
BLAKE2b-256 a8d58da533471dd5edf1b0fc3d7857c8fe6519c4e9659305baa7fe9c284704f0

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp314-cp314-win32.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp314-cp314-win32.whl
  • Upload date:
  • Size: 179.1 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 470a330e3592a7414be0f18cfbacc83cc37914674d2f8b4cebf54b54586c4559
MD5 de4ee399258e48b5c698a23d2b33e461
BLAKE2b-256 54c26d38b9b2c5e7c0356ec1d2a71c21b5a34e0d2f1e71674b46f8f6b1a10555

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6cc648ba16bffabfafcbe954fbd8a4496cd675b9afbcc823df02409bec43026f
MD5 b3740a17ea3e2a4e7505a22d5d1fcf6f
BLAKE2b-256 6dd828c9390d29f916859fda44babb4b7cc6b42d4c2937b830c9a058410684a6

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7ee10577bd0a2494bf1fb3b99bebdd30d8dadc85f19052d4d3cfac31d3016c1
MD5 8d5f0997464ccf845389a4adbe265084
BLAKE2b-256 fa947681242fa1f4c0f8b0a6ecbfc50510741e27a8242d78e367252a3debe545

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 466f16143384f6a7e816a635e84b57182a0e30668568f53340b200ac3c2d33ba
MD5 67c7c7ad7561d86758f468b927b6ace9
BLAKE2b-256 5b1dfe54420d65cdd3ca2e1589ab88fb2a09dd22c8bc5876a3cdae61f146d671

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 187.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eed1961a9f745ccf3c84593650314bf41deda8cf2524110854f041ecdd22121a
MD5 4596d1589cc861ab7a84d4202b8482ff
BLAKE2b-256 10cd9351f5aa83909aedbf482f9aa0d7e4f8554317fedf86a802906e64cdedc1

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp313-cp313-win32.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp313-cp313-win32.whl
  • Upload date:
  • Size: 176.3 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 9d08945d35387277d1e36468fe6d924ef32e1d19ba3f5c1b3b313d942ef7e753
MD5 eeb1652317c3356372fe7263c028a2b6
BLAKE2b-256 f230057f8dc0d21c2354b5160bc0d61eddb0728e9af3e2451765a7f1d6cb2692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 789ec02edaab7583164b7e07bbb009b55fa763904b040475be4a6ce975478de6
MD5 81abbdd30fe76efb199e4a7e799b0995
BLAKE2b-256 7e06adecfb6af5d5768f7eb47952c587d64822ec02c016ca4985c5e5a13da1f5

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15019df565e27efb3d72d2729dd9828e8fae4c2181956ae360c82a7d948a9c47
MD5 392cdeb88f28e6331f5ed6d0b83a5138
BLAKE2b-256 9a9903a71d2ee53d0b2ee99083b5cf1886749e9a4fbacf9f422c1716553404d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f4616f992a213ce3002872be968edd9bb17f488e2a671f76f95bd989b0bc1cb
MD5 5685bce36297502ef76155a32376ecfc
BLAKE2b-256 259c299885f7cd28f2701a931e4f19da5336a96013bac42c080bc8d0cc24696f

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 187.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ac9150997205d191f750926c3d32884b42073a372c59ef17876ab133a3f22f20
MD5 026ef9819a6940d98bb932958b0fefb3
BLAKE2b-256 6671d42e372ac9e5f99e97141cc272078409023aa50b4546d85d2e18547fc025

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 176.4 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 df1f2f7b117bbea82b52ab124be00031ad9f3231d733526ddefffd81bf331861
MD5 d45ec5102827eb2d3cc74c170b636f6f
BLAKE2b-256 b07abdeae544aa4b0a021f7ff52a58c96c6eacb6590046bf15f2c7b4ed870284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a5d9d20dc450223be0a34c2e1b21c9fef15fd8e5edb61ec948ea3682156e8169
MD5 311fd95bffab8145fad4455143b5de3b
BLAKE2b-256 32f87819d9382d6f2b12e6b41cd5900ad898a9b0b40b2b133941ab1430faf9b8

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37443f0e0421e00594f5e1d70533ff37bdd866c68a5d70d8ab6ca488efd2b933
MD5 4272db8cb1142a9cb4dee8d21cc4453e
BLAKE2b-256 4ee359895298089be039507e5256e67895f5d8afc77b3b0e523866c3348ea8ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e104f8d88592ee860c7df2a9115364352c56d7937771c12178194cf1e9a7a53
MD5 232a3b00454815501ad6c68df40e1dbb
BLAKE2b-256 4b239b954ba33d602d907a0f5e3d1a412831b1de4cdfcb2eef85b907d49bdb4f

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 187.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d0828c6a8b3b93f7d64f7da8579fe78f5538b862761db6c42b620ddbd0d2488d
MD5 fe63f6f16c7c629d9f84da98268920b0
BLAKE2b-256 a542beafe473ea2751513bb3474dcb9f2b5a76896258510a3b05ac634001a035

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: pandarm-0.0.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 176.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pandarm-0.0.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a698c6033c32d3f8c617ed5784f886644352e74762b5986e279473defe310784
MD5 200077ba6e696361314ba9a88a49f372
BLAKE2b-256 8a24571dd46300df391895e9e696dcd34a94c9fc1651d65aee935445a4e45d7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 41018ec0214f8e757205b7c4930e35f68e552c92f2eb2584e10dda97956c7cbd
MD5 e819eb6b6ee87042992509e7575cee44
BLAKE2b-256 e57ea0f964d2ae233d75b645cf5da4270ecbf6c46be7d7d2171b9a722ab05448

See more details on using hashes here.

File details

Details for the file pandarm-0.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pandarm-0.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 96e076bca08becbe65ea8b423dcd7f8025753bd33f3d4a32612f3967f91b4311
MD5 d72a85e1d7104dfa5a57eca4a83270aa
BLAKE2b-256 422104e34caca44fd36934b218a22bc3f6bb249e5baf1b2154d2515e35ff8e21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pandarm-0.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0fa751ce45e7951eee78d47ba7dc6dd346cf5803d28dd2cd38df31070945062
MD5 55c31a9ac01d964db04915268b43ef9a
BLAKE2b-256 85e8c82fbc1a050e138e6840a805dc1b79674d9bde5e260598e416eeb7cbdfce

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