--- id: fiona version: "1.10.1" license: BSD 3-Clause license_treatment: permissive maintenance: aging --- # fiona — Fiona reads and writes spatial data files License: permissive · Maintenance: aging · Downloads: 10.1M/mo ## 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 above — verify before relying. Fiona reads and writes vector GIS data (Shapefile, GeoPackage, etc.) via a Python API and command-line interface, wrapping GDAL with a focus on readable, productive code. 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 pip install fiona uv add fiona poetry add fiona ## Installing fiona 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. 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) 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). 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_current - Install friction: medium - Maintenance: aging - Downloads: 10.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags read write shapefile geopackage, vector gis data python, geospatial feature data streaming, gdal python wrapper, gis file format conversion, geographic data i/o, spatial vector data access, gis-geospatial, gdal-wrapper, vector-data [View on SkillFed](https://skillfed.io/packages/fiona) · [View on PyPI](https://pypi.org/project/fiona/)