skillfed

geomet

Pure Python conversion library for common geospatial data formats

geomet v1.1.0 8.9M downloads/30d#1,585 on PyPI176
Permissive license Apache-2.0 AGING released

What it is and what it does

GeoMet is a pure-Python library for converting between common geospatial data formats: GeoJSON, WKT (Well-Known Text), WKB (Well-Known Binary), Extended WKT/WKB (EWKT/EWKB), GeoPackage Binary, and EsriJSON. It handles 2D, 3D, and 4D geometries including Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection types. The library exposes conversions through idiomatic load/loads/dump/dumps interfaces, making it straightforward to parse and serialize geometries.

The package was created to avoid the complexity and maintenance burden of depending on GEOS, a compiled C/C++ library. By implementing format conversion in pure Python, GeoMet allows geometry bugs to be fixed directly in the library without waiting for upstream GEOS releases. It also preserves SRID (spatial reference system identifier) information through conversions via a custom GeoJSON extension, and supports envelope metadata in GeoPackage format.

Use it for:

  • Convert GeoJSON from web APIs into WKT for database storage or PostGIS queries
  • Parse WKB binary data from GeoPackage files and transform to GeoJSON for web applications
  • Preserve SRID information when converting between EWKT and EWKB formats in spatial workflows
  • Serialize geometry objects to EsriJSON for Esri mapping platforms
  • Handle mixed-dimension geometries (2D, 3D, 4D with Z, M, ZM coordinates) in data pipelines

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts between GeoJSON, WKT/WKB, Extended WKT/WKB, GeoPackage Binary, and EsriJSON formats for 2D, 3D, and 4D geometries without requiring compiled dependencies.

Yes. GeoMet is stable, permissively licensed, has low install friction, and covers all common geospatial format conversions without compiled dependencies. The aging maintenance status (last release November 2023) is a minor concern for a mature library with no known vulnerabilities, but check whether your specific format combinations and SRID use cases are fully supported before committing to a production dependency.

Install

geomet on PyPI

pip

pip install geomet

uv

uv add geomet

poetry

poetry add geomet

Installing geomet

Before you install

Low install friction with a single runtime dependency (click). The package is in production/stable status but aging—last release was over a year ago (November 2023) and the last commit was June 2025, suggesting maintenance is infrequent but not abandoned.

License in practice

Licensed under Apache-2.0 (permissive), which allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.

Quickstart

pip install geomet

from geomet import wkt
point = {'type': 'Point', 'coordinates': [116.4, 45.2, 11.1]}
wkt.dumps(point, decimals=4)
# Output: 'POINT (116.4000 45.2000 11.1000)'

Verify before relying

  • Performance characteristics when handling large geometry collections or high-volume conversions
  • Whether SRID preservation works consistently across all format combinations
  • Completeness of EsriJSON support relative to the Esri specification

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 1 — click
Maintenance aging — 1,004 days since the last release
Last repo commit
First released
Downloads 8,871,331/month — #1,585 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: geomet-1.1.0-py3-none-any.whl

Keywords: esri, ewkb, ewkt, geojson, geopackage, geospatial, gis, spatial, wkb, wkt

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: GIS

Tags

geojson to wkt conversionwkb wkt geometry parsergeopackage binary formatgeospatial data format conversionpure python geometry libraryesri json geospatialwell-known text binary
geospatialformat-conversiongis

More GIS packages