geopandas/pyogrio

Vectorized vector I/O using OGR

Python

339

475 commits

updated Sep 22, 2026

See the code

README

pypi Conda version Actions Status Powered by NumFOCUS

pyogrio - bulk-oriented spatial vector file I/O using GDAL/OGR

Pyogrio provides fast, bulk-oriented read and write access to GDAL/OGR vector data sources, such as ESRI Shapefile, GeoPackage, GeoJSON, and several others. Vector data sources typically have geometries, such as points, lines, or polygons, and associated records with potentially many columns worth of data.

The typical use is to read or write these data sources to/from GeoPandas GeoDataFrames. Because the geometry column is optional, reading or writing only non-spatial data is also possible. Hence, GeoPackage attribute tables, DBF files, or CSV files are also supported.

Pyogrio is fast because it uses pre-compiled bindings for GDAL/OGR to read and write the data records in bulk. This approach avoids multiple steps of converting to and from Python data types within Python, so performance becomes primarily limited by the underlying I/O speed of data source drivers in GDAL/OGR.

We have seen >5-100x speedups reading files and >5-20x speedups writing files compared to using row-per-row approaches (e.g. Fiona).

Read the documentation for more information: https://pyogrio.readthedocs.io.

Requirements

  • Python >= 3.10
  • GDAL >= 3.6
  • Reading to GeoDataFrames requires geopandas>=0.12 and shapely>=2. Additionally, installing pyarrow enables a further speed-up when specifying use_arrow=True.

Installation

Pyogrio is currently available on conda-forge and PyPI for Linux, MacOS, and Windows.

Please read the installation documentation for more information.

Supported vector formats

Pyogrio supports most common vector data source formats (provided they are also supported by GDAL/OGR), including ESRI Shapefile, GeoPackage, GeoJSON, and FlatGeobuf.

Please see the list of supported formats for more information.

Getting started

Please read the introduction for more information and examples to get started using Pyogrio.

You can also check out the API documentation for full details on using the API.

Credits

This project is made possible by the tremendous efforts of the GDAL, Fiona, and Geopandas communities.

  • Core I/O methods and supporting functions adapted from Fiona
  • Inspired by Fiona PR

geopandas/pyogrio

Vectorized vector I/O using OGR

Python

339

475 commits

updated Sep 22, 2026

See the code

README

pypi Conda version Actions Status Powered by NumFOCUS

pyogrio - bulk-oriented spatial vector file I/O using GDAL/OGR

Pyogrio provides fast, bulk-oriented read and write access to GDAL/OGR vector data sources, such as ESRI Shapefile, GeoPackage, GeoJSON, and several others. Vector data sources typically have geometries, such as points, lines, or polygons, and associated records with potentially many columns worth of data.

The typical use is to read or write these data sources to/from GeoPandas GeoDataFrames. Because the geometry column is optional, reading or writing only non-spatial data is also possible. Hence, GeoPackage attribute tables, DBF files, or CSV files are also supported.

Pyogrio is fast because it uses pre-compiled bindings for GDAL/OGR to read and write the data records in bulk. This approach avoids multiple steps of converting to and from Python data types within Python, so performance becomes primarily limited by the underlying I/O speed of data source drivers in GDAL/OGR.

We have seen >5-100x speedups reading files and >5-20x speedups writing files compared to using row-per-row approaches (e.g. Fiona).

Read the documentation for more information: https://pyogrio.readthedocs.io.

Requirements

  • Python >= 3.10
  • GDAL >= 3.6
  • Reading to GeoDataFrames requires geopandas>=0.12 and shapely>=2. Additionally, installing pyarrow enables a further speed-up when specifying use_arrow=True.

Installation

Pyogrio is currently available on conda-forge and PyPI for Linux, MacOS, and Windows.

Please read the installation documentation for more information.

Supported vector formats

Pyogrio supports most common vector data source formats (provided they are also supported by GDAL/OGR), including ESRI Shapefile, GeoPackage, GeoJSON, and FlatGeobuf.

Please see the list of supported formats for more information.

Getting started

Please read the introduction for more information and examples to get started using Pyogrio.

You can also check out the API documentation for full details on using the API.

Credits

This project is made possible by the tremendous efforts of the GDAL, Fiona, and Geopandas communities.

  • Core I/O methods and supporting functions adapted from Fiona
  • Inspired by Fiona PR

Project health

Latest release

0.13.0 · Jun 26, 2026

Releases this year

3

Significant stargazers

David Brochart

399 followers · starred Aug 2025

Christine P. Chai

87 followers · starred Feb 2026

Jonas Hörsch

83 followers · starred May 2023

Pete Gadomski

354 followers · starred Aug 2023