NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2263 most downloaded on PyPI
Fiona reads and writes spatial data files
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 5 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
117 releases · first in 2011
Several typos were found and fixed ( #1448 ). One variable was renamed and the ContextVar in _vsipyopener.pyx was renamed.
This is 1.10.0. At last! The project has added 25 new contributors since 1.9.0, for a total of 73.
This is 1.10.0. At last! The project has added 25 new contributors since 1.9.0, for a total of 73.
Fiona 1.10 will continue to support classic GIS programming work with a record-style data model. Rows, that is, not columns.
The changes since 1.9.6 are fully described in the changelog, split across pre-releases. Here is a high-level summary.
fiona.schema module will be removed in a future version.fiona.path module will be removed in a future version. This, and the previously mentioned constants, were not meant to be used by projects downstream.fsspec or tiledb.vfs, to GDAL's own virtual filesystem machinery. In most cases, you should reply on GDAL's built-in virtual filesystem handlers. On the other hand, if you have unique or proprietary data access protocols, then fiona's new openers may be useful.filter (strictly speaking, a new mode of this command), map, and reduce. These provide some great features for Unix-style data processing pipelines and are designed to work well with jq and programs of that nature.This version is heavily refactored. If it's not paying off for you, let us know!
The binary wheels on PyPI include GDAL 3.9.2 (3.9.1 for Windows), GEOS 3.11.2, and PROJ 9.4.1.
Fiona 1.10.0 requires GDAL 3.4 and Python 3.8 or newer.
One column per quarter.
The package version, credits, and citation file have been updated. There have been no other changes since 1.10.0rc1. Fiona is the work of 73 contributors, including 25 new contributors since 1.9.0.
This is the first release candidate for 1.10.0.
This is the first release candidate for 1.10.0.
Please see the CHANGES file for a more detailed enumeration of changes since version 1.10b1. Unless showstopper bugs are found in this release, expect a final 1.10.0 release in two weeks.
The sketchy, semi-private Python opener interfaces of version 1.10b2 have been replaced by ABCs that are exported from fiona.abc ( #1415 ). How to imp
test_pyopener.py and will be included in the documentation for version 1.10.0.Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.
Bug fixes:
This is the second beta release for Fiona 1.10. There are no new features, only bug fixes:
This is the second beta release for Fiona 1.10. There are no new features, only bug fixes:
Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.
This is the first beta release for Fiona 1.10. There are no new features, only one bug fix:
This is the first beta release for Fiona 1.10. There are no new features, only one bug fix:
Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.
The Python style of rio-filter expressions introduced in version 1.0 are deprecated. Only the parenthesized list type of expression will be supported…
This is the second 1.10 pre-release. The changes since 1.10a1 are enumerated below.
Aftermath of the "xz hackdoor" incident (see #1367) is preventing us from building Windows wheels for this release. You may expect them for the first 1.10 release candidate, if not sooner, and for the final 1.10.0 release.
Future 1.10 pre-releases will be announced at #1332.
The fiona.path module will be removed in version 2.0 and a deprecation warning is issued when the module is imported ( #1334 ). Additionally, members…
This is the first 1.10 pre-release.
Fiona 1.10 will require Python version 3.8 or higher.
The fiona.path module will be removed in version 2.0 and a deprecation warning is issued when the module is imported (#1334). Additionally, members of that module are no longer exported from the top level module.
Python openers can now support discovery of auxiliary "sidecar" files like .aux.xml, .msk, and .tfw files for GeoTIFFs (#1331). Additionally, filesystem objects, such as those from fsspec and tiledb, can be used as openers. This will become the recommended usage, supplanting the use of single file openers.
Future 1.10 pre-releases will be announced at #1332.
This is very likely the last 1.9.x release and fixes several bugs that can't wait until 1.10.0.
This is very likely the last 1.9.x release and fixes several bugs that can't wait until 1.10.0.
PyPI wheels include curl 8.4.0, addressing CVE-2023-38545 and CVE-38546.
fiona.Extraneous files were unintentionally packaged in the 1.9.4 wheels. This post1 release excludes them so that wheel contents are as in version 1.9.3.
Extraneous files were unintentionally packaged in the 1.9.4 wheels. This post1 release excludes them so that wheel contents are as in version 1.9.3.
The munch package used by fio-filter and fio-calc is now vendored and patched to remove usage of the deprecated pkg_resources module (#1255).
Version 1.9.4 has important bug fixes and improvements and, in the PyPI wheels, updates GDAL to 3.6.4.
Version 1.9.3 has a handful of important bug fixes and, in the PyPI wheels, upgrades GEOS to 3.11.2.
Version 1.9.3 has a handful of important bug fixes and, in the PyPI wheels, upgrades GEOS to 3.11.2.
Version 1.9.2 has a handful of important bug fixes.
Version 1.9.2 has a handful of important bug fixes.
The 1.9.0 release revealed a few bugs. Here are the ones we felt should be squished immediately.
The 1.9.0 release revealed a few bugs. Here are the ones we felt should be squished immediately.
__geo_interface__ (#1197).Wheels on PyPI include the same versions of GEOS, GDAL, and PROJ as in 1.9.0 but also patch GDAL 3.5.3 (https://github.com/OSGeo/gdal/pull/7171).
The GitHub release notes have been clobbered accidentally. We'll try to restore them if/when we can.
This is 1.9.0.
The GitHub release notes have been clobbered accidentally. We'll try to restore them if/when we can.
…__geo_interface__ (#1177). This reverses the deprecation introduced in 1.9a2.
The second 1.9 beta release is ready for early testing. All of the features planned for 1.9.0 are in this release.
The binary wheels on PyPI include GDAL 3.5.3, GEOS 3.11.1, and PROJ 9.0.1. To try the wheels, run pip install --pre fiona.
Feature.__geo_interface__ property (#1181).__geo_interface__ (#1174).__geo_interface__ (#1177). This reverses the deprecation introduced in 1.9a2.except Exception when, for example, piping the output of rio-shapes to the Unix head program, we avoid getting an unhandled BrokenPipeError message when the interpreter shuts down (#2689).The first 1.9 beta release is ready for early testing. All of the features planned for 1.9.0 are in this release.
The first 1.9 beta release is ready for early testing. All of the features planned for 1.9.0 are in this release.
The binary wheels on PyPI include GDAL 3.5.3, GEOS 3.11.1, and PROJ 9.0.1. To try the wheels, run pip install --pre fiona.
__init__.py and is no longer used anywhere else (#1168).Builds now require Cython >= 0.29.29 because of https://github.com/cython/cython/issues/4609 (see https://github.com/Toblerity/Fiona/issues/1143).
Builds now require Cython >= 0.29.29 because of https://github.com/cython/cython/issues/4609 (see https://github.com/Toblerity/Fiona/issues/1143).
Wheels include GDAL 3.5.2, PROJ 9.0.1, and GEOS 3.11.0 and are available for Python versions 3.7-3.11.
Packaging:
Please pay close attention to the deprecations and packaging changes.
The second 1.9 pre-release is ready for early testing. Not all of the features planned for 1.9.0 are in this release, and some of the features here may yet be modified. Please pay close attention to the deprecations and packaging changes.
The binary wheels on PyPI include GDAL 3.5.0 and PROJ 9.0.0, the latest versions of each. To try the wheels, run pip install --pre fiona.
Deprecations:
Changes:
New features:
Please pay close attention to the deprecations and packaging changes.
The first 1.9 pre-release is ready for early testing. Not all of the features planned for 1.9.0 are in this release, and some of the features here may yet be modified. Please pay close attention to the deprecations and packaging changes.
The binary wheels on PyPI include GDAL 3.5.0 and PROJ 9.0.0, the latest versions of each.
Deprecations:
Packaging:
Changes:
New features:
Bug fixes:
Builds now require Cython >= 0.29.29 because of https://github.com/cython/cython/issues/4609 (see #1143).
Builds now require Cython >= 0.29.29 because of https://github.com/cython/cython/issues/4609 (see #1143).
Wheels include GDAL 3.4.3, PROJ 8.2.1, and GEOS 3.10.2.
Builds now require Cython >= 0.29.29 because of https://github.com/cython/cython/issues/4609 (#1143).
Driver mode support tests have been made more general and less susceptible to driver quirks involving feature fields and coordinate values (#1060).
Changes:
Bug fixes:
Wheels include GDAL 3.3.0 and GEOS 3.9.1.
Packaging:
Bug fixes:
Wheels include GDAL 3.2.1 and PROJ 7.2.1.
Packaging:
Bug fixes:
The precision option of transform has been fixed for the case of GeometryCollections (#971, #972).
To fix issue #952 the fio-cat command no longer cuts feature geometries at the anti-meridian by default. A --cut-at-antimeridian option has been added
More OGR errors and warnings arising in calls to GDAL C API functions are surfaced (#946).
Change shim functions to not return tuples (#942) as a solution for the packaging problem reported in #941.
When creating a new Collection in a MemoryFile with a default (random) name Fiona will attempt to use a format driver-supported file extension (#934).
This release is being made to improve binary wheel compatibility with shapely 1.7.0. There have been no changes to the fiona package code since 1.8.13
This release is being made to improve binary wheel compatibility with shapely 1.7.0. There have been no changes to the fiona package code since 1.8.13.
The Python version specs for argparse and ordereddict in 1.8.12 were wrong and have been corrected (#843).
Specify Python versions for argparse, enum34, and ordereddict requirements (#842).
Fix an access violation on Windows (#826).
Use of vfs keyword argument with open or listlayers has been previously noted as deprecated, but now triggers a deprecation warning.
Deprecations:
Bug fixes:
The 1.8.9.post1 release introduced a bug affecting builds of the package from a source distribution using GDAL 2.x. This bug has been fixed in commit
A change has been made to the package setup script so that the shim module for GDAL 3 is used when building the package from a source distribution. Th
A shim module and support for GDAL 3.0 has been added. The package can now be built and used with GDAL 3.0 and PROJ 6.1 or 6.2. Note that the 1.8.9 wh
The schema of geopackage files with a geometry type code of 3000 could not be reported using Fiona 1.8.7. This bug is fixed.
Regression in handling of polygons with M values noted under version 1.8.5 below was in fact not fixed then (see new report #789), but is fixed in ver
Bug fixes:
Upcoming changes:
isinstance(feature, dict). In version 2.0 the new Feature, Geometry,
and Properties classes will become immutable mappings. See
https://github.com/Toblerity/fiona-rfc/blob/main/rfc/0001-fiona-2-0-changes.md
for more discussion of the upcoming changes for version 2.0.The advertisement for JSON driver enablement in 1.8.5 was false (#176), but in this release they are ready for use.
GDAL seems to work best if GDAL_DATA is set as early as possible. Ideally it is set when building the library or in the environment before importing F
with fiona.open(...) as collection: roughly equivalent to with fiona.open(...) as collection, Env():. This helps prevent bugs when Collections are created
and then used later or in different scopes.3D geometries can now be transformed with a specified precision (#523).
The RASTERIO_ENV config environment marker this project picked up from Rasterio has been renamed to FIONA_ENV (#665).
with Env() block or
set the GDAL_DATA and PROJ_LIB environment variables needed by GDAL.Raise FionaValueError when an iterator's __next__ is called and the session is found to be missing or inactive instead of passing a null pointer to OG
Bug fixes:
Add checks around OSRGetAuthorityName and OSRGetAuthorityCode calls that will log problems with looking up these items.
Bug fixes:
There are no known breaking changes in 1.8.0. Python warnings should be expected in several cases of class and method deprecation.
Fiona 1.8.0 is on PyPI today. Congratulations to all 46 developers (see the credits) file and many thanks to everyone who took the time to report a bug or test a new feature.
Much of the motivation for this version has been provided by the GeoPandas project. Working with Joris Van den Bossche et al. on various issues has been a pleasure.
There are no known breaking changes in 1.8.0. Python warnings should be expected in several cases of class and method deprecation.
fiona.drivers() context manager is being replaced by fiona.Env(), which also registers format drivers and has the same properties as the GDAL configuration manager in Rasterio.fiona.open(“example.shp”)[1:10] should be changed to list(fiona.open(“example.shp”))[1:10].This version has new features, including a set from the Rasterio project.
Major refactoring was required to bring new features over from Rasterio and to modernize our use of Cython. This was a huge lift, largely done by Joshua Arnott. Elliott Sales de Andrade took the lead on finishing the migration of Fiona’s tests to pytest.
This is the final 1.8.0 release. Thanks, everyone!
Bug fixes:
There are no changes in 1.8rc1 other than more test standardization and the introduction of a temporary test_collection_legacy.py module to support th
There are no changes in 1.8rc1 other than more test standardization and the introduction of a temporary test_collection_legacy.py module to support the build of fully tested Python 2.7 macosx wheels on Travis-CI.
The ensure_env_with_credentials decorator will no longer clobber credentials of the outer environment. This fixes a bug reported to the Rasterio proje
Bug fixes:
Refactoring:
Collection slicing has been deprecated and will be prohibited in a future version.
Deprecations:
Bug fixes:
Refactoring:
Nothing published for this version
Nothing published for this version
Nothing published for this version
This post-release adds missing expat (and thereby GPX format) support to the included GDAL library (still version 2.2.2).
The encoding keyword argument for fiona.open(), which is intended to allow a caller to override a data source's own and possibly erroneous encoding, h
encoding keyword argument for fiona.open(), which is intended
to allow a caller to override a data source's own and possibly erroneous
encoding, has not been working (#510, #512). The problem is that we weren't
always setting GDAL open or config options before opening the data sources.
This bug is resolved by a number of commits in the maint-1.7 branch and
the fix is demonstrated in tests/test_encoding.py.--encoding option has been added to fio-load to enable creation of
encoded shapefiles with an accompanying .cpg file (#499, #517).A post-release has been made to fix a problem with macosx wheels uploaded to PyPI.
An extraneous printed line from the rio cat --layers validator has been removed (#478).
Bug fixes:
rio cat --layers validator has been
removed (#478).Packaging:
This release introduces no changes in the Fiona package. It upgrades GDAL from 2.2.0 to 2.2.1 in wheels that we publish to the Python Package Index.
This release introduces no changes in the Fiona package. It upgrades GDAL from 2.2.0 to 2.2.1 in wheels that we publish to the Python Package Index.
Acquire the GIL for GDAL error callback functions to prevent crashes when GDAL errors occur when the GIL has been released by user code.
Bug fixes:
Provide all arguments needed by CPLError based exceptions (#456).
Bug fixes:
Your coding agent can read these notes before it upgrades. Set up the MCP server →