From 7bcb8b6014f4deed2dcce8a1188202081819c57b Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 5 Feb 2024 22:30:21 +0800 Subject: [PATCH] SPEC0: Set minimum supported version to Python 3.10 Following [SPEC 0](https://scientific-python.org/specs/spec-0000/) policy where Python 3.9 should be dropped in 2023 quarter 4. Supersedes PR #2487. Address #2863. --- .github/workflows/ci_tests.yaml | 8 ++++---- .github/workflows/ci_tests_legacy.yaml | 2 +- doc/minversions.rst | 2 +- pyproject.toml | 3 +-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 47bf9be6b90..8b8c1527426 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -51,21 +51,21 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.9', '3.12'] + python-version: ['3.10', '3.12'] os: [ubuntu-latest, macos-latest, windows-latest] # Is it a draft Pull Request (true or false)? isDraft: - ${{ github.event.pull_request.draft }} - # Only run two jobs (Ubuntu + Python 3.9/3.12) for draft PRs + # Only run two jobs (Ubuntu + Python 3.10/3.12) for draft PRs exclude: - os: macos-latest isDraft: true - os: windows-latest isDraft: true - # Pair Python 3.9 with NumPy 1.23 and Python 3.12 with NumPy 1.26 + # Pair Python 3.10 with NumPy 1.23 and Python 3.12 with NumPy 1.26 # Only install optional packages on Python 3.12/NumPy 1.26 include: - - python-version: '3.9' + - python-version: '3.10' numpy-version: '1.23' optional-packages: '' - python-version: '3.12' diff --git a/.github/workflows/ci_tests_legacy.yaml b/.github/workflows/ci_tests_legacy.yaml index 8f20ffb379f..028f151a7d1 100644 --- a/.github/workflows/ci_tests_legacy.yaml +++ b/.github/workflows/ci_tests_legacy.yaml @@ -60,7 +60,7 @@ jobs: cache-downloads: false cache-environment: true create-args: >- - python=3.9 + python=3.10 gmt=${{ matrix.gmt_version }} numpy pandas<2 diff --git a/doc/minversions.rst b/doc/minversions.rst index 404cd1b5ef3..d16a8530374 100644 --- a/doc/minversions.rst +++ b/doc/minversions.rst @@ -21,7 +21,7 @@ alongside the rest of the Scientific Python ecosystem, and therefore supports: * - `Dev `_ (upcoming release) - `Dev Documentation `_ (reflects `main branch `_) - >=6.3.0 - - >=3.9 + - >=3.10 - >=1.23 * - `v0.11.0 `_ (latest release) - `v0.11.0 Documentation `_ diff --git a/pyproject.toml b/pyproject.toml index 800d9bde931..9e8ceeb7781 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "pygmt" description = "A Python interface for the Generic Mapping Tools" readme = "README.rst" -requires-python = ">=3.9" +requires-python = ">=3.10" authors = [{name = "The PyGMT Developers", email = "pygmt.team@gmail.com"}] keywords = [ "cartography", @@ -24,7 +24,6 @@ classifiers = [ "Intended Audience :: Education", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",