From 9a6ebfed72adf203d3e4e7613c3fa5455b5084b2 Mon Sep 17 00:00:00 2001 From: Sam Maurer Date: Fri, 19 Mar 2021 10:42:30 -0700 Subject: [PATCH] Staging v0.6.1 (#160) --- CHANGELOG.md | 9 +++++++++ README.md | 4 ++-- docs/source/changelog.rst | 9 +++++++++ docs/source/index.rst | 2 +- docs/source/installation.rst | 12 ++++++------ pandana/__init__.py | 2 +- setup.py | 5 +++-- 7 files changed, 31 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3180894c..4fbd5287 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +v0.6.1 +====== + +2021/03/17 + +* Adds support for non-x86 CPUs, including ARM-based Macs +* Removes accommodations for pre-C++11 compilers +* Formally ends support for Python 2.7 + v0.6 ==== diff --git a/README.md b/README.md index 6b51c3ff..a49cabfc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Coverage Status](https://img.shields.io/badge/coverage-95%25-green) +![Coverage Status](https://img.shields.io/badge/coverage-90%25-green) # Pandana @@ -16,7 +16,7 @@ As of March 2021, binary installers are provided for Mac, Linux, and Windows thr - `pip install pandana` - `conda install pandana --channel conda-forge` -Pandana works best in Python 3.6+, although binary installers for Python 3.5 remain available on Pip. The last version of Pandana with Python 2.7 binaries is v0.4.4 on Conda Forge. +Pandana is easiest to install in Python 3.6 to 3.9. The last version of Pandana with Python 2.7 binaries is v0.4.4 on Conda Forge. The last version with Python 3.5 binaries is v0.6 on Pip. See the documentation for information about other [installation options](http://udst.github.io/pandana/installation.html). diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 826e550e..b291c52b 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -1,6 +1,15 @@ Change log ========== +v0.6.1 +------ + +2021/03/17 + +* Adds support for non-x86 CPUs, including ARM-based Macs +* Removes accommodations for pre-C++11 compilers +* Formally ends support for Python 2.7 + v0.6 ---- diff --git a/docs/source/index.rst b/docs/source/index.rst index 9489f030..85337b78 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -8,7 +8,7 @@ Pandana Pandana is a Python library for network analysis that uses `contraction hierarchies `_ to calculate super-fast travel accessibility metrics and shortest paths. The numerical code is in C++. -v0.6, released November 11, 2020. Docs updated March 2021. +v0.6.1, released March 17, 2021. Acknowledgments diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 001c3d4d..9029d6a9 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -7,7 +7,7 @@ Pandana is a Python package that includes a C++ extension for numerical operatio Standard installation ------------------------------ -As of March 2021, binary installers are provided for Mac, Linux, and Windows through both PyPI and Conda Forge. +As of March 2021, binary installers are provided for Mac, Linux, and Windows through both PyPI and Conda Forge. You can install Pandana using Pip:: @@ -17,15 +17,15 @@ Or Conda:: conda install pandana --channel conda-forge -Pandana works best in Python 3.6+, although binary installers for Python 3.5 remain available on Pip. The last version of Pandana with Python 2.7 binaries is v0.4.4 on Conda Forge. +Pandana is easiest to install in Python 3.6 to 3.9. The last version of Pandana with Python 2.7 binaries is v0.4.4 on Conda Forge. The last version with Python 3.5 binaries is v0.6 on Pip. ARM-based Macs ------------------------------ -Pandana's binary installers are optimized for x86 (Intel) Macs from 2020 and earlier, but will also run on newer ARM-based Macs. +Native binary installers for ARM-based Macs are available on Conda Forge, but to use these your full Python stack needs to be optimized for ARM. -If you'd like to compile Pandana locally for ARM, see instructions in `issue #152 `_. In our testing, natively compiled binaries run about 35% faster than the x86 binaries with Rosetta translation. We aim to provide osx-arm64 binaries on Pip and Conda as soon as it's feasible. +If you're running Python through Rosetta translation (which is the default), older Mac installers will continue to work fine. See `issue #152 `_ for tips and further discussion. Compiling from source code @@ -35,7 +35,7 @@ You may want to compile Pandana locally if you're modifying the source code or n Mac users should start by running ``xcode-select --install`` to make sure you have Apple's Xcode command line tools, which are needed behind the scenes. Windows users will need the `Microsoft Visual C++ Build Tools `_. -Pandana's build-time requirements are ``cython``, ``numpy``, and a C++ compiler that supports the c++11 standard. Additionally, the compiler needs to support OpenMP to allow Pandana to use multithreading. +Pandana's build-time requirements are ``cython``, ``numpy``, and a C++ compiler that supports the C++11 standard. Additionally, the compiler needs to support OpenMP to allow Pandana to use multithreading. The smoothest route is to get the compilers from Conda Forge -- you want the ``clang`` and ``llvm-openmp`` packages. Running Pandana's setup script will trigger compilation:: @@ -44,7 +44,7 @@ The smoothest route is to get the compilers from Conda Forge -- you want the ``c You'll see a lot of status messages go by, but hopefully no errors. -MacOS 10.14 (but not later versions) often needs additional header files installed. If you see a compilation error like ``'wchar.h' file not found`` in MacOS 10.14, you can resolve it by running this command:: +MacOS 10.14 (but not newer versions) often needs additional header files installed. If you see a compilation error like ``'wchar.h' file not found`` in MacOS 10.14, you can resolve it by running this command:: open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg diff --git a/pandana/__init__.py b/pandana/__init__.py index 5bddbc57..602e1d4c 100644 --- a/pandana/__init__.py +++ b/pandana/__init__.py @@ -1,3 +1,3 @@ from .network import Network -version = __version__ = '0.6.1.dev2' +version = __version__ = '0.6.1' diff --git a/setup.py b/setup.py index c08dcd52..35d6d506 100644 --- a/setup.py +++ b/setup.py @@ -125,7 +125,7 @@ def run(self): ## Standard setup ############################################### -version = '0.6.1.dev2' +version = '0.6.1' packages = find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]) @@ -143,6 +143,7 @@ def run(self): 'code is in C++.'), url='https://udst.github.io/pandana/', ext_modules=[cyaccess], + python_requires = '>=3.5', install_requires=[ 'cython >=0.25.2', 'numpy >=1.8', @@ -159,11 +160,11 @@ def run(self): }, classifiers=[ 'Development Status :: 4 - Beta', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'License :: OSI Approved :: GNU Affero General Public License v3' ], )