fudgeo
GeoPackage support from Python. fudgeo is a lightweight package for creating OGC GeoPackages, Feature Classes, and Tables. Easily read and write geometries and attributes to Feature Classes and Tables using regular Python objects and SQLite syntax.
What it is and what it does
fudgeo is a lightweight Python library for creating and managing OGC GeoPackages—standardized SQLite-based containers for geospatial data. It abstracts away the complexity of GeoPackage internals, letting you work with geometries (points, lines, polygons, and variants with Z/M dimensions) and attributes as regular Python objects, then persist them using familiar SQL operations (SELECT, INSERT, UPDATE, DELETE). The library handles spatial reference systems, feature classes, tables, and metadata automatically.
You use fudgeo to build new GeoPackages from scratch or open existing ones, define feature classes with custom fields and coordinate systems, insert and query geometries with their attributes, and optionally add spatial indexes. It depends on numpy and bottleneck for numerical operations and runs on Python 3.10 through 3.14. The library is designed for developers who need programmatic control over geospatial data without the overhead of heavier GIS frameworks.
Use it for:
- Build a GeoPackage database of road networks with linestring geometries and attributes like road name and one-way status.
- Create feature classes with custom spatial reference systems (UTM, local projections) and insert thousands of geometries via bulk SQL operations.
- Read and query existing GeoPackages using standard SQLite syntax while working with geometry objects in Python.
- Define tables with Z and M dimensions (elevation, measurement) for 3D or time-series geospatial data.
- Export geospatial data to a portable, standards-compliant format compatible with ArcGIS and other GIS software.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
fudgeo creates and manages OGC GeoPackages—SQLite-based geospatial databases—allowing you to read and write geometries and attributes using Python objects and standard SQL syntax.
Yes. fudgeo is actively maintained, has no known vulnerabilities, installs with minimal friction, and carries a permissive MIT license. Install it if you need to create or manage GeoPackages programmatically in Python and prefer a lightweight, SQL-native approach over heavier GIS libraries. Not worth installing if you need advanced spatial analysis, raster support, or integration with other GIS ecosystems beyond basic GeoPackage compatibility.
Install
fudgeo on PyPI
pip
pip install fudgeouv
uv add fudgeopoetry
poetry add fudgeoInstalling fudgeo
Before you install
Low install friction; pure Python wheel with only two runtime dependencies (numpy and bottleneck). Actively maintained with a recent release (40 days old) and no known vulnerabilities.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute fudgeo freely provided you include the license notice.
Quickstart
from fudgeo import GeoPackage
# Create a new GeoPackage
gpkg = GeoPackage.create('example.gpkg')
# Open an existing GeoPackage
gpkg = GeoPackage('example.gpkg')
Requires Python 3.10 or later; GeoPackage files are SQLite databases and require write access to the filesystem.
Verify before relying
- Whether fudgeo validates GeoPackage compliance against the full OGC specification or performs only basic structural checks.
- Performance characteristics when working with large GeoPackages (millions of features or high-dimensional geometries).
- Whether spatial indexing is automatic or requires explicit configuration for query optimization.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — bottleneck, numpy |
| Maintenance | actively maintained — 40 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,208/month — #11,831 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fudgeo-1.5.10-py3-none-any.whl
Keywords: geopackage
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
pyogrioPyogrio provides fast, bulk-oriented read and…
permissive · top 5,000 on PyPI
fionaFiona reads and writes vector GIS data…
permissive · top 5,000 on PyPI
geometConverts between GeoJSON, WKT/WKB, Extended…
permissive · top 5,000 on PyPI
odc-geoProvides projection-aware geometry classes…
permissive · top 15,000 on PyPI
plpygisConverts geometries between WKB/EWKB, WKT/EWKT,…
copyleft · top 15,000 on PyPI
sqlean.pyA drop-in replacement for Python's sqlite3…
permissive · top 5,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
pygeoifPyGeoIf provides lightweight, pure-Python…
copyleft · top 15,000 on PyPI
GeoAlchemy2GeoAlchemy2 extends SQLAlchemy to work with…
permissive · top 5,000 on PyPI
pangresUpserts pandas DataFrames into PostgreSQL,…
permissive · top 15,000 on PyPI