This page provides some good GeoAI & Geospatial Python libraries.

**PySAL**–Python Spatial Analysis Library (website, GitHub repo)

**Shapely**(GitHub repo, documentation and manual) — Manipulation and analysis of geometric objects in the Cartesian plane

**OSMnx —**Python for street networks (website, GitHub repo, osmnx-examples — Examples demonstrating the usage of OSMnx –using jupyter notebook)

Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.

Blog post summary about OSMnx — OSMnx: Python for Street Networks (2016/11, with some usage code examples) — PDF

The journal article about OSMnx: *Boeing, G. 2017. “OSMnx: New Methods for Acquiring, Constructing, Analyzing, and Visualizing Complex Street Networks.” Computers, Environment and Urban Systems. 65, 126-139. doi:10.1016/j.compenvurbsys.2017.05.004*

**Abstract** Urban scholars have studied street networks in various ways, but there are data availability and consistency limitations to the current urban planning/street network analysis literature. To address these challenges, this article presents **OSMnx, a new tool to make the collection of data and creation and analysis of street networks simple, consistent, automatable and sound from the perspectives of graph theory, transportation, and urban design.** OSMnx contributes** five significant capabilities for researchers and practitioners:** first, the **automated downloading of political boundaries and building footprints**; second, the **tailored and automated downloading and constructing of street network data from OpenStreetMap**; third, the** algorithmic correction of network topology**; fourth, the ability to **save street networks to disk as shapefiles, GraphML, or SVG files**; and fifth, the ability to **analyze street networks, including calculating routes, projecting and visualizing networks, and calculating metric and topological measures**. These measures include those common in urban design and transportation studies, as well as advanced measures of the structure and topology of the network. Finally, this article presents a simple case study using OSMnx to construct and analyze street networks in Portland, Oregon.

- GeoPandas: Spatial extension of pandas
- sentinelhub (GitHub repo, Documents) — a Python package for downloading and processing free and open-source satellite imagery in Python scripts using Sentinel Hub services.
- Fiolum: Interactive visualization of spatial objects with leaflet
- TBA

**References:**

- Essential geospatial Python libraries (by Christoph Rieke, Mar 25, 2018) — PDF
- Python geospatial ecosystem