Skip to content
Draft
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
11 changes: 7 additions & 4 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,22 @@ jobs:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.13"]
python-version: ["3.14"]
session: ["doctest", "gallery"]
include:
- os: "ubuntu-latest"
python-version: "3.13"
python-version: "3.14"
session: "tests"
coverage: "--coverage"
- os: "ubuntu-latest"
python-version: "3.12"
python-version: "3.13"
session: "tests"
- os: "ubuntu-latest"
python-version: "3.11"
python-version: "3.12"
session: "tests"
- os: "ubuntu-latest"
python-version: "3.13"
session: "doctest"

env:
# NOTE: IRIS_TEST_DATA_VERSION is also set in benchmarks_run.yml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
python-version: ["3.12", "3.13", "3.14"]
session: ["wheel"]
env:
ENV_NAME: "ci-wheels"
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/bm_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def _check_requirements(package: str) -> None:

def _prep_data_gen_env() -> None:
"""Create or access a separate, unchanging environment for generating test data."""
python_version = "3.13"
python_version = "3.14"
data_gen_var = "DATA_GEN_PYTHON"
if data_gen_var in environ:
echo("Using existing data generation environment.")
Expand Down
16 changes: 15 additions & 1 deletion docs/src/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"""Config for sphinx."""

import datetime
import importlib
from importlib.metadata import version as get_version
from inspect import getsource
import ntpath
Expand Down Expand Up @@ -219,6 +220,11 @@ def _dotv(version):
autoclass_content = "both"
modindex_common_prefix = ["iris"]

# if geovista is not installed we need to mock the imports so the autodoc build works:
if importlib.util.find_spec("geovista") is None:
autodoc_mock_imports = ["geovista", "pyvista"]


# -- apidoc extension ---------------------------------------------------------
# See https://github.com/sphinx-contrib/apidoc
source_code_root = (Path(__file__).parents[2]).absolute()
Expand Down Expand Up @@ -283,7 +289,15 @@ def _dotv(version):

# -- Doctest ("make doctest")--------------------------------------------------

doctest_global_setup = "import iris"
doctest_global_setup = """
import iris

# To handle conditional doctest skipping if geovista is not installed:
try:
import geovista as gv
except ImportError:
gv = None
"""

# -- Options for HTML output --------------------------------------------------

Expand Down
1 change: 1 addition & 0 deletions docs/src/further_topics/ugrid/operations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,7 @@ below:
:icon: code

.. doctest:: ugrid_operations
:skipif: gv is None

>>> from geovista.geodesic import BBox
>>> from iris import load_cube, sample_data_path
Expand Down
8 changes: 7 additions & 1 deletion docs/src/whatsnew/latest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,19 @@ This document explains the changes made to Iris for this release

#. `@tkknight`_ removed flake8, we have ruff now instead. (:pull:`6889`)

#. `@trexfeathers`_ and `@ukmo-ccbunney`_ updated CI to support Python 3.14
inline with `SPEC0 Minimum Supported Dependencies`_. Note: `pyvista` (and
hence `geovista`) is not yet compatible with Python 3.14, so
`:module:~iris.experimental.geovista` is currently only available for
Python \<3.14. (:pull:`6816`, :issue:`6775`)

.. comment
Whatsnew author names (@github name) in alphabetical order. Note that,
core dev names are automatically included by the common_links.inc:

.. _@hdyson: https://github.com/hdyson


.. _SPEC0 Minimum Supported Dependencies: https://scientific-python.org/specs/spec-0000/

.. comment
Whatsnew resources in alphabetical order:
Loading
Loading