From 2b7cec3a8d940b29d2cdfe5a184e23a69080f04f Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Tue, 10 Dec 2024 16:44:49 -0500 Subject: [PATCH] chore: drop python 3.8, add 3.13 --- .github/workflows/ci.yml | 13 +++++-------- .github/workflows/release.yml | 4 ++-- .readthedocs.yml | 2 +- DEVELOPER.md | 2 +- README.md | 2 +- pyproject.toml | 4 ++-- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 897ffa32..2a396c5e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 cache: 'pip' cache-dependency-path: pyproject.toml @@ -52,7 +52,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: Install Python packages run: | @@ -79,7 +79,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-22.04, macos-13, windows-2022 ] - python: [ 3.8, 3.9, "3.10", "3.11", "3.12" ] + python: [ 3.9, "3.10", "3.11", "3.12", "3.13" ] env: GCC_V: 11 steps: @@ -137,7 +137,6 @@ jobs: run: pip install ".[test]" - name: Cache modflow6 examples - if: matrix.python != 3.8 id: cache-examples uses: actions/cache@v3 with: @@ -145,18 +144,16 @@ jobs: key: modflow6-examples-${{ hashFiles('modflow6-examples/data/**') }} - name: Install extra Python packages - if: matrix.python != 3.8 working-directory: modflow6-examples/etc run: | pip install -r requirements.pip.txt pip install -r requirements.usgs.txt - name: Update FloPy packages - if: matrix.python != 3.8 run: python -m flopy.mf6.utils.generate_classes --ref develop --no-backup - name: Build modflow6 example models - if: matrix.python != 3.8 && steps.cache-examples.outputs.cache-hit != 'true' + if: steps.cache-examples.outputs.cache-hit != 'true' working-directory: modflow6-examples/autotest run: pytest -v -n auto test_scripts.py --init @@ -171,7 +168,7 @@ jobs: # only invoke the GH API on one OS and Python version # to avoid rate limits (1000 rqs / hour / repository) # https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits - if: runner.os == 'Linux' && matrix.python == '3.8' + if: runner.os == 'Linux' working-directory: modflow-devtools/autotest env: REPOS_PATH: ${{ github.workspace }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ff71fc4..8e8430a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 cache: 'pip' cache-dependency-path: pyproject.toml @@ -177,7 +177,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: Install Python dependencies run: | diff --git a/.readthedocs.yml b/.readthedocs.yml index c1325d5d..129b4152 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -2,7 +2,7 @@ version: 2 build: os: "ubuntu-22.04" tools: - python: "3.8" + python: "3.9" sphinx: configuration: docs/conf.py formats: diff --git a/DEVELOPER.md b/DEVELOPER.md index 499e1b88..144fc96d 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -19,7 +19,7 @@ This document provides guidance to set up a development environment and discusse ## Requirements -Python3.8+ is currently required. This project supports several recent versions of Python, loosely following [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html#implementation) and aiming to stay synchronized with [FloPy](https://github.com/modflowpy/flopy). +Python3.9+ is currently required. This project supports several recent versions of Python, loosely following [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html#implementation) and aiming to stay synchronized with [FloPy](https://github.com/modflowpy/flopy). ## Installation diff --git a/README.md b/README.md index 726b0f6c..e1448670 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Pytest features include: ## Requirements -Python3.8+, dependency-free, but pairs well with `pytest` and select plugins, e.g. +Python3.9+, dependency-free, but pairs well with `pytest` and select plugins, e.g. - [`pytest-dotenv`](https://github.com/quiqua/pytest-dotenv) - [`pytest-xdist`](https://github.com/pytest-dev/pytest-xdist) diff --git a/pyproject.toml b/pyproject.toml index 3829ab35..0bd826d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,14 +32,14 @@ classifiers = [ "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Hydrology" ] -requires-python = ">=3.8" +requires-python = ">=3.9" dynamic = ["version"] [project.optional-dependencies]