Fixes a performance bug in network.get_node_ids()
Adds support for calculating shortest path lengths between arbitrary origins and destinations, with vectorization and multi-threading
Restores alternate names for aggregation types, which were inadvertently removed in v0.4
Fixes a bug with matplotlib backends
Improves compilation in MacOS 10.15 Catalina
Eliminates the scikit-learn dependency
Makes matplotlib and osmnet dependencies optional
Revises the documentation and demo notebook
Restores support for pre-C++11 compilers.
Improved compiler support.
Speed of network aggregations is improved.
Support for aggregating integer values is restored.
Thread count and contraction hierarchy status messages are restored.
Code written for v0.3 will continue to run, now raising deprecation warnings instead of errors.
Compilation improvements for Mac.
Replaced uses of std::map::at() since it’s not supported in pre-C++11 compilers.
Replaced initialization lists due to the same reason as above.
Major rewrite of the layer between Python and C++, which was previously written using the numpy C++ API, and now is written in cython.
The C++ that remains has been cleaned up a bit and formatted.
The major functionality change is that global memory is no longer used, so reserve_num_graphs no longer needs to be called and Network objects can be created and destroyed at the user’s pleasure.
The change in global memory made the calls to init_pois no longer necessary. Then, that method has been removed and the max_items and max_distance parameters were relocated in the set_pois call.
The nearest neighbor queries are now resolved with Scipy instead of libANN. That removed additional global memory.
Python 3 compatibility.
The “network.nearest_pois()” method can now return the labels of the pois rather than just the distances
OSM data loading is now done via the osmnet package.
Changes to support multiple graphs.
Added reindex functions.
Switched code style checker in Travis CI to “pycodestyle”, which has replaced the “pep8” package.