Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions ci/install-and-vendor-osgeo.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,14 +146,13 @@ def install_gdal_python_bindings() -> None:
# Cap build-time setuptools (see ci/gdal-build-constraints.txt): 84.0.0
# lets GDAL's setup.py `-std=c++11` reach the C compile of
# gdalconst_wrap.c, which Apple clang rejects and breaks the macOS
# wheels. Set BOTH vars: PIP_CONSTRAINT covers the direct install
# (arm64 --no-build-isolation), and PIP_BUILD_CONSTRAINT covers the
# isolated build env (x86_64 / Linux). pip currently honors
# PIP_CONSTRAINT for build deps too but warns it will stop in pip 26.2,
# pointing at PIP_BUILD_CONSTRAINT — so we set both to stay durable.
# wheels. PIP_CONSTRAINT covers the direct install on every path
# (including the arm64 --no-build-isolation setuptools install below).
# PIP_BUILD_CONSTRAINT — the build-isolation-specific var pip 26.2 will
# require — is set later, ONLY when build isolation is used: pip errors
# if it is passed together with --no-build-isolation.
_gdal_build_constraints = str(REPO_ROOT / "ci" / "gdal-build-constraints.txt")
env.setdefault("PIP_CONSTRAINT", _gdal_build_constraints)
env.setdefault("PIP_BUILD_CONSTRAINT", _gdal_build_constraints)

if is_windows:
bin_dir, _, lib_dir = _data_layout_roots(prefix)
Expand Down Expand Up @@ -271,6 +270,15 @@ def install_gdal_python_bindings() -> None:
)
extra_pip_args.append("--no-build-isolation")

# PIP_BUILD_CONSTRAINT constrains the ISOLATED build env; pip errors out
# if it is set together with --no-build-isolation. Set it only when the
# GDAL build uses isolation (x86_64 / Linux) — the arm64
# --no-build-isolation path pre-installs a PIP_CONSTRAINT-capped
# setuptools and is already covered. This future-proofs isolation builds
# for pip 26.2, which stops honoring PIP_CONSTRAINT for build deps.
if "--no-build-isolation" not in extra_pip_args:
env.setdefault("PIP_BUILD_CONSTRAINT", _gdal_build_constraints)

cmd = [
sys.executable,
"-m",
Expand Down
19 changes: 19 additions & 0 deletions docs/change-log.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# Change log


## 0.50.0 (2026-08-09)

### BREAKING CHANGE

- read_multiple_files' `extension` parameter is replaced by a `glob` fnmatch filter
(e.g. `extension="tif"` becomes `glob="*.tif"`).

### Feat

- **collection**: consolidate the DatasetCollection readers into from_files and harden the dunders (#942)

### Fix

- **ci**: pin build-time setuptools <84 for the GDAL bindings build (#950)

### Refactor

- **netcdf**: write to_netcdf through GDAL, no xarray outside the interop methods (#945)

## 0.49.0 (2026-08-05)

### BREAKING CHANGE
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pyramids-gis"
version = "0.49.0"
version = "0.50.0"
description = "GIS utility package"
readme = {file = "README.md", content-type = "text/markdown"}
authors = [{ name = "Mostafa Farrag", email = "moah.farag@gmail.com" }]
Expand Down