- add fast nearest-nodes search
- allow custom network query filters
- allow create_graph to return graph with no edges
- improve figure_ground joint smoothing
- fix handling of parallel edges when making multidigraph undirected
- generalize same-geometry checker
- improve detection of prior topology simplification
- custom error types for finer-grained handling
- turn off x- and y-axes to improve plotting appearance
- make floating-point precision and rounding more sensible
- improve OS path handling cross-platform
- replace great-circle distance calculator with haversine
- add access filter as configurable setting
- improve performance of inducing subgraphs
- fix utils.get_largest_component for networkx 2.2 compatibility
- fix config settings namespacing
- compatibility with networkx 2.1
- fix documentation build
- ignore ways marked access=no
- ability to load a graph from a .osm file
- change datum from NAD83 to WGS84
- make roundabouts one-way
- conformal plotting for unprojected graphs
- fix folium web maps rendering
- migrate to the networkx 2.0 API
- add optional cleaned intersections count to basic stats
- allow circuity to be calculated for projected or unprojected networks
- various code clean-up and refactoring
- add requirements files to distribution
- add ability to download other infrastructures besides just roads/paths (e.g., rail lines, power lines, etc.)
- calculate graph edges' bearings
- add ability to get nearest node by great circle or euclidean distance
- move examples/demo notebooks to new repo: osmnx-examples
- fix docstrings
- fix building footprint downloads that require multiple calls for large areas
- fix missing MultiPolygon import in buildings module
- functionality to clean-up and consolidate complex intersections
- let save_gdf_shapefile save building footprint GeoDataFrames
- set node color correctly in figure-ground diagrams
- add elevation module to get node elevations and street grades
- new color sequence creation and conversion functions in plot module
- new function to get a path's edge attribute values
- gracefully handle subpolygons that are invalid or have zero area
- make truncate_graph_polygon work on projected graphs
- plot_shape accepts a color or a list of colors
- make all requests to Overpass API set custom user-agent and referer
- rewrite algorithms to convert multidigraphs to multigraphs
- fix load_graphml so we can save a graph again after loading it
- fix load_graphml so edge oneway attribute is not always set to True
- buildings module gets buildings stored in OSM as relations as well as ways
- fix figure-ground diagram saving to make perfect square and smooth joints
- add optional graph argument to plot_figure_ground
- suppress jupyter notebook deprecation warnings
- plot entire networks with folium
- plot routes on top of networks with folium
- vectorize all great circle calculations
- new geocode function in utils
- remove geopy dependency
- refactor modules
- simplify before truncating by distance when getting graph by point and network distance
- project geometries, GeoDataFrames, and graphs to a passed-in CRS
- clean up docstrings throughout
- remove network code vestiges from buildings.py
- add route plotting with folium
- add downloading and visualization of building footprints
- updates for compatibility with matplotlib 2.0
- fixes for compatibility with networkx 2.0's new API
- make png default image save format
- figure-ground plots collect street network from a wider area
- add license file to dist package
- refactor modules
- add graph to GDF and GDF to graph functions
- add encoding argument to save_graph_shapefile
- add unit tests and continuous integration
- add street width attribute for ways from OSM
- make simplification error messages explicit
- process land use and area tags from OSM
- make intersection error messages clear
- first pre-release