Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Aida van de Wetering rebuilds GeoPolars as a geo namespace inside Polars in about 125 commits

Aida van de Wetering has pushed about 125 commits to GeoPolars' dev branch since mid-September, rebuilding it as a geo expression namespace inside Polars. Polars teams with spatial work now have something to test before they reach for GeoPandas, though the project is still a prototype.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Aida van de Wetering rebuilds GeoPolars as a geo namespace inside Polars in about 125 commits
Generated illustration

What happened

  • The prototype handles points, linestrings and polygons, their multi-variants, and a bounding box type.
  • It reads and writes WKB and WKT, and it can write GeoParquet.
  • Affine transforms cover translate, rotate, scale, skew and arbitrary matrices, and the matrix can differ from row to row.

Why it matters

  • decision Polars teams can now try geometry inside their existing queries before deciding to convert frames to GeoPandas for spatial steps.
  • constraint Going by the published feature list, pipelines that start from GeoParquet files or depend on spatial joins cannot move to the prototype yet.
  • cost Code written against the dev branch can break as the API changes, so evaluating it means pinning a commit and budgeting for rework.

The case the dev.to write-up makes for the rebuild is integration. It argues that putting geometry inside Polars removes an external dependency and the overhead of switching between libraries [10]. That saving only shows up in a given pipeline if a real share of its runtime goes into moving frames between Polars and GeoPandas. If most of the time goes into the geometry operations themselves, we would not expect a namespace alone to change the total.

The affine transforms show the expression design most clearly. Translate, rotate, scale, skew and arbitrary matrices are all supported, and the matrix can vary per row [7]. That makes the transform parameters column data, so one query can move each geometry by its own offset. This is good design, and it is what a geo namespace inside a DataFrame engine should look like.

We'd spend the first afternoon on the CRS work. The prototype keeps CRS metadata and computes distance, length and area according to it. The write-up gives the split between geodesic and planar methods as the example of why that matters [5]. A useful first test is one polygon of known area stored twice, once in a geographic CRS and once in a projected one. The two results should agree with each other and with a reference value.

The operations list is short. It names centroid, boundary, interior and coordinate accessors [6]. The write-up does not list spatial predicates, spatial joins or buffering. On I/O, WKB and WKT go both ways, and GeoParquet only goes out [4]. A pipeline whose inputs arrive as GeoParquet could, going by that list, write its output through GeoPolars and still need another route to read its input.

GeoPolars has gone dormant once already [1]. The write-up credits the revival to one contributor [2]. It also warns that if the project stalls again, users risk staying locked into GeoPandas [11]. Its own guidance is to use GeoPolars once it matures when performance and Polars integration are critical, and to rely on GeoPandas for stability otherwise [9]. In our view that is the right split for production. The dev branch is ready for a test against a team's own geometry now, on an API the write-up calls fluid [8].

What to watch

  • A tagged release or a written API stability commitment for GeoPolars.
  • Spatial predicates, spatial joins and GeoParquet reading landing on the dev branch.
  • Whether commits start arriving from contributors other than Aida van de Wetering.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence30
Adoption
Insufficient
Hype gap+35
Incentives
Insufficient
Confidence35
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    GeoPolars, a geospatial extension for the Polars DataFrame library, is being revived after a period of dormancy.

    ReportedSupportedSource: dev.to write-upView cited source
  2. [2]

    Since mid-September, Aida van de Wetering has driven the project with approximately 125 commits to the dev branch, turning GeoPolars into a Polars-native geo expression namespace.

    ReportedSupportedSource: dev.to write-upView cited source
  3. [3]

    The prototype supports point, linestring and polygon geometry types, their multi-variants, and a bounding box type.

    ReportedSupportedSource: dev.to write-upView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 11, 2026

    GeoPolars Development Resumes: New Features and Functionality Added to Geospatial Extension for Polars

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories