Skip to content

Releases: Toblerity/Fiona

1.9a2

10 Jun 14:51
Compare
Choose a tag to compare
1.9a2 Pre-release
Pre-release

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:

  • Fiona's API methods will accept feature and geometry dicts in 1.9.0, but this usage is deprecated. Instances of Feature and Geometry will be required in 2.0.
  • The precision keyword argument of fiona.transform.transform_geom is deprecated and will be removed in version 2.0.
  • Deprecated usage has been eliminated in the project. Fiona's tests pass when run with a -Werror::DeprecationWarning filter.

Changes:

  • Fiona's FionaDeprecationWarning now sub-classes DeprecationWarning.
  • Some test modules have beeen re-formatted using black.

New features:

  • Fiona Collections now carry a context exit stack into which we can push fiona Envs and MemoryFiles (#1059).
  • Fiona has a new CRS class, like rasterio's, which is compatible with the CRS dicts of previous versions (#714).

1.9a1

19 May 22:04
Compare
Choose a tag to compare
1.9a1 Pre-release
Pre-release

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:

  • The fiona.drivers() function has been deprecated and will be removed in version 2.0. It should be replaced by fiona.Env().
  • The new fiona.meta module will be renamed to fiona.drivers in version 2.0.

Packaging:

  • Source distributions contain no C source files and require Cython to create them from .pyx files (#1096).

Changes:

  • Shims for various versions of GDAL have been removed and are replaced by Cython compilation conditions (#1093).
  • Use of CURL_CA_BUNDLE environment variable is replaced by a more specific GDAL/PROJ_CURL_CA_BUNDLE (#1095).
  • Fiona's feature accessors now return instances of fiona.model.Feature instead of Python dicts (#787). The Feature class is compatible with code that expects GeoJSON-like dicts but also provides id, geometry, and properties attributes. The last two of these are instances of fiona.model.Geometry and fiona.model.Properties.
  • GDAL 3.1.0 is the minimum GDAL version.
  • Drop Python 2, and establish Python 3.7 as the minimum version (#1079).
  • Remove six and reduce footprint of fiona.compat (#985).

New features:

  • The appropriate format driver can be detected from filename in write mode (#948).
  • Driver metadata including dataset open and dataset and layer creations options are now exposed through methods of the fiona.meta module (#950).
  • CRS WKT format support (#979).
  • Add 'where' SQL clause to set attribute filter (#961, #1097).

Bug fixes:

  • Env and Session classes have been updated for parity with rasterio and to resolve a credential refresh bug (#1055).

1.8.21

07 Feb 17:34
Compare
Choose a tag to compare

Changes:

  • Driver mode support tests have been made more general and less susceptible to driver quirks involving feature fields and coordinate values (#1060).
  • OSError is raised on attempts to open a dataset in a Python file object in "a" mode (see #1027).
  • Upgrade attrs, cython, etc to open up Python 3.10 support (#1049).

Bug fixes:

  • Allow FieldSkipLogFilter to handle exception messages as well as strings (reported in #1035).
  • Clean up VSI files left by MemoryFileBase, resolving #1041.
  • Hard-coded "utf-8" collection encoding added in #423 has been removed (#1057).

1.8.13.post1

22 Feb 01:07
Compare
Choose a tag to compare

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.

1.8.0

31 Oct 14:58
fe9db79
Compare
Choose a tag to compare

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 by fiona.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 to list(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.