geobuf
Geobuf is a compact binary geospatial format for lossless compression of GeoJSON.
Decision gist · record as of 2026-08-14
Yes, if you work with GeoJSON and need significant file-size reduction without losing data. The low install friction, permissive license, and active maintenance make it a straightforward choice. The 6-8x compression ratio and support for incremental parsing are genuine advantages for large geographic datasets. No known vulnerabilities and stable API.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with three lightweight runtime dependencies (click, protobuf, six).
- Last release was 206 days ago; the project is archived on GitHub but remains actively maintained by the pygeobuf organization.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open and closed projects with minimal obligations.
last release 2026-01-20 (206 days) · last repo commit 2026-01-20 · 161 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 80,613 downloads/mo, #14,281 on PyPI
Alternatives
Verify before relying
pip install geobuf
import geobuf
import json
with open('example.json') as f:
geojson = json.load(f)
pbf = geobuf.encode(geojson) # GeoJSON dict → binary
recovered = geobuf.decode(pbf) # binary → GeoJSON dict- Whether Python version support is truly unspecified or if there are practical constraints based on protobuf and six compatibility.
- Performance comparison with native JSON implementations in production workloads.
What it is and what it does
Geobuf is a binary serialization format for GeoJSON that trades JSON's human readability for dramatic file-size reduction. It encodes geographic feature collections into a compact protobuf-based format, typically shrinking files by 6-8x compared to raw GeoJSON, and 2-2.5x compared to gzipped JSON. The format is lossless—all properties, coordinates, and geometries survive round-trip encoding and decoding intact.
The package provides both a command-line tool (geobuf encode/decode) and a Python API. It supports incremental parsing (reading features as they arrive rather than loading the entire dataset into memory), partial reads (skipping unneeded data), and trivial concatenation of multiple Geobuf files. It's designed as a modern, GeoJSON-native alternative to Shapefile for scenarios where you need compact storage or transmission of geographic datasets without tiling or coordinate projection.
Use it for
- Compress large GeoJSON datasets for storage or network transmission in web mapping applications.
- Stream geographic features incrementally from a Geobuf file without loading the entire dataset into memory.
- Replace Shapefile workflows with a simpler, JSON-compatible binary format that preserves all properties.
- Reduce bandwidth for serving geographic data to browsers or mobile clients.
- Concatenate multiple geographic datasets by simply appending Geobuf files together.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with GeoJSON and need significant file-size reduction without losing data.
The low install friction, permissive license, and active maintenance make it a straightforward choice. The 6-8x compression ratio and support for incremental parsing are genuine advantages for large geographic datasets. No known vulnerabilities and stable API.
Install
geobuf on PyPI
Before you install
Low install friction with three lightweight runtime dependencies (click, protobuf, six). Last release was 206 days ago; the project is archived on GitHub but remains actively maintained by the pygeobuf organization.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open and closed projects with minimal obligations.
Quickstart
pip install geobuf
import geobuf
import json
with open('example.json') as f:
geojson = json.load(f)
pbf = geobuf.encode(geojson) # GeoJSON dict → binary
recovered = geobuf.decode(pbf) # binary → GeoJSON dict
Verify before relying
- Whether Python version support is truly unspecified or if there are practical constraints based on protobuf and six compatibility.
- Performance comparison with native JSON implementations in production workloads.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesclickprotobufsix |
| Maintenance | Aging 206 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 80,613 / month, #14,281 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: geobuf-2.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “geojson compression”
- geobufGeobuf encodes GeoJSON to a compact binary format and decodes it…
- topojsontopojson encodes spatial data into TopoJSON format, a compressed…
- polylineEncodes and decodes geographic coordinate sequences using Google's…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also polyline · topojson · bbpb · geomet · pypolyline · geojson · nbtlib · pyjpegls · pylzss · geojson-pydantic