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.
- The
fiona.drivers()
context manager is being replaced byfiona.Env()
, which also registers format drivers and has the same properties as the GDAL configuration manager in Rasterio. - Collection slicing will be disallowed in a future version of Fiona to remove the confusion between mapping and list semantics for Collection objects. Code such as
fiona.open(“example.shp”)[1:10]
should be changed tolist(fiona.open(“example.shp”))[1:10]
.
This version has new features, including a set from the Rasterio project.
- Fiona has an increased and configurable transaction size for record writes, which makes the GeoPackage format fully usable in Fiona.
- The “http” and “https” URI schemes for datasets are now fully supported, providing direct access to vector data on the web. Support for an “s3” does the same for data in AWS S3 buckets.
- Support for “zip”, “zip+https”, and “zip+s3” datasets allows users to access records in zipped Shapefiles (for example) without needing to unzip them, whether on a local file system, on the web, or in S3.
- New MemoryFile and ZipMemoryFile classes provide easy access to datasets in streams of bytes.
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.