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
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
env:
IRIS_TEST_DATA_LOC_PATH: benchmarks
IRIS_TEST_DATA_PATH: benchmarks/iris-test-data
IRIS_TEST_DATA_VERSION: "2.12"
IRIS_TEST_DATA_VERSION: "2.13"
# Lets us manually bump the cache to rebuild
ENV_CACHE_BUILD: "0"
TEST_DATA_CACHE_BUILD: "2"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-docs-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
python-version: ["3.8"]

env:
IRIS_TEST_DATA_VERSION: "2.12"
IRIS_TEST_DATA_VERSION: "2.13"
ENV_NAME: "ci-docs-tests"

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
python-version: ["3.8"]

env:
IRIS_TEST_DATA_VERSION: "2.12"
IRIS_TEST_DATA_VERSION: "2.13"
ENV_NAME: "ci-tests"

steps:
Expand Down
2 changes: 2 additions & 0 deletions docs/src/whatsnew/latest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ This document explains the changes made to Iris for this release
we no longer use the deprecated :class:`nc_time_axis.CalendarDateTime`
when plotting against time coordinates. (:pull:`4584`)

#. `@wjbenfold`_ and `@bjlittle`_ (reviewer) unpinned ``pillow``. (:pull:`4826`)


📚 Documentation
================
Expand Down
13 changes: 1 addition & 12 deletions lib/iris/tests/graphics/idiff.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,18 +128,6 @@ def step_over_diffs(result_dir, display=True):

reference_image_dir = Path(iris.tests.get_data_path("images"))
repo = graphics.read_repo_json()
repo_from_baseline_images = graphics.generate_repo_from_baselines(
reference_image_dir
)

if not graphics.repos_equal(repo, repo_from_baseline_images):
msg = (
f"The hashes from {reference_image_dir} and the contents of "
f"{graphics.IMAGE_REPO_PATH} are inconsistent. \nConsider "
f"recreating {graphics.IMAGE_REPO_PATH.name} using "
f"{Path(graphics.__file__).parent}/recreate_imagerepo.py"
)
raise AssertionError(msg)

# Filter out all non-test result image files.
results = []
Expand Down Expand Up @@ -215,5 +203,6 @@ def step_over_diffs(result_dir, display=True):
if not result_dir.is_dir():
emsg = f"Invalid results directory: {result_dir}"
raise ValueError(emsg)

for args in step_over_diffs(result_dir):
diff_viewer(*args)
31 changes: 23 additions & 8 deletions lib/iris/tests/graphics/recreate_imagerepo.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,44 @@
import argparse
from pathlib import Path

from imagehash import hex_to_hash

import iris.tests
import iris.tests.graphics as graphics


def update_json(baseline_image_dir: Path, dry_run: bool = False):
old_repo = graphics.read_repo_json()
new_repo = graphics.generate_repo_from_baselines(baseline_image_dir)
repo = graphics.read_repo_json()
suggested_repo = graphics.generate_repo_from_baselines(baseline_image_dir)

if graphics.repos_equal(old_repo, new_repo):
if graphics.repos_equal(repo, suggested_repo):
msg = (
f"No change in contents of {graphics.IMAGE_REPO_PATH} based on "
f"{baseline_image_dir}"
)
print(msg)
else:
for key in set(old_repo.keys()) | set(new_repo.keys()):
old_val = old_repo.get(key, None)
new_val = new_repo.get(key, None)
if str(old_val) != str(new_val):
for key in set(repo.keys()) | set(suggested_repo.keys()):
old_val = repo.get(key, None)
new_val = suggested_repo.get(key, None)
if old_val is None:
repo[key] = suggested_repo[key]
print(key)
print(f"\t{old_val} -> {new_val}")
elif new_val is None:
del repo[key]
print(key)
print(f"\t{old_val} -> {new_val}")
else:
difference = hex_to_hash(str(old_val)) - hex_to_hash(
str(new_val)
)
if difference > 0:
print(key)
print(f"\t{old_val} -> {new_val} ({difference})")
repo[key] = suggested_repo[key]
if not dry_run:
graphics.write_repo_json(new_repo)
graphics.write_repo_json(repo)


if __name__ == "__main__":
Expand Down
182 changes: 91 additions & 91 deletions lib/iris/tests/results/imagerepo.json

Large diffs are not rendered by default.

25 changes: 13 additions & 12 deletions requirements/ci/nox.lock/py38-linux-64.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Generated by conda-lock.
# platform: linux-64
# input_hash: e8c72613e1b6a6c446856d7d11fc97571678e85f18691bed5be685cf1437b728
# input_hash: 1cd97f6f80cce9e7fa719a886fb090579568d5909bfcac6cb42a820ad562dad3
@EXPLICIT
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.6.15-ha878542_0.tar.bz2#c320890f77fd1d617fa876e0982002c2
Expand Down Expand Up @@ -34,7 +34,7 @@ https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz
https://conda.anaconda.org/conda-forge/linux-64/lerc-3.0-h9c3ff4c_0.tar.bz2#7fcefde484980d23f0ec24c11e314d2e
https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.0.9-h166bdaf_7.tar.bz2#f82dc1c78bcf73583f2656433ce2933c
https://conda.anaconda.org/conda-forge/linux-64/libdb-6.2.32-h9c3ff4c_0.tar.bz2#3f3258d8f841fbac63b36b75bdac1afd
https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.10-h7f98852_0.tar.bz2#ffa3a757a97e851293909b49f49f28fb
https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.12-h166bdaf_0.tar.bz2#d56e3db8fa642fb383f18f5be35eeef2
https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2#6f8720dff19e17ce5d48cfe7f3d2f0a3
https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3
https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.16-h516909a_0.tar.bz2#5c0f338a513a2943c659ae619fca9211
Expand All @@ -52,7 +52,7 @@ https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#f
https://conda.anaconda.org/conda-forge/linux-64/mpich-4.0.2-h846660c_100.tar.bz2#36a36fe04b932d4b327e7e81c5c43696
https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238
https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e
https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1o-h166bdaf_0.tar.bz2#6172048796b123e542945d998f5150b7
https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1p-h166bdaf_0.tar.bz2#995e819f901ee0c4411e4f50d9b31a82
https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2#c05d1820a6d34ff07aaaab7a9b7eddaa
https://conda.anaconda.org/conda-forge/linux-64/pixman-0.40.0-h36c2ea0_0.tar.bz2#660e72c82f2e75a6b3fe6a6e75c79f19
https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036
Expand Down Expand Up @@ -95,7 +95,7 @@ https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-15_linux64_openb
https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.47.0-h727a467_0.tar.bz2#a22567abfea169ff8048506b1ca9b230
https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.37-h21135ba_2.tar.bz2#b6acf807307d033d4b7e758b4f44b036
https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-ha56f1ee_2.tar.bz2#6ab4eaa11ff01801cffca0a27489dc04
https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.3.0-h0fcbabc_4.tar.bz2#2cdb3944029c2cb99cbe981b182a2e9a
https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-hc85c160_1.tar.bz2#151f9fae3ab50f039c8735e47770aa2d
https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.14-h22db469_0.tar.bz2#7d623237b73d93dd856b5dd0f5fedd6b
https://conda.anaconda.org/conda-forge/linux-64/libzip-1.8.0-h4de3113_1.tar.bz2#175a746a43d42c053b91aa765fbc197d
https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.29-h28c427c_1.tar.bz2#36dbdbf505b131c7e79a3857f3537185
Expand All @@ -112,6 +112,7 @@ https://conda.anaconda.org/conda-forge/linux-64/freetype-2.10.4-h0708190_1.tar.b
https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.8-hff1cb4f_0.tar.bz2#908fc30f89e27817d835b45f865536d7
https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.70.2-h780b84a_4.tar.bz2#c66c6df8ef582a3b78702201b1eb8e94
https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h64030ff_2.tar.bz2#112eb9b5b93f0c02e59aea4fd1967363
https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.12-hddcbb42_0.tar.bz2#797117394a4aa588de6d741b06fad80f
https://conda.anaconda.org/conda-forge/linux-64/libclang-14.0.5-default_h2e3cab8_0.tar.bz2#8b1cd508fcf54a5c8c5766c549272b6e
https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hf5a7f15_1.tar.bz2#005557d6df00af70e438bcd532ce2304
https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.83.1-h7bff187_0.tar.bz2#d0c278476dba3b29ee13203784672ab1
Expand All @@ -120,6 +121,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.0.31-h9c3ff4c_1.tar
https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.2.2-h3452ae3_0.tar.bz2#c363665b4aabe56aae4f8981cff5b153
https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b
https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc
https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.4.0-hb52868f_1.tar.bz2#b7ad78ad2e9ee155f59e6428406ee824
https://conda.anaconda.org/conda-forge/linux-64/python-3.8.13-h582c2e5_0_cpython.tar.bz2#8ec74710472994e2411a8020fa8589ce
https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h166bdaf_0.tar.bz2#c9b568bd804cb2903c6be6f5f68182e4
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2#536cc5db4d0a3ba0630541aec064b5e4
Expand All @@ -146,9 +148,8 @@ https://conda.anaconda.org/conda-forge/noarch/iris-sample-data-2.4.0-pyhd8ed1ab_
https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.18-h8c3723f_1002.tar.bz2#7b3f287fcb7683f67b3d953b79f412ea
https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4
https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19
https://conda.anaconda.org/conda-forge/noarch/olefile-0.46-pyh9f0ad1d_1.tar.bz2#0b2e68acc8c78c8cc392b90983481f58
https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.1-pyhd8ed1ab_0.tar.bz2#d5df87964a39f67c46a5448f4e78d9b6
https://conda.anaconda.org/conda-forge/linux-64/proj-9.0.0-h93bde94_1.tar.bz2#cf908994f24ea526afc59f295d5b07c1
https://conda.anaconda.org/conda-forge/linux-64/proj-9.0.1-h93bde94_0.tar.bz2#42d593cd1b23a43d7ac7edd9a2e84fa9
https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054
https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff
https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc
Expand Down Expand Up @@ -183,10 +184,10 @@ https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h18fbbfe_3.tar.bz2#e
https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.8.1-mpi_mpich_hcdf9059_2.tar.bz2#7c035ca8a06010c4d9730c428d1a5969
https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.1-py38h0a891b7_1.tar.bz2#20d003ad5f584e212c299f64cac46c05
https://conda.anaconda.org/conda-forge/linux-64/mpi4py-3.1.3-py38h97ac3a3_1.tar.bz2#7a65afac627e81e2d4c1fef44409dbf5
https://conda.anaconda.org/conda-forge/linux-64/numpy-1.22.4-py38h99721a1_0.tar.bz2#fc4f99d9d9296861d09d487c7c32069f
https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.0-py38h3a7f9d9_0.tar.bz2#bde7c584b811ef5aec0dd2204e502334
https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85
https://conda.anaconda.org/conda-forge/noarch/partd-1.2.0-pyhd8ed1ab_0.tar.bz2#0c32f563d7f22e3a34c95cad8cc95651
https://conda.anaconda.org/conda-forge/linux-64/pillow-6.2.1-py38hd70f55b_1.tar.bz2#80d719bee2b77a106b199150c0829107
https://conda.anaconda.org/conda-forge/linux-64/pillow-9.1.1-py38h0ee0e06_1.tar.bz2#cd653a4a951ca80adb96ff6cd3b36883
https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py38h578d9bd_3.tar.bz2#6ce4ce3d4490a56eb33b52c179609193
https://conda.anaconda.org/conda-forge/noarch/pockets-0.9.1-py_0.tar.bz2#1b52f0c42e8077e5a33e00fe72269364
https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.1-py38h0a891b7_0.tar.bz2#e3908bd184030e7f4a3d837959ebf6d7
Expand All @@ -195,7 +196,7 @@ https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py38h578d9bd_5.tar
https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984
https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.0.0-py38h0a891b7_1.tar.bz2#69fc64e4f4c13abe0b8df699ddaa1051
https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py38h0a891b7_4.tar.bz2#ba24ff01bb38c5cd5be54b45ef685db3
https://conda.anaconda.org/conda-forge/linux-64/setuptools-62.3.4-py38h578d9bd_0.tar.bz2#c58b7548636be9acefa9ba579e5590a4
https://conda.anaconda.org/conda-forge/linux-64/setuptools-62.6.0-py38h578d9bd_0.tar.bz2#4dbffb6d975f26cd71fb27aa20fc4761
https://conda.anaconda.org/conda-forge/linux-64/tornado-6.1-py38h0a891b7_3.tar.bz2#d9e2836a4a46935f84b858462d54a7c3
https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-14.0.0-py38h0a891b7_1.tar.bz2#83df0e9e3faffc295f12607438691465
https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.14.1-py38h578d9bd_0.tar.bz2#41427ff3fd8d35e5ab1cdcec4d94ea6b
Expand All @@ -210,10 +211,10 @@ https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2#
https://conda.anaconda.org/conda-forge/linux-64/mo_pack-0.2.0-py38h71d37f0_1007.tar.bz2#c8d3d8f137f8af7b1daca318131223b1
https://conda.anaconda.org/conda-forge/linux-64/netcdf-fortran-4.5.4-mpi_mpich_h1364a43_0.tar.bz2#b6ba4f487ef9fd5d353ff277df06d133
https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950
https://conda.anaconda.org/conda-forge/linux-64/pandas-1.4.2-py38h47df419_2.tar.bz2#64cca81aa93bbf0a5ab3c6d5d956b976
https://conda.anaconda.org/conda-forge/linux-64/pandas-1.4.3-py38h47df419_0.tar.bz2#91c5ac3f8f0e55a946be7b9ce489abfe
https://conda.anaconda.org/conda-forge/noarch/pip-22.1.2-pyhd8ed1ab_0.tar.bz2#d29185c662a424f8bea1103270b85c96
https://conda.anaconda.org/conda-forge/noarch/pygments-2.12.0-pyhd8ed1ab_0.tar.bz2#cb27e2ded147e5bcc7eafc1c6d343cb3
https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.3.1-py38h5b5ac8f_0.tar.bz2#5d91e0c583547eb69345c3acf4d753ee
https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.3.1-py38he1635e7_1.tar.bz2#3907607e23c3e18202960fc4217baa0a
https://conda.anaconda.org/conda-forge/linux-64/pytest-7.1.2-py38h578d9bd_0.tar.bz2#626d2b8f96c8c3d20198e6bd84d1cfb7
https://conda.anaconda.org/conda-forge/linux-64/python-stratify-0.2.post0-py38h71d37f0_2.tar.bz2#cdef2f7b0e263e338016da4b77ae4c0b
https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.3.0-py38h71d37f0_1.tar.bz2#704f1776af689de568514b0ff9dd0fbe
Expand All @@ -233,7 +234,7 @@ https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.
https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.9.0-py38hfa26641_1.tar.bz2#40f4eeb2cb0f0ab25d0640f5f7a34de8
https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_0.tar.bz2#95286e05a617de9ebfe3246cecbfb72f
https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.4-ha5833f6_2.tar.bz2#dd3aa6715b9e9efaf842febf18ce4261
https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.20.2-py38h90a48c0_5.tar.bz2#8d4a94a9c0dec7e5edeff344cbfe4c38
https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.20.2-py38hb3c56ba_6.tar.bz2#9ec1f7a5fe50f16f5103845db2ebd6d8
https://conda.anaconda.org/conda-forge/linux-64/esmpy-8.2.0-mpi_mpich_py38h9147699_101.tar.bz2#5a9de1dec507b6614150a77d1aabf257
https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2#957a0255ab58aaf394a91725d73ab422
https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.3-h7abd40a_0.tar.bz2#02b82b1dc4e876242900dcaff109e697
Expand Down
1 change: 0 additions & 1 deletion requirements/ci/py38.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ dependencies:
# Test dependencies.
- filelock
- imagehash >=4.0
- pillow <7
- pre-commit
- psutil
- pytest
Expand Down