From c81fe85d25fc041c7907a89ae5c14a189310abff Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Sat, 3 Feb 2024 13:47:18 +0800 Subject: [PATCH 1/5] Adopt SPEC 0 policy and drop NEP 29 policy --- .github/ISSUE_TEMPLATE/release_checklist.md | 2 +- .github/workflows/ci_tests.yaml | 2 +- README.rst | 19 +++++++++---------- doc/maintenance.md | 21 +++++++++------------ doc/minversions.rst | 10 ++++------ 5 files changed, 24 insertions(+), 30 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/release_checklist.md b/.github/ISSUE_TEMPLATE/release_checklist.md index 6a36d0665f6..5e16b4a9f0b 100644 --- a/.github/ISSUE_TEMPLATE/release_checklist.md +++ b/.github/ISSUE_TEMPLATE/release_checklist.md @@ -16,7 +16,7 @@ assignees: '' - [ ] Wrap Y () **Before release**: -- [ ] Check [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy.html) to see if we need to bump the minimum Python and NumPy versions +- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of Python and core package dependencies - [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml` - [ ] Check to ensure that: - [ ] All tests pass in the ["GMT Legacy Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_legacy.yaml) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 47bf9be6b90..5ba863d21e1 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -17,7 +17,7 @@ # In draft pull request, only two jobs on Linux are triggered to save on # Continuous Integration resources: # -# - Minimum [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy) Python/NumPy versions +# - Minimum supported Python/NumPy versions following [SPEC 0](https://scientific-python.org/specs/spec-0000/) # - Latest Python/NumPy versions + optional packages (e.g. GeoPandas) # name: Tests diff --git a/README.rst b/README.rst index d476cf4ca14..6caec2b319b 100644 --- a/README.rst +++ b/README.rst @@ -253,16 +253,15 @@ Other non-official Python wrappers for GMT (not maintained): .. doc-index-end-before -Minimum Supported GMT/Python/NumPy Versions -------------------------------------------- +Minimum Supported Versions of GMT/Python/Core package dependencies +------------------------------------------------------------------ -PyGMT has adopted `NEP29 `__ -alongside the rest of the Scientific Python ecosystem, and therefore supports: +PyGMT has adopted `SPEC 0 `__ alongside +the rest of the Scientific Python ecosystem, and therefore: -* All minor versions of Python released 42 months prior to the project, and at minimum - the two latest minor versions. -* All minor versions of NumPy released in the 24 months prior to the project, and at - minimum the last three minor versions. +* Support for Python versions be dropped 3 years after their initial release. +* Support for core package dependencies be dropped 2 years after their initial release. -For the supported GMT versions as well as the minimum required Python and NumPy versions -please see `Minimum Required Versions `__. +For the supported GMT versions as well as the minimum required versions of Python and +core package dependencies, please see +`Minimum Required Versions `__. diff --git a/doc/maintenance.md b/doc/maintenance.md index 20007c272eb..8efdfd9d625 100644 --- a/doc/maintenance.md +++ b/doc/maintenance.md @@ -119,17 +119,15 @@ to change the default behaviour at `__ -alongside the rest of the Scientific Python ecosystem, and therefore supports: +PyGMT has adopted `SPEC 0 `__ alongside +the rest of the Scientific Python ecosystem, and therefore: -* All minor versions of Python released 42 months prior to the project, and at minimum - the two latest minor versions. -* All minor versions of NumPy released in the 24 months prior to the project, and at - minimum the last three minor versions. +* Support for Python versions be dropped 3 years after their initial release. +* Support for core package dependencies be dropped 2 years after their initial release. .. list-table:: :widths: 25 30 15 20 15 From d48896735b1897d35582d31634e10261f3eb5b65 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 5 Feb 2024 13:20:47 +0800 Subject: [PATCH 2/5] Make it clear that core package dependencies means NumPy/Pandas/Xarray Co-authored-by: Wei Ji <23487320+weiji14@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/release_checklist.md | 2 +- .github/workflows/ci_tests.yaml | 2 +- README.rst | 2 +- doc/maintenance.md | 5 +++-- doc/minversions.rst | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/release_checklist.md b/.github/ISSUE_TEMPLATE/release_checklist.md index 5e16b4a9f0b..51c85f0a5ee 100644 --- a/.github/ISSUE_TEMPLATE/release_checklist.md +++ b/.github/ISSUE_TEMPLATE/release_checklist.md @@ -16,7 +16,7 @@ assignees: '' - [ ] Wrap Y () **Before release**: -- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of Python and core package dependencies +- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of Python and core package dependencies (NumPy/Pandas/Xarray) - [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml` - [ ] Check to ensure that: - [ ] All tests pass in the ["GMT Legacy Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_legacy.yaml) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 5ba863d21e1..c240190296c 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -17,7 +17,7 @@ # In draft pull request, only two jobs on Linux are triggered to save on # Continuous Integration resources: # -# - Minimum supported Python/NumPy versions following [SPEC 0](https://scientific-python.org/specs/spec-0000/) +# - Minimum supported Python/NumPy/Pandas/Xarray versions following [SPEC 0](https://scientific-python.org/specs/spec-0000/) # - Latest Python/NumPy versions + optional packages (e.g. GeoPandas) # name: Tests diff --git a/README.rst b/README.rst index 6caec2b319b..540e84ac4bb 100644 --- a/README.rst +++ b/README.rst @@ -260,7 +260,7 @@ PyGMT has adopted `SPEC 0 `__ al the rest of the Scientific Python ecosystem, and therefore: * Support for Python versions be dropped 3 years after their initial release. -* Support for core package dependencies be dropped 2 years after their initial release. +* Support for core package dependencies (NumPy/Pandas/Xarray) be dropped 2 years after their initial release. For the supported GMT versions as well as the minimum required versions of Python and core package dependencies, please see diff --git a/doc/maintenance.md b/doc/maintenance.md index 8efdfd9d625..921318179aa 100644 --- a/doc/maintenance.md +++ b/doc/maintenance.md @@ -123,7 +123,7 @@ PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) along the rest of the Scientific Python ecosystem, and therefore: * Support for Python versions be dropped 3 years after their initial release. -* Support for core package dependencies be dropped 2 years after their initial release. +* Support for core package (NumPy/Pandas/Xarray) dependencies be dropped 2 years after their initial release. In `pyproject.toml`, the `requires-python` key should be set to the minimum supported version of Python. Minimum supported versions of Python and core package dependencies @@ -220,7 +220,8 @@ publishing the actual release notes at {doc}`changes`. last release (e.g., use `git shortlog HEAD...v0.4.0 -sne`). 8. Update `doc/minversions.rst` with new information on the new release version, including a vX.Y.Z documentation link, and minimum required versions of GMT, Python - and core packages. Follow [SPEC 0](https://scientific-python.org/specs/spec-0000/) + and core packages (NumPy/Pandas/Xarray). Follow + [SPEC 0](https://scientific-python.org/specs/spec-0000/) for updates. 9. Refresh citation information. Specifically, the BibTeX in `README.rst` and `CITATION.cff` needs to be updated with any metadata changes, including the diff --git a/doc/minversions.rst b/doc/minversions.rst index 1602d382857..0b950ba6793 100644 --- a/doc/minversions.rst +++ b/doc/minversions.rst @@ -5,7 +5,7 @@ PyGMT has adopted `SPEC 0 `__ al the rest of the Scientific Python ecosystem, and therefore: * Support for Python versions be dropped 3 years after their initial release. -* Support for core package dependencies be dropped 2 years after their initial release. +* Support for core package dependencies (NumPy/Pandas/Xarray) be dropped 2 years after their initial release. .. list-table:: :widths: 25 30 15 20 15 From dfac19a2a1d3e3471a9b24228280fc6ff021466b Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 5 Feb 2024 13:27:54 +0800 Subject: [PATCH 3/5] Apply suggestions from code review --- doc/maintenance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/maintenance.md b/doc/maintenance.md index 921318179aa..9b6fdc689cf 100644 --- a/doc/maintenance.md +++ b/doc/maintenance.md @@ -123,7 +123,7 @@ PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) along the rest of the Scientific Python ecosystem, and therefore: * Support for Python versions be dropped 3 years after their initial release. -* Support for core package (NumPy/Pandas/Xarray) dependencies be dropped 2 years after their initial release. +* Support for core package dependencies (NumPy/Pandas/Xarray) be dropped 2 years after their initial release. In `pyproject.toml`, the `requires-python` key should be set to the minimum supported version of Python. Minimum supported versions of Python and core package dependencies @@ -220,7 +220,7 @@ publishing the actual release notes at {doc}`changes`. last release (e.g., use `git shortlog HEAD...v0.4.0 -sne`). 8. Update `doc/minversions.rst` with new information on the new release version, including a vX.Y.Z documentation link, and minimum required versions of GMT, Python - and core packages (NumPy/Pandas/Xarray). Follow + and core package dependencies (NumPy/Pandas/Xarray). Follow [SPEC 0](https://scientific-python.org/specs/spec-0000/) for updates. 9. Refresh citation information. Specifically, the BibTeX in `README.rst` and From f4049a09c9206c5b80cb47d56521453f1a16cbb4 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 5 Feb 2024 19:15:36 +0800 Subject: [PATCH 4/5] Change title to 'Minimum Supported Versions' --- doc/index.rst | 2 +- doc/minversions.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index 4130e5e51b5..3f22b1db16b 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -40,7 +40,7 @@ api/index.rst changes.md - Minimum Supported Versions + minversions.rst .. toctree:: :maxdepth: 2 diff --git a/doc/minversions.rst b/doc/minversions.rst index 0b950ba6793..f47514d72a9 100644 --- a/doc/minversions.rst +++ b/doc/minversions.rst @@ -1,5 +1,5 @@ -Minimum Supported GMT/Python/NumPy Versions -------------------------------------------- +Minimum Supported Versions +-------------------------- PyGMT has adopted `SPEC 0 `__ alongside the rest of the Scientific Python ecosystem, and therefore: From 8d219cb06e2f08c0914dd6a98d2d025009b05f5e Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 5 Feb 2024 21:20:13 +0800 Subject: [PATCH 5/5] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Yvonne Fröhlich <94163266+yvonnefroehlich@users.noreply.github.com> --- README.rst | 6 +++--- doc/maintenance.md | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 540e84ac4bb..1368c1325a3 100644 --- a/README.rst +++ b/README.rst @@ -253,8 +253,8 @@ Other non-official Python wrappers for GMT (not maintained): .. doc-index-end-before -Minimum Supported Versions of GMT/Python/Core package dependencies ------------------------------------------------------------------- +Minimum Supported Versions +-------------------------- PyGMT has adopted `SPEC 0 `__ alongside the rest of the Scientific Python ecosystem, and therefore: @@ -264,4 +264,4 @@ the rest of the Scientific Python ecosystem, and therefore: For the supported GMT versions as well as the minimum required versions of Python and core package dependencies, please see -`Minimum Required Versions `__. +`Minimum Supported Versions `__. diff --git a/doc/maintenance.md b/doc/maintenance.md index 9b6fdc689cf..914b30a6a49 100644 --- a/doc/maintenance.md +++ b/doc/maintenance.md @@ -221,8 +221,7 @@ publishing the actual release notes at {doc}`changes`. 8. Update `doc/minversions.rst` with new information on the new release version, including a vX.Y.Z documentation link, and minimum required versions of GMT, Python and core package dependencies (NumPy/Pandas/Xarray). Follow - [SPEC 0](https://scientific-python.org/specs/spec-0000/) - for updates. + [SPEC 0](https://scientific-python.org/specs/spec-0000/) for updates. 9. Refresh citation information. Specifically, the BibTeX in `README.rst` and `CITATION.cff` needs to be updated with any metadata changes, including the DOI, release date, and version information. Please also follow