← Back to all sparks
G

geopandas

ANALYTICS
Velocity0.0

Geographic pandas extensions for spatial data

GeoPandas bet everything on shapely 2 and Pyogrio, and is now paying down pandas 3

geospatialpythonpandas-compatshapelyio-backends
Current state
The library is in patch mode on the 1.1 line, split between pandas 3.0 compatibility work - Copy-on-Write, the new string dtype - and a run of bug fixes that includes two separate SQL-injection hardenings in to_postgis. The visible history reaches back to the 1.0 pre-releases, where GeoPandas dropped shapely<2 and PyGEOS entirely and switched its default I/O engine from Fiona to Pyogrio.
Where it's heading
The 1.0 cycle collapsed a pile of optional backends into one geometry engine and one I/O engine, and the releases since have been about surviving what moves underneath: pandas 3.0 changing copy semantics and string storage. Expect the compatibility burden, not new spatial capability, to set the release cadence for now.
Prediction
Further 1.1.x patches tracking pandas 3.x behaviour changes are the most likely next move, with the repeated to_postgis fixes suggesting more scrutiny of SQL construction there. Nothing in these entries points to a 1.2 feature line.

Recent moves

  1. 1mo ago

    More SQL injection hardening in to_postgis

    A bugfix release whose headline item is further hardening of to_postgis against SQL injection, the second such fix in three releases, alongside sample_points ordering and explore() legend fixes.

    View source ↗
  2. 5mo ago

    pandas 3.0 Copy-on-Write and string dtype compatibility

    Compatibility work for pandas 3.0: deferred copies under Copy-on-Write, and correct missing-value handling in from_wkt/wkb and to_postgis now that pandas uses a new string dtype. This is the cost of sitting directly on top of pandas internals.

    View source ↗
  3. 7mo ago

    SQL injection fix in to_postgis, plus Parquet and CRS fixes

    A broad fix release covering from_features, read_file/to_file, Parquet with complex arrow types, and CRS preservation in value_counts. It also fixes the first SQL injection in to_postgis, via the geometry column name.

    View source ↗
  4. 2y ago

    GeoPandas 1.0 RC drops PyGEOS and defaults to Pyogrio

    ⚡ SPARK

    The 1.0 release candidate that finalises the backend consolidation: shapely 2 as the only geometry engine, Pyogrio as the default I/O engine, rtree spatial indexing removed, and a batch of shapely methods surfaced onto GeoSeries and GeoDataFrame.

    View source ↗
  5. 2y ago

    First 1.0 alpha deprecates unary_union for union_all

    The first 1.0 alpha, previewing the same backend consolidation plus the API changes that come with it: unary_union deprecated in favour of union_all, and sjoin preserving the right frame's index name. The groundwork the release candidate builds on.

    View source ↗