From 4cbab2cf08e9614fdd4286a22ab2b95c9410cfe1 Mon Sep 17 00:00:00 2001 From: "stephen.worsley" Date: Fri, 25 Oct 2024 14:00:15 +0100 Subject: [PATCH] increase references to python version --- .github/workflows/ci-tests.yml | 8 ++++---- .github/workflows/ci-wheels.yml | 2 +- benchmarks/asv.conf.json | 10 +++++----- benchmarks/bm_runner.py | 2 +- docs/src/whatsnew/latest.rst | 3 +++ lib/iris/tests/test_coding_standards.py | 4 ++-- noxfile.py | 2 +- pyproject.toml | 4 ++-- requirements/{py310.yml => py313.yml} | 2 +- 9 files changed, 20 insertions(+), 17 deletions(-) rename requirements/{py310.yml => py313.yml} (98%) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 4b21e73384..809d21f3fe 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -35,18 +35,18 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.12"] + python-version: ["3.13"] session: ["doctest", "gallery", "linkcheck"] include: - os: "ubuntu-latest" - python-version: "3.12" + python-version: "3.13" session: "tests" coverage: "--coverage" - os: "ubuntu-latest" - python-version: "3.11" + python-version: "3.12" session: "tests" - os: "ubuntu-latest" - python-version: "3.10" + python-version: "3.11" session: "tests" env: diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 9c53673481..1bbb651dd5 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -52,7 +52,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] session: ["wheel"] env: ENV_NAME: "ci-wheels" diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index 2857c90ad7..3e9308c7f5 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -37,16 +37,16 @@ ], "delegated_env_commands": { "c8a663a0": [ + "ENV_PARENT={conf_dir}/.asv/env/nox313", + "PY_VER=3.13 nox --envdir={env_parent} --session=tests --install-only --no-error-on-external-run --verbose" + ], + "d58fca7e": [ "ENV_PARENT={conf_dir}/.asv/env/nox312", "PY_VER=3.12 nox --envdir={env_parent} --session=tests --install-only --no-error-on-external-run --verbose" ], - "d58fca7e": [ + "44fae030": [ "ENV_PARENT={conf_dir}/.asv/env/nox311", "PY_VER=3.11 nox --envdir={env_parent} --session=tests --install-only --no-error-on-external-run --verbose" - ], - "44fae030": [ - "ENV_PARENT={conf_dir}/.asv/env/nox310", - "PY_VER=3.10 nox --envdir={env_parent} --session=tests --install-only --no-error-on-external-run --verbose" ] }, diff --git a/benchmarks/bm_runner.py b/benchmarks/bm_runner.py index afc08ff6fa..1f3248b480 100644 --- a/benchmarks/bm_runner.py +++ b/benchmarks/bm_runner.py @@ -66,7 +66,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.12" + python_version = "3.13" data_gen_var = "DATA_GEN_PYTHON" if data_gen_var in environ: echo("Using existing data generation environment.") diff --git a/docs/src/whatsnew/latest.rst b/docs/src/whatsnew/latest.rst index ff4babc025..884dee801b 100644 --- a/docs/src/whatsnew/latest.rst +++ b/docs/src/whatsnew/latest.rst @@ -110,6 +110,8 @@ This document explains the changes made to Iris for this release * `NumPy v2 changed scalar printing`_ +#. `@stephenworsley`_ dropped support for ``py310`` and adopted support for ``py313`` + as per the `SPEC 0`_ schedule. (:pull:`****`) 📚 Documentation ================ @@ -141,3 +143,4 @@ This document explains the changes made to Iris for this release .. _NumPy v2 changed data type promotion: https://numpy.org/doc/stable/numpy_2_0_migration_guide.html#changes-to-numpy-data-type-promotion .. _NumPy v2 changed scalar printing: https://numpy.org/doc/stable/release/2.0.0-notes.html#representation-of-numpy-scalars-changed .. _NumPy v2 full release notes: https://numpy.org/doc/stable/release/2.0.0-notes.html +.. _SPEC 0: https://scientific-python.org/specs/spec-0000/ diff --git a/lib/iris/tests/test_coding_standards.py b/lib/iris/tests/test_coding_standards.py index 9bb26a426a..b4316159d0 100644 --- a/lib/iris/tests/test_coding_standards.py +++ b/lib/iris/tests/test_coding_standards.py @@ -69,8 +69,8 @@ def test_python_versions(): Test is designed to fail whenever Iris' supported Python versions are updated, insisting that versions are updated EVERYWHERE in-sync. """ - latest_supported = "3.12" - all_supported = ["3.10", "3.11", latest_supported] + latest_supported = "3.13" + all_supported = ["3.11", "3.12", latest_supported] root_dir = Path(__file__).parents[3] workflows_dir = root_dir / ".github" / "workflows" diff --git a/noxfile.py b/noxfile.py index d74a964e94..3c692a3b9d 100644 --- a/noxfile.py +++ b/noxfile.py @@ -15,7 +15,7 @@ nox.options.reuse_existing_virtualenvs = True #: Python versions we can run sessions under -_PY_VERSIONS_ALL = ["3.10", "3.11", "3.12"] +_PY_VERSIONS_ALL = ["3.11", "3.12", "3.13"] _PY_VERSION_LATEST = _PY_VERSIONS_ALL[-1] #: One specific python version for docs builds diff --git a/pyproject.toml b/pyproject.toml index b849dae9e6..a5ee88204a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,9 +22,9 @@ classifiers = [ "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Atmospheric Science", @@ -50,7 +50,7 @@ keywords = [ ] license = {text = "BSD-3-Clause"} name = "scitools-iris" -requires-python = ">=3.10" +requires-python = ">=3.11" [project.urls] Code = "https://github.com/SciTools/iris" diff --git a/requirements/py310.yml b/requirements/py313.yml similarity index 98% rename from requirements/py310.yml rename to requirements/py313.yml index f7285938f6..1832b8cb4d 100644 --- a/requirements/py310.yml +++ b/requirements/py313.yml @@ -4,7 +4,7 @@ channels: - conda-forge dependencies: - - python =3.10 + - python =3.13 # Setup dependencies. - setuptools >=64