From 5375826f8146e0af8b73038e3ab5fd3487139736 Mon Sep 17 00:00:00 2001 From: Santiago Soler Date: Tue, 18 Jun 2024 13:44:58 -0700 Subject: [PATCH] Extend support to Python 3.12 (#484) Bump minimum required Python version in CI. Bump Python version in `environment.yml`. Bump minimum version for some dependencies in `pyproject.toml`, requiring at minimum the ones that work on Python 3.12. Add classifier in `pyproject.toml` for Python 3.12. --- .github/workflows/docs.yml | 2 +- .github/workflows/pypi.yml | 2 +- .github/workflows/style.yml | 4 ++-- .github/workflows/test.yml | 6 +++--- environment.yml | 4 ++-- pyproject.toml | 9 +++++---- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d7b16bf47..b7e88604a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest env: REQUIREMENTS: env/requirements-build.txt env/requirements-docs.txt - PYTHON: "3.11" + PYTHON: "3.12" steps: diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml index 3746f4bdb..5cf18e885 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/pypi.yml @@ -49,7 +49,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install requirements run: python -m pip install -r env/requirements-build.txt diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 8f21efc13..d5829a710 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install requirements run: pip install -r env/requirements-style.txt @@ -49,7 +49,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install requirements run: pip install -r env/requirements-style.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bf2c7ca61..221618695 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,10 +46,10 @@ jobs: - dependencies: oldest python: "3.9" - dependencies: latest - python: "3.11" + python: "3.12" - dependencies: optional - python: "3.11" - # test on macos-13 (x86) using oldest dependencies and python 3.9 + python: "3.12" + # test on macos-13 (x86) using oldest dependencies and python 3.8 - os: macos-13 dependencies: oldest python: "3.9" diff --git a/environment.yml b/environment.yml index 502b593a0..96fc8e228 100644 --- a/environment.yml +++ b/environment.yml @@ -2,7 +2,7 @@ name: harmonica channels: - conda-forge dependencies: - - python==3.10.* + - python==3.12.* - pip # Build - build @@ -13,7 +13,7 @@ dependencies: - numba - scipy - scikit-learn - - verde>=1.7.0 + - verde>=1.8.1 - xarray - xrft>=1.0 - choclo>=0.1 diff --git a/pyproject.toml b/pyproject.toml index 4f0fea956..bfd1ae1f5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,16 +25,17 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] requires-python = ">=3.9" dependencies = [ - "numpy >= 1.21", + "numpy >= 1.23", "pandas >= 1.4", "scipy >= 1.9", - "scikit-learn >= 0.24", + "scikit-learn >= 1.0", "numba >= 0.53", - "xarray >= 0.16", - "verde >= 1.7", + "xarray >= 2022.03", + "verde >= 1.8.1", "xrft >= 1.0", "choclo >= 0.1", ]