fiona
Fiona reads and writes spatial data files
Decision gist · record as of 2026-08-14
Yes, if you work with vector GIS data in Python and want a readable, productive API. Install via pip for simple use; for production or optional format support, use conda or build from source. No known vulnerabilities. Maintenance is aging (last release 697 days ago) but the repository remains active and the library is stable (Production/Stable status). Medium install friction is acceptable for most projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires GDAL 3.4 or higher and Python 3.8 or higher.
- System GDAL libraries must be installed; binary wheels include GDAL but may lack optional format drivers (e.g., GML).
- Medium friction: prebuilt wheels available for common Python versions and platforms, but installation from source requires GDAL 3.4+ and system libraries.
License · maintenance · safety
BSD 3-Clause (permissive) — BSD 3-Clause license is permissive; you may use, modify, and distribute Fiona in commercial and private projects with minimal restrictions, provided you include the license notice.
last release 2024-09-16 (697 days) · last repo commit 2025-02-20 · 1,247 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 10,076,248 downloads/mo, #1,485 on PyPI
Alternatives
Verify before relying
import fiona
from fiona import Feature, Geometry
with fiona.open('input.shp') as src:
profile = src.profile
with fiona.open('output.gpkg', 'w', **profile) as dst:
for feat in src:
dst.write(feat)- Whether prebuilt wheels include all format drivers needed for your specific GIS formats beyond basic Shapefile and GeoPackage.
- Performance characteristics when streaming large datasets or working with cloud storage paths.
- Compatibility of bundled GDAL version with other geospatial packages in your environment.
What it is and what it does
Fiona is a Python library that reads and writes vector geographic data in formats like Shapefile and GeoPackage. It wraps GDAL but is designed to be more productive and readable than GDAL's own Python bindings. Fiona models features as data classes following the GeoJSON structure, making it straightforward to read features from one file, transform them (often using Shapely for geometry operations), and write them to another format.
The package includes both a Python API via `fiona.open()` and a command-line tool (`fio`) for tasks like streaming GeoJSON or inspecting file metadata. Installation is straightforward via pip for simple applications, though production use or support for optional format drivers may require building from source or using conda. Fiona depends on GDAL 3.4+ and Python 3.8+.
Use it for
- Convert between GIS formats (Shapefile to GeoPackage, etc.) with geometry or property transformations.
- Stream large vector datasets from files or cloud storage without loading everything into memory.
- Build command-line tools for GIS data processing and inspection using the fio CLI.
- Read geographic features and apply spatial operations (buffering, clipping) via Shapely integration.
- Extract and filter features from multi-layered GIS files based on bounding box or other criteria.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with vector GIS data in Python and want a readable, productive API.
Install via pip for simple use; for production or optional format support, use conda or build from source. No known vulnerabilities. Maintenance is aging (last release 697 days ago) but the repository remains active and the library is stable (Production/Stable status). Medium install friction is acceptable for most projects.
Install
fiona on PyPI
Before you install
Medium friction: prebuilt wheels available for common Python versions and platforms, but installation from source requires GDAL 3.4+ and system libraries. Wheels omit optional format drivers; production use may require conda or source builds. Last release 697 days ago; repository active but aging.
Requires GDAL 3.4 or higher and Python 3.8 or higher. System GDAL libraries must be installed; binary wheels include GDAL but may lack optional format drivers (e.g., GML).
License in practice
BSD 3-Clause license is permissive; you may use, modify, and distribute Fiona in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
import fiona
from fiona import Feature, Geometry
with fiona.open('input.shp') as src:
profile = src.profile
with fiona.open('output.gpkg', 'w', **profile) as dst:
for feat in src:
dst.write(feat)
Verify before relying
- Whether prebuilt wheels include all format drivers needed for your specific GIS formats beyond basic Shapefile and GeoPackage.
- Performance characteristics when streaming large datasets or working with cloud storage paths.
- Compatibility of bundled GDAL version with other geospatial packages in your environment.
Package facts
| License | BSD 3-Clause permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 6 packagesattrscertificlickclick-pluginscligjimportlib-metadata |
| Maintenance | Aging 697 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,076,248 / month, #1,485 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: GIS |
Evidence: fiona-1.10.1-cp310-cp310-macosx_10_15_x86_64.whl; fiona-1.10.1-cp310-cp310-macosx_11_0_arm64.whl; fiona-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fiona-1.10.1-cp310-cp310-win_amd64.whl; fiona-1.10.1-cp311-cp311-macosx_10_15_x86_64.whl; fiona-1.10.1-cp311-cp311-macosx_11_0_arm64.whl; fiona-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fiona-1.10.1-cp311-cp311-win_amd64.whl; fiona-1.10.1-cp312-cp312-macosx_10_15_x86_64.whl; fiona-1.10.1-cp312-cp312-macosx_11_0_arm64.whl; fiona-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fiona-1.10.1-cp312-cp312-win_amd64.whl; fiona-1.10.1-cp313-cp313-macosx_10_15_x86_64.whl; fiona-1.10.1-cp313-cp313-macosx_11_0_arm64.whl; fiona-1.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fiona-1.10.1-cp313-cp313-win_amd64.whl; fiona-1.10.1-cp38-cp38-macosx_10_15_x86_64.whl; fiona-1.10.1-cp38-cp38-macosx_11_0_arm64.whl; fiona-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fiona-1.10.1-cp38-cp38-win_amd64.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 › “vector gis data python”
- fionaFiona reads and writes vector GIS data (Shapefile, GeoPackage, etc.)…
- GDALGDAL provides Python bindings to read, write, and manipulate…
- pygdalProvides Python bindings for GDAL (Geospatial Data Abstraction…
Give your agent the search over MCP, or paste the wish link into any chat.
More GIS packages
Shapely provides Python tools for creating, manipulating, and analyzing 2D geometric objects (points, lines, polygons) using the GEOS library, with both scalar and vectorized NumPy-based operations.
pyproj provides a Python interface to PROJ, enabling cartographic projections and coordinate system transformations for geospatial applications.
GeoPandas extends pandas DataFrames to handle geographic data, combining pandas operations with shapely geometry and spatial analysis capabilities that would otherwise require a spatial database.
Install it if you work with geographic data in Python and want to avoid setting up a spatial database or learning a separate GIS tool.
geopy is a Python client for geocoding and distance calculation that converts addresses to coordinates and vice versa using multiple web-based geocoding services, and computes geodesic and great-circle distances between geographic points.
Install it if you need geocoding or distance calculations in your application.
Pyogrio provides fast, bulk-oriented read and write access to vector spatial data formats (Shapefile, GeoPackage, GeoJSON, etc.) via GDAL/OGR bindings, typically for use with GeoPandas GeoDataFrames.
h3 provides Python bindings to Uber's H3 geospatial indexing library, converting geographic coordinates into hierarchical hexagonal grid cells and performing spatial operations on them.
See also GDAL · pyshp · fudgeo · rasterio · pygeoif · geomet · geojson