From 9b17da8c0ce37b85558f05ce6c187769bb1f5934 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste VESLIN <19856429+thebaptiste@users.noreply.github.com> Date: Tue, 25 Nov 2025 00:31:58 +0100 Subject: [PATCH 01/10] build: python 3.14 --- bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap.sh b/bootstrap.sh index 1974db86..3abaf350 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -83,7 +83,7 @@ fi # FIXME: do not hardcode this # FIXME: move to layer root extra_env ? -echo "export PYTHON3_SHORT_VERSION := 3.13" >>adm/root.mk +echo "export PYTHON3_SHORT_VERSION := 3.14" >>adm/root.mk echo "BOOTSTRAP DONE !" echo "MFEXT_HOME=${MFEXT_HOME}" From 16b187c861c1a52880786fe7024af989f018fdc9 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste VESLIN <19856429+thebaptiste@users.noreply.github.com> Date: Mon, 1 Dec 2025 18:36:24 +0100 Subject: [PATCH 02/10] build: build scipy from sources --- .../0499_prereq_extra_packages/allow_binary_packages | 1 - 1 file changed, 1 deletion(-) diff --git a/layers/layer4_python3_scientific/0499_prereq_extra_packages/allow_binary_packages b/layers/layer4_python3_scientific/0499_prereq_extra_packages/allow_binary_packages index bd01d4a5..549fd1bf 100644 --- a/layers/layer4_python3_scientific/0499_prereq_extra_packages/allow_binary_packages +++ b/layers/layer4_python3_scientific/0499_prereq_extra_packages/allow_binary_packages @@ -1,2 +1 @@ pkgconfig -scipy From 7b9e9cce7740ada43e3d5f678f6e1301c652faab Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Tue, 2 Dec 2025 14:30:00 +0000 Subject: [PATCH 03/10] feat: various updates for Python 3.14 compatibility --- .metwork-framework/components.md | 14 +++++++------- .../0500_extra_packages/requirements3.txt | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index 06c9e0f1..b1fdc3c3 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -37,7 +37,7 @@ | [covjson-pydantic](https://pypi.org/project/covjson-pydantic) | 0.6.0 | python3_scientific | | [covjsonkit](https://github.com/ecmwf/covjsonkit) | 0.2.8 | python3_scientific | | [cppy](https://github.com/nucleic/cppy) | 1.3.1 | python3_scientific | -| [cramjam](https://github.com/milesgranger/pyrus-cramjam) | 2.10.0 | python3_scientific | +| [cramjam](https://github.com/milesgranger/pyrus-cramjam) | 2.11.0 | python3_scientific | | [crc32c](https://github.com/ICRAR/crc32c) | 2.7.1 | python3_scientific | | [cycler](https://matplotlib.org/cycler/) | 0.12.1 | python3_scientific | | [dask](https://github.com/dask/dask/) | 2025.11.0 | python3_scientific | @@ -63,7 +63,7 @@ | [eccodes](https://github.com/ecmwf/eccodes-python) | 2.41.0 | python3_scientific | | [eccodes](https://www.ecmwf.int/en/computing/software) | 2.41.0 | scientific | | [eckit](https://github.com/ecmwf/eckit) | 1.29.2 | scientific | -| [eckitlib](https://pypi.org/project/eckitlib) | 1.29.2 | python3_scientific | +| [eckitlib](https://pypi.org/project/eckitlib) | 1.32.3.6 | python3_scientific | | [ecmwf-api-client](https://github.com/ecmwf/ecmwf-api-client) | 1.6.5 | python3_scientific | | [ecmwf-opendata](https://github.com/ecmwf/ecmwf-opendata) | 0.3.19 | python3_scientific | | [ek-aggregate](https://pypi.org/project/ek-aggregate) | 0.1.2 | python3_scientific | @@ -92,7 +92,7 @@ | [geopy](https://github.com/geopy/geopy) | 2.4.1 | python3_scientific | | [gmt](https://www.generic-mapping-tools.org) | 6.5.0 | scientific | | [graphviz](https://github.com/xflr6/graphviz) | 0.20.3 | python3_scientific | -| [greenlet](https://greenlet.readthedocs.io/) | 3.2.1 | python3_scientific | +| [greenlet](https://greenlet.readthedocs.io/) | 3.2.4 | python3_scientific | | [gv](https://github.com/william8000/gv) | 3.7.4 | scientific | | [h5netcdf](https://h5netcdf.org) | 1.6.1 | python3_scientific | | [h5py](https://www.h5py.org/) | 3.13.0 | python3_scientific | @@ -109,7 +109,7 @@ | [lark](https://github.com/lark-parser/lark) | 1.1.8 | python3_scientific | | [lazy_loader](https://pypi.org/project/lazy_loader) | 0.4 | python3_scientific | | [libimagequant](https://pngquant.org/lib/) | 4.3.4 | scientific | -| [llvmlite](http://llvmlite.readthedocs.io) | 0.45.1 | python3_scientific | +| [llvmlite](http://llvmlite.readthedocs.io) | 0.46.0rc1 | python3_scientific | | [lmoments3](https://lmoments3.readthedocs.io/en) | 1.0.8 | python3_scientific | | [locket](http://github.com/mwilliamson/locket.py) | 1.0.0 | python3_scientific | | [lru-dict](https://github.com/amitdev/lru-dict) | 1.3.0 | python3_scientific | @@ -134,12 +134,12 @@ | [netCDF4](https://pypi.org/project/netCDF4) | 1.7.2 | python3_scientific | | [networkx](https://networkx.org/) | 3.4.2 | python3_scientific | | [ninja](http://ninja-build.org/) | 1.11.1.4 | python3_scientific | -| [numba](https://numba.pydata.org) | 0.62.1 | python3_scientific | +| [numba](https://numba.pydata.org) | 0.63.0rc1 | python3_scientific | | [numcodecs](https://github.com/zarr-developers/numcodecs) | 0.16.2 | python3_scientific | | [numexpr](https://github.com/pydata/numexpr) | 2.11.0 | python3_scientific | | [numpngw](https://github.com/WarrenWeckesser/numpngw) | 0.1.4 | python3_scientific | | [numpy](https://numpy.org) | 2.3.3 | python3_scientific | -| [odclib](https://pypi.org/project/odclib) | 1.6.0 | python3_scientific | +| [odclib](https://pypi.org/project/odclib) | 1.6.2.6 | python3_scientific | | [opencv-contrib-python-headless](https://github.com/opencv/opencv-python) | 4.11.0.86 | python3_scientific | | [openturns](http://www.openturns.org) | 1.24 | python3_scientific | | [ot-batman](https://gitlab.com/cerfacs/batman) | 1.9.3-develop-mf | python3_scientific | @@ -163,7 +163,7 @@ | [protobuf](https://developers.google.com/protocol-buffers/) | 5.29.5 | python3_scientific | | [puremagic](https://github.com/cdgriffith/puremagic) | 1.29 | python3_scientific | | [py-cpuinfo](https://github.com/workhorsy/py-cpuinfo) | 9.0.0 | python3_scientific | -| [pyarrow](https://arrow.apache.org/) | 20.0.0 | python3_scientific | +| [pyarrow](https://arrow.apache.org/) | 22.0.0 | python3_scientific | | [pybind11](https://github.com/pybind/pybind11) | 2.13.6 | python3_scientific | | [pycoast](https://pypi.org/project/pycoast) | 1.7.1 | python3_scientific | | [pycurl](http://pycurl.io/) | 7.45.6 | python3_scientific | diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index be2aeba4..58a681eb 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -33,7 +33,7 @@ contourpy==1.3.2 copernicusmarine==2.1.2 covjson_pydantic==0.6.0 covjsonkit==0.2.8 -cramjam==2.10.0 +cramjam==2.11.0 crc32c==2.7.1 cycler==0.12.1 dask==2025.11.0 @@ -55,7 +55,7 @@ earthkit-time==0.1.7 earthkit-transforms==0.4.0 earthkit==0.10.2 eccodes==2.41.0 -eckitlib==1.29.2 +eckitlib==1.32.3.6 ecmwf-api-client==1.6.5 ecmwf-opendata==0.3.19 ek-aggregate==0.1.2 @@ -75,7 +75,7 @@ geographiclib==2.0 geopandas==1.0.1 geopy==2.4.1 graphviz==0.20.3 -greenlet==3.2.1 +greenlet==3.2.4 h5netcdf==1.6.1 h5py==3.13.0 hda==2.29 @@ -89,7 +89,7 @@ jsonpickle==4.0.5 kiwisolver==1.4.8 lark==1.1.8 lazy-loader==0.4 -llvmlite==0.45.1 +llvmlite==0.46.0rc1 lmoments3==1.0.8 locket==1.0.0 lru-dict==1.3.0 @@ -104,11 +104,11 @@ munch==4.0.0 narwhals==1.37.0 nco==1.1.2 netCDF4==1.7.2 -numba==0.62.1 +numba==0.63.0rc1 numcodecs==0.16.2 numexpr==2.11.0 numpngw==0.1.4 -odclib==1.6.0 +odclib==1.6.2.6 opencv-contrib-python-headless==4.11.0.86 openturns==1.24 -e git+https://gitlab.com/thebaptiste/batman.git@1.9.3-develop-mf#egg=ot-batman @@ -127,7 +127,7 @@ pox==0.3.6 ppft==1.7.7 protobuf==5.29.5 puremagic==1.29 -pyarrow==20.0.0 +pyarrow==22.0.0 pycoast==1.7.1 pycurl==7.45.6 pydecorate==0.4.0 From 39a5d72c02540f7ba0830271cf9e4440da112fbb Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Wed, 3 Dec 2025 09:24:29 +0000 Subject: [PATCH 04/10] feat: bump matplotlib to 3.10.7 (fix recursive error with Python 3.14) --- .metwork-framework/components.md | 4 ++-- .../0500_extra_packages/requirements3.txt | 5 ++--- .../0700_fix_packages/Makefile.mk | 7 +------ 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index b1fdc3c3..44e8c4d8 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -31,7 +31,7 @@ | [cloudpickle](https://github.com/cloudpipe/cloudpickle) | 3.1.1 | python3_scientific | | [coloredlogs](https://coloredlogs.readthedocs.io) | 15.0.1 | python3_scientific | | [configobj](https://github.com/DiffSK/configobj) | 5.0.9 | python3_scientific | -| [conflator](https://pypi.org/project/conflator) | 0.1.7 | python3_scientific | +| [conflator](https://pypi.org/project/conflator) | 0.1.8 | python3_scientific | | [contourpy](https://github.com/contourpy/contourpy) | 1.3.2 | python3_scientific | | [copernicusmarine](https://pypi.org/project/copernicusmarine) | 2.1.2 | python3_scientific | | [covjson-pydantic](https://pypi.org/project/covjson-pydantic) | 0.6.0 | python3_scientific | @@ -116,7 +116,7 @@ | [Magics](https://github.com/ecmwf/magics-python) | 1.5.8 | python3_scientific | | [Magics](https://www.ecmwf.int/en/computing/software) | 4.15.5 | scientific | | [mapclassify](https://pypi.org/project/mapclassify) | 2.8.1 | python3_scientific | -| [matplotlib](https://matplotlib.org) | 3.10.1 | python3_scientific | +| [matplotlib](https://matplotlib.org) | 3.10.7 | python3_scientific | | [meson-python](https://github.com/mesonbuild/meson-python) | 0.17.1 | python3_scientific | | [meson](https://mesonbuild.com) | 1.7.2 | python3_scientific | | [MetPy](https://github.com/Unidata/MetPy) | 1.6.3 | python3_scientific | diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index 58a681eb..070d4215 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -3,7 +3,6 @@ affine==2.4.0 aggdraw==1.3.19 apng==0.3.4 arcosparse==0.4.0 -argparse==1.4.0 array_api_compat==1.11.2 asciitree==0.3.3 astropy==7.0.1 @@ -28,7 +27,7 @@ cligj==0.7.2 cloudpickle==3.1.1 coloredlogs==15.0.1 configobj==5.0.9 -conflator==0.1.7 +conflator==0.1.8 contourpy==1.3.2 copernicusmarine==2.1.2 covjson_pydantic==0.6.0 @@ -95,7 +94,7 @@ locket==1.0.0 lru-dict==1.3.0 Magics==1.5.8 mapclassify==2.8.1 -matplotlib==3.10.1 +matplotlib==3.10.7 MetPy==1.6.3 metview==1.16.1 multiprocess==0.70.18 diff --git a/layers/layer4_python3_scientific/0700_fix_packages/Makefile.mk b/layers/layer4_python3_scientific/0700_fix_packages/Makefile.mk index 78541ef2..bfacc5ae 100644 --- a/layers/layer4_python3_scientific/0700_fix_packages/Makefile.mk +++ b/layers/layer4_python3_scientific/0700_fix_packages/Makefile.mk @@ -1,13 +1,8 @@ include ../../../adm/root.mk include $(MFEXT_HOME)/share/simple_layer.mk -all:: $(PREFIX)/share/magics $(PYTHON3_SITE_PACKAGES)/remove_argparse +all:: $(PREFIX)/share/magics $(PREFIX)/share/magics: cd $(PREFIX)/share && ln -s ../../scientific/share/magics magics -# argparse is a "wrong" dependency of conflator (argparse.py is now included in the Python3 standard library) -# until argparse is removed from conflator dependencies, we need to remove it after install -$(PYTHON3_SITE_PACKAGES)/remove_argparse: - cd $(PYTHON3_SITE_PACKAGES) && rm -rf argparse* && rm -f $(PREFIX)/share/metwork_packages/argparse.yaml - From 21b9eda69fc5996cdd2148ea9f2abd5b24219292 Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Mon, 15 Dec 2025 16:57:35 +0000 Subject: [PATCH 05/10] feat: bump llvmlite to 0.46.0 and numba to 0.63.1 --- .metwork-framework/components.md | 4 ++-- .../0500_extra_packages/requirements3.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index 44e8c4d8..6d378ae4 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -109,7 +109,7 @@ | [lark](https://github.com/lark-parser/lark) | 1.1.8 | python3_scientific | | [lazy_loader](https://pypi.org/project/lazy_loader) | 0.4 | python3_scientific | | [libimagequant](https://pngquant.org/lib/) | 4.3.4 | scientific | -| [llvmlite](http://llvmlite.readthedocs.io) | 0.46.0rc1 | python3_scientific | +| [llvmlite](http://llvmlite.readthedocs.io) | 0.46.0 | python3_scientific | | [lmoments3](https://lmoments3.readthedocs.io/en) | 1.0.8 | python3_scientific | | [locket](http://github.com/mwilliamson/locket.py) | 1.0.0 | python3_scientific | | [lru-dict](https://github.com/amitdev/lru-dict) | 1.3.0 | python3_scientific | @@ -134,7 +134,7 @@ | [netCDF4](https://pypi.org/project/netCDF4) | 1.7.2 | python3_scientific | | [networkx](https://networkx.org/) | 3.4.2 | python3_scientific | | [ninja](http://ninja-build.org/) | 1.11.1.4 | python3_scientific | -| [numba](https://numba.pydata.org) | 0.63.0rc1 | python3_scientific | +| [numba](https://numba.pydata.org) | 0.63.1 | python3_scientific | | [numcodecs](https://github.com/zarr-developers/numcodecs) | 0.16.2 | python3_scientific | | [numexpr](https://github.com/pydata/numexpr) | 2.11.0 | python3_scientific | | [numpngw](https://github.com/WarrenWeckesser/numpngw) | 0.1.4 | python3_scientific | diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index 070d4215..b71feaa1 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -88,7 +88,7 @@ jsonpickle==4.0.5 kiwisolver==1.4.8 lark==1.1.8 lazy-loader==0.4 -llvmlite==0.46.0rc1 +llvmlite==0.46.0 lmoments3==1.0.8 locket==1.0.0 lru-dict==1.3.0 @@ -103,7 +103,7 @@ munch==4.0.0 narwhals==1.37.0 nco==1.1.2 netCDF4==1.7.2 -numba==0.63.0rc1 +numba==0.63.1 numcodecs==0.16.2 numexpr==2.11.0 numpngw==0.1.4 From 179226fed2ee16fe397266ca5c4619ceac612f07 Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Fri, 19 Dec 2025 12:38:45 +0000 Subject: [PATCH 06/10] feat: downgrade zarr (merge integration branch) --- .metwork-framework/components.md | 9 +++++---- .../0500_extra_packages/requirements3.txt | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index 6d378ae4..b53891f4 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -135,7 +135,7 @@ | [networkx](https://networkx.org/) | 3.4.2 | python3_scientific | | [ninja](http://ninja-build.org/) | 1.11.1.4 | python3_scientific | | [numba](https://numba.pydata.org) | 0.63.1 | python3_scientific | -| [numcodecs](https://github.com/zarr-developers/numcodecs) | 0.16.2 | python3_scientific | +| [numcodecs](https://github.com/zarr-developers/numcodecs) | 0.15.1 | python3_scientific | | [numexpr](https://github.com/pydata/numexpr) | 2.11.0 | python3_scientific | | [numpngw](https://github.com/WarrenWeckesser/numpngw) | 0.1.4 | python3_scientific | | [numpy](https://numpy.org) | 2.3.3 | python3_scientific | @@ -192,6 +192,7 @@ | [pythran](https://github.com/serge-sans-paille/pythran) | 0.17.0 | python3_scientific | | [PyWavelets](https://github.com/PyWavelets/pywt) | 1.8.0 | python3_scientific | | [rasterio](https://github.com/rasterio/rasterio) | 1.4.3 | python3_scientific | +| [rechunker](https://pypi.org/project/rechunker/) | 0.5.4 | python3_scientific | | [regionmask](https://github.com/regionmask/regionmask) | 0.13.0 | python3_scientific | | [rich-argparse](https://github.com/hamdanal/rich-argparse) | 1.7.0 | python3_scientific | | [rtree](https://pypi.org/project/rtree) | 1.4.0 | python3_scientific | @@ -214,7 +215,7 @@ | [tblib](https://github.com/ionelmc/python-tblib) | 3.1.0 | python3_scientific | | [tenacity](https://github.com/jd/tenacity) | 9.1.2 | python3_scientific | | [thermofeel](https://github.com/ecmwf-projects/thermofeel) | 2.1.1 | python3_scientific | -| [tifffile](https://www.cgohlke.com) | 2025.9.9 | python3_scientific | +| [tifffile](https://www.cgohlke.com) | 2025.5.10 | python3_scientific | | [tinydb](https://github.com/msiemens/tinydb) | 4.8.2 | python3_scientific | | [tomli_w](https://github.com/hukkin/tomli-w) | 1.2.0 | python3_scientific | | [toolz](https://github.com/pytoolz/toolz/) | 1.0.0 | python3_scientific | @@ -231,8 +232,8 @@ | [xxhash](https://github.com/ifduyue/python-xxhash) | 3.5.0 | python3_scientific | | [xyzservices](https://github.com/geopandas/xyzservices) | 2025.4.0 | python3_scientific | | [yamale](https://github.com/23andMe/Yamale) | 6.0.0 | python3_scientific | -| [zarr](https://github.com/zarr-developers/zarr-python) | 3.1.2 | python3_scientific | +| [zarr](https://github.com/zarr-developers/zarr-python) | 2.18.7 | python3_scientific | | [zict](http://zict.readthedocs.io/en/latest/) | 3.0.0 | python3_scientific | | [zope.interface](https://github.com/zopefoundation/zope.interface) | 7.2 | python3_scientific | -*(234 components)* +*(235 components)* diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index b71feaa1..7981a68e 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -104,7 +104,7 @@ narwhals==1.37.0 nco==1.1.2 netCDF4==1.7.2 numba==0.63.1 -numcodecs==0.16.2 +numcodecs==0.15.1 numexpr==2.11.0 numpngw==0.1.4 odclib==1.6.2.6 @@ -152,6 +152,7 @@ pystac==1.13.0 pysteps==1.18.1 PyWavelets==1.8.0 rasterio==1.4.3 +rechunker==0.5.4 regionmask==0.13.0 rich-argparse==1.7.0 rtree==1.4.0 @@ -170,7 +171,7 @@ statsmodels==0.14.4 tblib==3.1.0 tenacity==9.1.2 thermofeel==2.1.1 -tifffile==2025.9.9 +tifffile==2025.5.10 tinydb==4.8.2 toolz==1.0.0 trollimage==1.26.0 @@ -182,6 +183,6 @@ xsdba==0.4.0 xxhash==3.5.0 xyzservices==2025.4.0 yamale==6.0.0 -zarr==3.1.2 +zarr==2.18.7 zict==3.0.0 zope.interface==7.2 From 72d99c101d0877f21bdb64a8055a0199b6b1f57b Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Thu, 30 Apr 2026 10:02:59 +0000 Subject: [PATCH 07/10] build: remove rechunker --- .metwork-framework/components.md | 3 +-- .../0500_extra_packages/requirements3.txt | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index cc1938a6..18fa71d2 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -191,7 +191,6 @@ | [pyzmq](https://pyzmq.readthedocs.org) | 26.4.0 | python3_scientific | | [qubed](https://pypi.org/project/qubed) | 0.3.1 | python3_scientific | | [rasterio](https://github.com/rasterio/rasterio) | 1.4.3 | python3_scientific | -| [rechunker](https://pypi.org/project/rechunker/) | 0.5.4 | python3_scientific | | [regionmask](https://github.com/regionmask/regionmask) | 0.13.0 | python3_scientific | | [rich-argparse](https://github.com/hamdanal/rich-argparse) | 1.7.0 | python3_scientific | | [rioxarray](https://corteva.github.io/rioxarray/) | 0.21.0 | python3_scientific | @@ -232,4 +231,4 @@ | [zict](http://zict.readthedocs.io/en/latest/) | 3.0.0 | python3_scientific | | [zope.interface](https://github.com/zopefoundation/zope.interface) | 7.2 | python3_scientific | -*(231 components)* +*(230 components)* diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index 6d1282b0..524eff2b 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -167,7 +167,6 @@ PyWavelets==1.8.0 pyzmq==26.4.0 qubed==0.3.1 rasterio==1.4.3 -rechunker==0.5.4 regionmask==0.13.0 rich-argparse==1.7.0 rioxarray==0.21.0 From e31bea9dbf4dd30050591dff1fb4400cd3b12b93 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste VESLIN <19856429+thebaptiste@users.noreply.github.com> Date: Thu, 30 Apr 2026 12:59:30 +0200 Subject: [PATCH 08/10] build: Update allow_binary_packages --- .../0500_extra_packages/allow_binary_packages | 1 + 1 file changed, 1 insertion(+) diff --git a/layers/layer4_python3_scientific/0500_extra_packages/allow_binary_packages b/layers/layer4_python3_scientific/0500_extra_packages/allow_binary_packages index 816f16ed..f042012b 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/allow_binary_packages +++ b/layers/layer4_python3_scientific/0500_extra_packages/allow_binary_packages @@ -1,3 +1,4 @@ +adbc-driver-manager adbc-driver-postgresql cdo eccodeslib From 79187c9ab2519e12e5aa613f99ba386ecd785adf Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Thu, 30 Apr 2026 18:23:08 +0000 Subject: [PATCH 09/10] build: remove basemap (not Python 3.14 compliant) --- .metwork-framework/components.md | 6 ++---- .../import_python3_scientific.py | 2 -- layers/layer4_python3_scientific/.layerapi2_extra_env | 1 + .../0500_extra_packages/requirements-to-freeze.txt | 1 - .../0500_extra_packages/requirements3.txt | 4 +--- 5 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.metwork-framework/components.md b/.metwork-framework/components.md index 18fa71d2..f011fea8 100644 --- a/.metwork-framework/components.md +++ b/.metwork-framework/components.md @@ -11,8 +11,6 @@ | [asciitree](http://github.com/mbr/asciitree) | 0.3.3 | python3_scientific | | [astropy-iers-data](https://pypi.org/project/astropy-iers-data) | 0.2025.4.14.0.37.22 | python3_scientific | | [astropy](https://www.astropy.org/) | 7.0.1 | python3_scientific | -| [basemap](https://github.com/matplotlib/basemap) | 2.0.2 | python3_scientific | -| [basemap_data](https://github.com/matplotlib/basemap) | 2.0.0 | python3_scientific | | [blinker](https://pypi.org/project/blinker) | 1.9.0 | python3_scientific | | [bokeh](https://bokeh.org) | 3.8.2 | python3_scientific | | [boltons](https://github.com/mahmoud/boltons) | 25.0.0 | python3_scientific | @@ -202,7 +200,7 @@ | [scikit-learn](https://scikit-learn.org) | 1.6.1 | python3_scientific | | [scipy](https://scipy.org/) | 1.17.0 | python3_scientific | | [scitools-iris](https://pypi.org/project/scitools-iris) | 3.14.1 | python3_scientific | -| [scores](https://pypi.org/project/scores) | 2.4.0 | python3_scientific | +| [scores](https://pypi.org/project/scores) | 2.5.0 | python3_scientific | | [seaborn](https://pypi.org/project/seaborn) | 0.13.2 | python3_scientific | | [semver](https://pypi.org/project/semver) | 3.0.4 | python3_scientific | | [shapely](https://pypi.org/project/shapely) | 2.1.0 | python3_scientific | @@ -231,4 +229,4 @@ | [zict](http://zict.readthedocs.io/en/latest/) | 3.0.0 | python3_scientific | | [zope.interface](https://github.com/zopefoundation/zope.interface) | 7.2 | python3_scientific | -*(230 components)* +*(228 components)* diff --git a/integration_tests/0002_test_import_python3_scientific/import_python3_scientific.py b/integration_tests/0002_test_import_python3_scientific/import_python3_scientific.py index 312ba1cc..7ab8f890 100644 --- a/integration_tests/0002_test_import_python3_scientific/import_python3_scientific.py +++ b/integration_tests/0002_test_import_python3_scientific/import_python3_scientific.py @@ -9,8 +9,6 @@ import asciitree import astropy import astropy_iers_data -from mpl_toolkits import basemap #basemap -from mpl_toolkits import basemap_data #basemap_data import bs4.builder #beautifulsoup4 import blinker import bokeh diff --git a/layers/layer4_python3_scientific/.layerapi2_extra_env b/layers/layer4_python3_scientific/.layerapi2_extra_env index 24668542..5afc87bd 100644 --- a/layers/layer4_python3_scientific/.layerapi2_extra_env +++ b/layers/layer4_python3_scientific/.layerapi2_extra_env @@ -4,3 +4,4 @@ ECMWFLIBS_MAGPLUS={MFEXT_HOME}/opt/scientific/lib/libMagPlus.so ESMFMKFILE={MFEXT_HOME}/opt/scientific/esmf/lib/esmf.mk CLIMETLAB_DO_NOT_INSTALL_ECMWFLIBS=1 FINDLIBS_DISABLE_PACKAGE=yes +NUMPY_INCLUDE_PATH={MFEXT_HOME}/opt/python3_scientific/lib/python{PYTHON3_SHORT_VERSION}/site-packages/numpy/_core/include diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements-to-freeze.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements-to-freeze.txt index e13cd8a1..65d89215 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements-to-freeze.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements-to-freeze.txt @@ -94,7 +94,6 @@ thermofeel copernicusmarine geopy pygeoapi -basemap rioxarray geoarrow-pyarrow adbc-driver-postgresql diff --git a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt index 524eff2b..59d0a3d9 100644 --- a/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt +++ b/layers/layer4_python3_scientific/0500_extra_packages/requirements3.txt @@ -9,8 +9,6 @@ array_api_compat==1.11.2 asciitree==0.3.3 astropy==7.0.1 astropy-iers-data==0.2025.4.14.0.37.22 --e git+https://github.com/thebaptiste/basemap.git@2.0.2#egg=basemap -basemap_data==2.0.0 blinker==1.9.0 bokeh==3.8.2 boltons==25.0.0 @@ -177,7 +175,7 @@ satpy==0.56.0 scikit-image==0.25.2 scikit-learn==1.6.1 scitools-iris==3.14.1 -scores==2.4.0 +scores==2.5.0 seaborn==0.13.2 semver==3.0.4 Shapely==2.1.0 From 1e95538c4674cf5bccc147763f71b39f0680c606 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste VESLIN <19856429+thebaptiste@users.noreply.github.com> Date: Thu, 30 Apr 2026 20:25:24 +0200 Subject: [PATCH 10/10] Update .layerapi2_extra_env --- layers/layer4_python3_scientific/.layerapi2_extra_env | 1 - 1 file changed, 1 deletion(-) diff --git a/layers/layer4_python3_scientific/.layerapi2_extra_env b/layers/layer4_python3_scientific/.layerapi2_extra_env index 5afc87bd..24668542 100644 --- a/layers/layer4_python3_scientific/.layerapi2_extra_env +++ b/layers/layer4_python3_scientific/.layerapi2_extra_env @@ -4,4 +4,3 @@ ECMWFLIBS_MAGPLUS={MFEXT_HOME}/opt/scientific/lib/libMagPlus.so ESMFMKFILE={MFEXT_HOME}/opt/scientific/esmf/lib/esmf.mk CLIMETLAB_DO_NOT_INSTALL_ECMWFLIBS=1 FINDLIBS_DISABLE_PACKAGE=yes -NUMPY_INCLUDE_PATH={MFEXT_HOME}/opt/python3_scientific/lib/python{PYTHON3_SHORT_VERSION}/site-packages/numpy/_core/include