Skip to main content

pandarm

Continuous Integration codecov PyPI version Conda Version DOI

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:

If you would like to cite this package, you can do so using the Zenodo DOI. If you do so, we ask that you also please cite the original paper/implementation listed above.

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.

Metadata

Release files for pandarm 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pandarm 0.0.5
File Size Uploaded
pandarm-0.0.5.tar.gz 13.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pandarm 0.0.5
File
pandarm-0.0.5-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pandarm-0.0.5-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
pandarm-0.0.5-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pandarm-0.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pandarm-0.0.5-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pandarm-0.0.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pandarm-0.0.5-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
pandarm-0.0.5-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pandarm-0.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pandarm-0.0.5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pandarm-0.0.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pandarm-0.0.5-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pandarm-0.0.5-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pandarm-0.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pandarm-0.0.5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pandarm-0.0.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pandarm-0.0.5-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pandarm-0.0.5-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pandarm-0.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pandarm-0.0.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 39.3 MB

Release files / pandarm-0.0.5.tar.gz

Download URL pandarm-0.0.5.tar.gz
Size 13.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8aa54a49e2f46be1be342942b13c5731678da38388beae37d10e100fb30c4fbe
BLAKE2b-256 checksum
How to use checksums
1153ebae3c1b05312c183459b3736c74df70f29239369f5e24ec1ae67d16f0fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp314-cp314-win_amd64.whl

Download URL pandarm-0.0.5-cp314-cp314-win_amd64.whl
Size 192.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e34200d0314f31cf29ccb3caf2b4c40e3a592cd66985bf043b32dbab8a9fa5a9
BLAKE2b-256 checksum
How to use checksums
6a4f86214ba080f088c4fd38badfd6d642087ab25e9c00a91bb155b25917a4af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp314-cp314-win32.whl

Download URL pandarm-0.0.5-cp314-cp314-win32.whl
Size 180.2 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
15b82d6e140a1e1d63b686913b369731cd76ef772d603e3d7a1a974b69451dba
BLAKE2b-256 checksum
How to use checksums
3a6bef5770b330c67d2aed60e1f68af73c12956a169362079353d8cab09d1c28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pandarm-0.0.5-cp314-cp314-musllinux_1_2_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9d86bc2cabd8c34dc6b33fb1a004d4d5ec35830462dbb46b12d3f134aa738071
BLAKE2b-256 checksum
How to use checksums
5bc35c4ca71fded377330284813274ddcbef55d6b13fe4b43075302d89f9f4c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pandarm-0.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
68eed04445b317484676c6a63d0f55b14a656c7bcce5694c0568e61d00518e03
BLAKE2b-256 checksum
How to use checksums
4475a53ebfd118514db05f86d3502857038e08e5102f0150bb731e4c7938fadc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp314-cp314-macosx_11_0_arm64.whl

Download URL pandarm-0.0.5-cp314-cp314-macosx_11_0_arm64.whl
Size 580.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6f9ecf573a658a8de118fad4faca7c472f77c1a032269969d33f30eb2a56013d
BLAKE2b-256 checksum
How to use checksums
6aee96a5fc9d25c7997ccbea91ae55b78b4e70375bdbeedfb56efe9ced5e0aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp313-cp313-win_amd64.whl

Download URL pandarm-0.0.5-cp313-cp313-win_amd64.whl
Size 188.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e711543a65e27aec4d59a77725e85dfd0464d8d8551b8c9c21674185ebcf4b69
BLAKE2b-256 checksum
How to use checksums
fee6aee08b6ba933adcdb6d53be331fd55446044d77a6ae7036790e6b3c63132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp313-cp313-win32.whl

Download URL pandarm-0.0.5-cp313-cp313-win32.whl
Size 177.3 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
ab559438c0cfe2b7123362139a7488d4c9297cb20b797b054a4b5a344bbcf5eb
BLAKE2b-256 checksum
How to use checksums
ff88872ff8ce27a494611dfdb3d512ddd2bf5fb18aa14d01bcbcb4fc1f56cbd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pandarm-0.0.5-cp313-cp313-musllinux_1_2_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
35e5653b63c319ece7e38ded76128388506b41f1d43163dff95bbad018fd2e6b
BLAKE2b-256 checksum
How to use checksums
91f2c9be10cfcbf793bb1f70b8e0f8a0004b082237851f1a5882e590b2c752f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pandarm-0.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d901ea5cb2de5b885120e9aaeb998c7a94b6f7c6de445b46c441bcd32832bbb9
BLAKE2b-256 checksum
How to use checksums
abcef03fb47f2e7775394f441f6e62c7f0bb1bb833cf8291fc6d2865bc924541
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp313-cp313-macosx_11_0_arm64.whl

Download URL pandarm-0.0.5-cp313-cp313-macosx_11_0_arm64.whl
Size 580.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
51055ee747693f7f960e1fe4c097e48aa028636ece97bfff623a543b9cc81128
BLAKE2b-256 checksum
How to use checksums
9290f2bb132738cd1899be2fe1a1e651153761b4d93e3af2b90ae54e6be11b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp312-cp312-win_amd64.whl

Download URL pandarm-0.0.5-cp312-cp312-win_amd64.whl
Size 188.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
45c8eab007107226a62e7ff6125d4f571119c3003054cb93b50f1711d8440554
BLAKE2b-256 checksum
How to use checksums
51995d3fb59d85cbb4c5682f64fd194a85cd1afbf69e73e7830963b8b2082f8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp312-cp312-win32.whl

Download URL pandarm-0.0.5-cp312-cp312-win32.whl
Size 177.4 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
4c6e5d47929bcca2c9de674791af8f47ec955d9378328098c5a14f6e1b9d0bbf
BLAKE2b-256 checksum
How to use checksums
856d224044a2c77792a4a113b6a5829b6aa64d8533ebcad66d1b449daadd62f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pandarm-0.0.5-cp312-cp312-musllinux_1_2_x86_64.whl
Size 3.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4403052c708d6c0661d75aa76c1f99b1fa3a73ee930d19c38740aea372aa2db9
BLAKE2b-256 checksum
How to use checksums
8e5069f687d15b1fd2a2e88fef47b80882fd38e4fa0ee91e2fdb47c8fbfc40bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pandarm-0.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f067dec12c8f0651c8d4815e206d114d0e178cce7506c7610ec9693fad711c9
BLAKE2b-256 checksum
How to use checksums
f762c9d2d313aeb8c3b91d0a8d48387574a02ea853537c1b2c04776a34a280cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp312-cp312-macosx_11_0_arm64.whl

Download URL pandarm-0.0.5-cp312-cp312-macosx_11_0_arm64.whl
Size 579.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
18fdc68ef8a1d92dc4bd7f025a8fd71c6915703a23acbdf1551f78f990c095a9
BLAKE2b-256 checksum
How to use checksums
3790f2d746532aa90989c06588f52b2c6c8a17f26fb6ca5900f6707af008c7ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp311-cp311-win_amd64.whl

Download URL pandarm-0.0.5-cp311-cp311-win_amd64.whl
Size 189.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d185f59aaac3699693378b6ffd430829bf4ef07ae7ce59c4c1e9803e9d7f3527
BLAKE2b-256 checksum
How to use checksums
25d4097c5da9e65fef8aacd17db8f52d86e3f07e229d2badae3d1cb4d4cf78d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp311-cp311-win32.whl

Download URL pandarm-0.0.5-cp311-cp311-win32.whl
Size 177.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
744d089958a53287d3013d12f8377eed1ef91299a4e8083cb71a7ae99242614c
BLAKE2b-256 checksum
How to use checksums
4b8c982119bc5abf80b576b82304e25af042df44057e7bbcd5f1de7ed9161c4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pandarm-0.0.5-cp311-cp311-musllinux_1_2_x86_64.whl
Size 3.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
df018a77d1910ea265f2fb8fe0759a47cfaead2c18e16d9a38ef6184d59ecb5c
BLAKE2b-256 checksum
How to use checksums
c9dff51f5b0c2ded6a3afbea43e5f32b417f471771d8cef010e0598f67afe8b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pandarm-0.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
906c2eedc078727d7459975c9992677e33b735322cca013857f47d783090bff9
BLAKE2b-256 checksum
How to use checksums
325fb6cafb0353bd27f81be3efda432bd8c4a400f6be88d5f0a03e7012fd40b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / pandarm-0.0.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL pandarm-0.0.5-cp311-cp311-macosx_11_0_arm64.whl
Size 578.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3088071cf0ae7e9c4f53312351f4903b80893057a2d6a33e8e1125220ed4981c
BLAKE2b-256 checksum
How to use checksums
af6d3d5937d6607050e1a21559aba4a5879b3ca03780119b1098d7a96f262d45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.0.5 This release

21 release files

0.0.4

21 release files

0.0.2

21 release files

0.0.1

21 release files

0.0.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page