UDST / pandana

Pandas Network Analysis by UrbanSim: fast accessibility metrics and shortest paths, using contraction hierarchies :world_map:
http://udst.github.io/pandana
GNU Affero General Public License v3.0
385 stars 84 forks source link

Native support for ARM Macs #159

Closed smmaurer closed 3 years ago

smmaurer commented 3 years ago

This PR updates the setup script to use setuptools in place of the older distutils, which on my test machine helped smooth out compilation on the new ARM-based Macs.

Together with PR #158, this brings full support to the dev branch for compilation on these machines. For initial writeup see issue #152.

(Note that it's not a problem to run older x86 Python packages, including Pandana, on ARM Macs. These updates are just to support native compilation, which will improve performance.)

How to compile natively on ARM Macs

  1. Install MiniForge for osx-arm64 (read, download).

  2. Install all of Pandana's build- and runtime requirements from Conda. Check the install messages to confirm you're getting osx-arm64 binaries. (If it's the normal osx-64 binaries instead, you're probably running an x86 copy of Conda.)

    conda install clang llvm-openmp cython numpy pandas scikit-learn pytables

  3. Compile and install Pandana.

    python setup.py develop

Next steps to provide ARM binaries on Conda Forge

After that's completed, you'll be able to install Pandana for osx-arm64 directly from Conda.

github-actions[bot] commented 3 years ago

Test coverage is 90%