Recent Releases of shapely

shapely - 2.1.1

Bug fixes:

  • Fix performance degradation calling shapely functions (caused by deprecation of certain positional arguments) (#2283).
  • Fix crash caused by from_ragged_array() (#2291).
  • Fix compilation error building with recent LLVM toolchain (#2293).

For a full changelog , see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-1-1

- Python
Published by github-actions[bot] 10 months ago

shapely - 2.1.0

Shapely 2.1.0 is a feature release with various new functions, improvements and bug fixes. Highlights include initial support for geometries with M or ZM values, functionality for coverage validation and simplification, and a set of new top-level functions.

Shapely supports Python >= 3.10, and binary wheels on PyPI include GEOS 3.13.1 and are now also provided for musllinux (Alpine) x86_64 platforms.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-1-0

- Python
Published by github-actions[bot] 11 months ago

shapely - 2.1.0rc1

Shapely version 2.1.0 is a major release featuring various new functions, improvements and bug fixes. This is a first release candidate.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-0

- Python
Published by github-actions[bot] 12 months ago

shapely - 2.0.7

Shapely 2.0.7 fixes 3 bugs:

  • Fix compilation error on certain Linux platforms, such as Alpine (#1945).
  • Fixes crash when reading nonlinear geometry types (CircularString, CompoundCurve, MultiCurve, CurvePolygon, MultiSurface) from WKB/WKT with GEOS >= 3.13; these types are not yet supported in Shapely and now raise a NotImplementedError (#2160)
  • Fix the project() method to return a Python float (#2093).

Wheels include GEOS 3.11.4.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-7.

- Python
Published by sgillies about 1 year ago

shapely - 2.0.6

Wheels are available for Python 3.13 (and still include GEOS 3.11.4).

Bug fixes:

  • Fix compatibility with NumPy 2.1.0 (#2099).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-6

- Python
Published by github-actions[bot] over 1 year ago

shapely - 2.0.5

Binary wheels on PyPI include GEOS 3.11.4 from 2024-06-05. Furthermore, universal2 wheels are removed for macOS since both x86_64 and arm64 wheels are provided.

Bug fixes:

  • Fix Point x/y/z attributes to return Python floats (#2074).
  • Fix affinity for Apple silicon with NumPy 2.0 by reverting matmul, and use direct matrix multiplication instead (#2085).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-5

- Python
Published by github-actions[bot] over 1 year ago

shapely - 2.0.5

Binary wheels on PyPI include GEOS 3.11.4 from 2024-06-05. Furthermore, universal2 wheels are removed for macOS since both x86_64 and arm64 wheels are provided.

Bug fixes:

  • Fix Point x/y/z attributes to return Python floats (#2074).
  • Fix affinity for Apple silicon with NumPy 2.0 by reverting matmul, and use direct matrix multiplication instead (#2085).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-5

- Python
Published by mwtoews over 1 year ago

shapely - 2.0.4

Wheels for Python versions >= 3.9 will be compatible with the upcoming NumPy 2.0 release (as well as with supported NumPy 1.x versions).

Bug fixes:

  • Fix bug in to_wkt with multiple empty Z geometries (#2012).
  • Fix bug in to_ragged_array for an array of Points with missing values (#2034).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-4

- Python
Published by github-actions[bot] almost 2 years ago

shapely - 2.0.3

Bug fixes:

  • Fix regression in the oriented_envelope ufunc to accept array-like input in case of GEOS<3.12 (#1929).

Packaging related:

  • The binary wheels are not yet compatible with a future NumPy 2.0 release, therefore a numpy<2 upper pin was added to the requirements (#1972).
  • Upgraded the GEOS version in the binary wheel distributions to 3.11.3.

For a full changelog , see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-3

- Python
Published by github-actions[bot] about 2 years ago

shapely - 2.0.2

Bug fixes:

  • Fix regression in the (in)equality comparison (geom1 == geom2) using __eq__ to not ignore the z-coordinates (#1732).
  • Fix MultiPolygon() constructor to accept polygons without holes (#1850).
  • Fix minimum_rotated_rectangle (oriented_envelope) to always return the minimum area solution (instead of minimum width). In practice, it will use the GEOS implementation only for GEOS 3.12+, and for older GEOS versions fall back to the implementation that was included in Shapely < 2 (#1670).
  • Fix from_ragged_array to work with read-only array input (#1744).
  • Fix the handling of z coordinates shapely.ops.substring (#1699).

Wheels are available for Python 3.12 (and still include GEOS 3.11.2). Building from source is now compatible with Cython 3.

For a full changelog , see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-2

- Python
Published by github-actions[bot] over 2 years ago

shapely - 2.0.1

Bug fixes:

  • Fix regression in the Polygon() constructor taking a sequence of Points (#1662).
  • Fix regression in the geometry constructors when passing decimal.Decimal coordinate values (#1707).
  • Fix STRtree() to not make the passed geometry array immutable as side-effect of the constructor (#1714).
  • Fix the directed keyword in shapely.ops.linemerge() (#1695).

Improvements:

  • Expose the function to get a matplotlib Patch object from a (Multi)Polygon (without already plotting it) publicly as :func:shapely.plotting.patch_from_polygon (#1704).

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-1

- Python
Published by github-actions[bot] about 3 years ago

shapely - 2.0.0

Shapely version 2.0.0 is a major release featuring a complete refactor of the internals and new vectorized (element-wise) array operations providing considerable performance improvements.

For a full changelog, see https://shapely.readthedocs.io/en/latest/release/2.x.html#version-2-0-0

Relevant changes in behaviour compared to 2.0rc3:

  • Added temporary support for unpickling shapely<2.0 geometries.

- Python
Published by github-actions[bot] about 3 years ago

shapely - 2.0rc3

- Python
Published by github-actions[bot] about 3 years ago

shapely - 2.0rc2

- Python
Published by github-actions[bot] about 3 years ago

shapely - 2.0rc1

Relevant changes in behaviour compared to 2.0b2:

  • The Point(..) constructor no longer accepts a sequence of coordinates consisting of more than one coordinate pair (previously, subsequent coordinates were ignored) (#1600).
  • Fix performance regression in the LineString() constructor when passing a numpy array of coordinates (#1602).

Wheels for 2.0rc1 published on PyPI include GEOS 3.11.1.

- Python
Published by github-actions[bot] over 3 years ago

shapely - 2.0b2

Relevant changes in behaviour compared to 2.0b1:

  • Fix for compatibility with PyPy (#1577).
  • Fix to the Point() constructor to accept arrays of length 1 for the x and y coordinates (fix compatibility with Shapely 1.8).
  • Raise ValueError for non-finite distance in the buffer() and offset_curve() methods on the Geometry classes (consistent with Shapely 1.8).
  • Add __format__ specification for geometry types (#1556).

- Python
Published by github-actions[bot] over 3 years ago

shapely - 2.0b1

Relevant changes in behaviour compared to 2.0a1:

  • Renamed the tolerance keyword to max_segment_length in the segmentize function.
  • Renamed the quadsegs keyword in the top-level buffer and offset_curve functions and the resolution keyword in the Geometry class buffer and offset_curve methods all to quad_segs.
  • Added use of GEOSGeom_getExtent to speed up bounds calculations for GEOS >= 3.11.
  • Restored the behaviour of unary_union to return an empty GeometryCollection for an empty or all-None sequence as input (and the same for intersection_all and symmetric_difference_all).
  • Fixed the Geometry objects to be weakref-able again (#1535).
  • The .type attribute is deprecated, use .geom_type instead (which already existed before as well) (#1492).

Wheels for 2.0b1 published on PyPI include GEOS 3.11.0.

- Python
Published by github-actions[bot] over 3 years ago

shapely - 1.8.5.post1

- Python
Published by github-actions[bot] over 3 years ago

shapely - 1.8.5

Packaging

Python 3.11 wheels have been added to the matrix for all platforms.

Bug fixes

  • Assign _lgeos in the macos frozen app check, fixing a bug introduced in 1.8.2 (#1528).
  • An exception is now raised when nan is passed to buffer and parallel_offset, preventing segmentation faults (#1516)

- Python
Published by github-actions[bot] over 3 years ago

shapely - 1.8.4

Packaging

Wheels for 1.8.4 published on PyPI include GEOS 3.10.3.

Bug fixes

  • The new c_geom_p type caused a regression and has been removed (#1487).

- Python
Published by github-actions[bot] over 3 years ago

shapely - 1.8.3

Deprecations

The STRtree class will be changed in 2.0.0 and will not be compatible with the class in versions 1.8.x. This change obsoletes the deprecation announcement in 1.8a3 (below).

Packaging

Wheels for 1.8.3 published on PyPI include GEOS 3.10.3.

Bug fixes

  • The signature for GEOSMinimumClearance has been corrected, fixing an issue affecting aarch64-darwin (#1480)
  • Return and arg types have been corrected and made more strict for area, length, and distance properties.
  • A new cgeomp type has been created to replace cvoidp when calling GEOS functions (#1479).
  • An incorrect polygon-line intersection (#1427) has been fixed in GEOS 3.10.3, which will be included in wheels published to PyPI.
  • GEOS buffer parameters are now destroyed, fixing a memory leak (#1440).

- Python
Published by github-actions[bot] over 3 years ago

shapely - 2.0a1

Shapely version 2.0 alpha 1 is the first of a major release featuring a complete refactor of the internals and new vectorized (element-wise) array operations providing considerable performance improvements. A full changelog is still underway, and will be included with forthcoming pre-releases for Shapely 2.0.

Packaging

Wheels for 2.0a1 published on PyPI include GEOS 3.10.3.

- Python
Published by github-actions[bot] over 3 years ago

shapely - 1.8.2

Version 1.8.2 fixes 3 bugs, one of them a significant memory leak in shapely.ops.nearest_points. We have more built distributions in https://pypi.org/project/Shapely/1.8.2/#files than ever before. In a nutshell, Pythons 3.6-3.10 for older platforms, and Pythons 3.8-3.10 for newer platforms including arm64 linux. Only Pythons 3.9 and 3.10 are supported on arm64 macos. All these built distributions include GEOS 3.10.2.

- Python
Published by github-actions[bot] almost 4 years ago

shapely - 1.8.1.post1

- Python
Published by github-actions[bot] about 4 years ago

shapely - 1.8.1

- Python
Published by github-actions[bot] about 4 years ago

shapely - Shapely 1.8.0

Shapely 1.8.0 is a transitional version. There are a few bug fixes and new features, but it largely exists to warn about the upcoming changes in 2.0.0. See the new migration guide for more details on how to update your code from Shapely 1.8 to 2.0.

Python version support

Shapely 1.8.0 supports only Python versions >= 3.6. The release is compatible with GEOS versions 3.6-3.10.

Deprecations

The following functions and geometry attributes and methods will be removed in version 2.0.0.

  • ops.cascaded_union
  • BaseGeometry.empty
  • BaseGeometry.ctypes and __array_interface__
  • multi-part geometry __len__
  • setting custom attributes on geometry objects
  • BaseGeometry.almost_exact

Deprecation warnings will be emitted in 1.8.0 when any of these features are used.

The deprecated towkb and towkt methods of BaseGeometry have been removed.

New features

  • The STRtree nearest* methods now take an optional argument that specifies exclusion of the input geometry from results (#1115).
  • A GeometryTypeError has been added to shapely.errors and is consistently raised instead of TypeError or ValueError as in version 1.7. For backwards compatibility, the new exception will derive from TypeError and Value error until version 2.0 (#1099).
  • The STRtree class constructor now takes an optional second argument, a sequence of objects to be stored in the tree. If not provided, the sequence indices of the geometries will be stored, as before (#1112).
  • The STRtree class has new querygeoms, queryitems, nearestgeom, and nearestitem methods (#1112). The query and nearest methods remain as aliases for querygeoms and nearestgeom.
  • A normalize method has been added to geometry classes, exposing the GEOSNormalize algorithm (#1090).
  • STRtree instances have a new default capacity of 10 items per node (#1070).
  • The new shapely.ops.voronoi_diagram computes the Voronoi Diagram of a geometry or geometry collection (#833, #851).
  • shapely.validation.make_valid fixes invalid geometries (#883).

Packaging

The 1.8.0 wheels uploaded to PyPI include GEOS 3.9.1.

- Python
Published by sgillies over 4 years ago