Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Move compatibility table from README to separate file #2862

Merged
merged 30 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
0b67f9c
Remove compatibility table from README
Dec 8, 2023
e453d15
Add statement regarding NEP29
Dec 8, 2023
e7d5631
Save compatibility table in a separate file (rst)
Dec 8, 2023
06941b5
Add link in README to external compatibility table file
Dec 8, 2023
84f02a9
Include compatibility file in index.rst
Dec 8, 2023
7929106
Use 'compatibility table' as heading
Dec 8, 2023
e14c198
Begin with upper-case letters in headings
Dec 8, 2023
bfff5d0
Link to PyGMT docs
yvonnefroehlich Dec 8, 2023
e845c6b
Merge branch 'main' into move-comptab-to-file
yvonnefroehlich Jan 2, 2024
446857c
Use heading used in SPEC 0 | Move policy above compatibility table
yvonnefroehlich Jan 14, 2024
6bf8fa2
Merge branch 'main' into move-comptab-to-file
yvonnefroehlich Jan 14, 2024
fecd5a9
Merge branch 'main' into move-comptab-to-file
seisman Jan 15, 2024
7ed6392
Fix a typo
seisman Jan 15, 2024
0761c2a
Always mention NEP29 in the compatability table
seisman Jan 15, 2024
f138237
Hide the 'minimum required versions' section in the doc index page
seisman Jan 15, 2024
45a82cc
Short heading on the sidebar
seisman Jan 15, 2024
41fe62a
Update install instructions
seisman Jan 15, 2024
8c0bd1a
Add .rst suffix
seisman Jan 15, 2024
0e09afd
Merge branch 'main' into move-comptab-to-file
seisman Jan 15, 2024
ff1da6f
Update the installation guides
seisman Jan 15, 2024
3ba460a
Update the location of the compatibility table in release checklist a…
seisman Jan 15, 2024
b4ff03e
Merge branch 'main' into move-comptab-to-file
seisman Jan 16, 2024
1449f68
Merge branch 'main' into move-comptab-to-file
seisman Jan 17, 2024
315595b
Merge branch 'main' into move-comptab-to-file
seisman Jan 19, 2024
c9c1dd7
Rename compatibility.rst to minversion.rst
seisman Jan 19, 2024
17a925f
Merge branch 'main' into move-comptab-to-file
seisman Jan 23, 2024
8dfe0a3
Fix a typo
seisman Jan 23, 2024
7fd4577
Merge branch 'main' into move-comptab-to-file
seisman Jan 24, 2024
63eaa06
Merge branch 'main' into move-comptab-to-file
seisman Jan 27, 2024
2b70ea7
Merge branch 'main' into move-comptab-to-file
seisman Jan 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bump_gmt_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ using the following command:
- [ ] Bump the minimum required GMT version (1 PR)
- [ ] Update `required_version` in `pygmt/clib/session.py`
- [ ] Update `test_get_default` in `pygmt/tests/test_clib.py`
- [ ] Update compatibility table in `README.rst`
- [ ] Update compatibility table in `doc/compatibility.rst`
- [ ] Remove unsupported GMT version from `.github/workflows/ci_tests_legacy.yaml`
- [ ] Remove [xfail](https://docs.pytest.org/en/stable/skipping.html#xfail-mark-test-functions-as-expected-to-fail) pytest markers on tests that are now xpass
- [ ] Update deprecated syntax in source code and examples based on the [GMT Changelog](https://docs.generic-mapping-tools.org/latest/changes.html)
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ assignees: ''
- [ ] Update DOI (and url for BibTeX)
- [ ] Update version
- [ ] Update date released
- [ ] Add the documentation link https://github.com/GenericMappingTools/pygmt#compatibility-with-gmtpythonnumpy-versions
- [ ] Add compatibility information https://github.com/GenericMappingTools/pygmt#compatibility-with-gmtpythonnumpy-versions
- [ ] Add the documentation link `doc/compatibility.rst`
- [ ] Add compatibility information `doc/compatibility.rst`
- [ ] Copy draft changelog from Release Drafter and edit it to look nice ([see maintainers guide for details](https://www.pygmt.org/dev/maintenance.html#updating-the-changelog))

**Release**:
Expand Down
113 changes: 15 additions & 98 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ PyGMT
:alt: Twitter URL
:target: https://twitter.com/gmt_dev

.. placeholder-for-doc-index
.. doc-index-start-after


Why PyGMT?
Expand Down Expand Up @@ -254,101 +254,18 @@ Other non-official Python wrappers for GMT (not maintained):
* `pygmt <https://github.com/ian-r-rose/pygmt>`__ by `Ian Rose <https://github.com/ian-r-rose>`__
* `PyGMT <https://github.com/glimmer-cism/PyGMT>`__ by `Magnus Hagdorn <https://github.com/mhagdorn>`__

.. doc-index-end-before

Compatibility with GMT/Python/NumPy versions
--------------------------------------------

.. list-table::
:widths: 25 30 15 20 15
:header-rows: 1

* - PyGMT Version
- Documentation
- GMT
- Python
- NumPy
* - `Dev <https://github.com/GenericMappingTools/pygmt/milestones>`_ (upcoming release)
- `Dev Documentation <https://www.pygmt.org/dev>`_ (reflects `main branch <https://github.com/GenericMappingTools/pygmt>`_)
- >=6.3.0
- >=3.9
- >=1.23
* - `v0.10.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.10.0>`_ (latest release)
- `v0.10.0 Documentation <https://www.pygmt.org/v0.10.0>`_
- >=6.3.0
- >=3.9
- >=1.22
* - `v0.9.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.9.0>`_
- `v0.9.0 Documentation <https://www.pygmt.org/v0.9.0>`_
- >=6.3.0
- >=3.8
- >=1.21
* - `v0.8.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.8.0>`_
- `v0.8.0 Documentation <https://www.pygmt.org/v0.8.0>`_
- >=6.3.0
- >=3.8
- >=1.20
* - `v0.7.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.7.0>`_
- `v0.7.0 Documentation <https://www.pygmt.org/v0.7.0>`_
- >=6.3.0
- >=3.8
- >=1.20
* - `v0.6.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.6.1>`_
- `v0.6.1 Documentation <https://www.pygmt.org/v0.6.1>`_
- >=6.3.0
- >=3.8
- >=1.19
* - `v0.6.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.6.0>`_
- `v0.6.0 Documentation <https://www.pygmt.org/v0.6.0>`_
- >=6.3.0
- >=3.8
- >=1.19
* - `v0.5.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.5.0>`_
- `v0.5.0 Documentation <https://www.pygmt.org/v0.5.0>`_
- >=6.2.0
- >=3.7
- >=1.18
* - `v0.4.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.4.1>`_
- `v0.4.1 Documentation <https://www.pygmt.org/v0.4.1>`_
- >=6.2.0
- >=3.7
- >=1.17
* - `v0.4.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.4.0>`_
- `v0.4.0 Documentation <https://www.pygmt.org/v0.4.0>`_
- >=6.2.0
- >=3.7
- >=1.17
* - `v0.3.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.3.1>`_
- `v0.3.1 Documentation <https://www.pygmt.org/v0.3.1>`_
- >=6.1.1
- >=3.7
-
* - `v0.3.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.3.0>`_
- `v0.3.0 Documentation <https://www.pygmt.org/v0.3.0>`_
- >=6.1.1
- >=3.7
-
* - `v0.2.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.2.1>`_
- `v0.2.1 Documentation <https://www.pygmt.org/v0.2.1>`_
- >=6.1.1
- >=3.6
-
* - `v0.2.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.2.0>`_
- `v0.2.0 Documentation <https://www.pygmt.org/v0.2.0>`_
- >=6.1.1
- 3.6 - 3.8
-
* - `v0.1.2 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.2>`_
- `v0.1.2 Documentation <https://www.pygmt.org/v0.1.2>`_
- >=6.0.0
- 3.6 - 3.8
-
* - `v0.1.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.1>`_
- `v0.1.1 Documentation <https://www.pygmt.org/v0.1.1>`_
- >=6.0.0
- 3.6 - 3.8
-
* - `v0.1.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.0>`_
- `v0.1.0 Documentation <https://www.pygmt.org/v0.1.0>`_
- >=6.0.0
- 3.6 - 3.8
-
Minimum Supported GMT/Python/NumPy Versions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is not shown on the index page (https://pygmt-dev--2862.org.readthedocs.build/en/2862/index.html) but is shown in the README file.

-------------------------------------------

PyGMT has adopted `NEP29 <https://numpy.org/neps/nep-0029-deprecation_policy>`__
seisman marked this conversation as resolved.
Show resolved Hide resolved
alongside the rest of the Scientific Python ecosystem, and therefore supports:

* 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.

For the supported GMT versions as well as the minimum required Python and NumPy versions
please see the `Compatibility Table <https://www.pygmt.org/dev/compatibility.html>`__.
105 changes: 105 additions & 0 deletions doc/compatibility.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
Minimum Supported GMT/Python/NumPy Versions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm debating if we should rename the file to minversions.md.

Copy link
Member Author

@yvonnefroehlich yvonnefroehlich Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I perfer minversions.md. It's more similar to the heading (and easier to write).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in c9c1dd7.

-------------------------------------------

PyGMT has adopted `NEP29 <https://numpy.org/neps/nep-0029-deprecation_policy>`__
alongside the rest of the Scientific Python ecosystem, and therefore supports:

* 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.

.. list-table::
:widths: 25 30 15 20 15
:header-rows: 1

* - PyGMT Version
- Documentation
- GMT
- Python
- NumPy
* - `Dev <https://github.com/GenericMappingTools/pygmt/milestones>`_ (upcoming release)
- `Dev Documentation <https://www.pygmt.org/dev>`_ (reflects `main branch <https://github.com/GenericMappingTools/pygmt>`_)
- >=6.3.0
- >=3.9
- >=1.23
* - `v0.10.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.10.0>`_ (latest release)
- `v0.10.0 Documentation <https://www.pygmt.org/v0.10.0>`_
- >=6.3.0
- >=3.9
- >=1.22
* - `v0.9.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.9.0>`_
- `v0.9.0 Documentation <https://www.pygmt.org/v0.9.0>`_
- >=6.3.0
- >=3.8
- >=1.21
* - `v0.8.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.8.0>`_
- `v0.8.0 Documentation <https://www.pygmt.org/v0.8.0>`_
- >=6.3.0
- >=3.8
- >=1.20
* - `v0.7.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.7.0>`_
- `v0.7.0 Documentation <https://www.pygmt.org/v0.7.0>`_
- >=6.3.0
- >=3.8
- >=1.20
* - `v0.6.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.6.1>`_
- `v0.6.1 Documentation <https://www.pygmt.org/v0.6.1>`_
- >=6.3.0
- >=3.8
- >=1.19
* - `v0.6.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.6.0>`_
- `v0.6.0 Documentation <https://www.pygmt.org/v0.6.0>`_
- >=6.3.0
- >=3.8
- >=1.19
* - `v0.5.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.5.0>`_
- `v0.5.0 Documentation <https://www.pygmt.org/v0.5.0>`_
- >=6.2.0
- >=3.7
- >=1.18
* - `v0.4.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.4.1>`_
- `v0.4.1 Documentation <https://www.pygmt.org/v0.4.1>`_
- >=6.2.0
- >=3.7
- >=1.17
* - `v0.4.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.4.0>`_
- `v0.4.0 Documentation <https://www.pygmt.org/v0.4.0>`_
- >=6.2.0
- >=3.7
- >=1.17
* - `v0.3.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.3.1>`_
- `v0.3.1 Documentation <https://www.pygmt.org/v0.3.1>`_
- >=6.1.1
- >=3.7
-
* - `v0.3.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.3.0>`_
- `v0.3.0 Documentation <https://www.pygmt.org/v0.3.0>`_
- >=6.1.1
- >=3.7
-
* - `v0.2.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.2.1>`_
- `v0.2.1 Documentation <https://www.pygmt.org/v0.2.1>`_
- >=6.1.1
- >=3.6
-
* - `v0.2.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.2.0>`_
- `v0.2.0 Documentation <https://www.pygmt.org/v0.2.0>`_
- >=6.1.1
- 3.6 - 3.8
-
* - `v0.1.2 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.2>`_
- `v0.1.2 Documentation <https://www.pygmt.org/v0.1.2>`_
- >=6.0.0
- 3.6 - 3.8
-
* - `v0.1.1 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.1>`_
- `v0.1.1 Documentation <https://www.pygmt.org/v0.1.1>`_
- >=6.0.0
- 3.6 - 3.8
-
* - `v0.1.0 <https://github.com/GenericMappingTools/pygmt/releases/tag/v0.1.0>`_
- `v0.1.0 Documentation <https://www.pygmt.org/v0.1.0>`_
- >=6.0.0
- 3.6 - 3.8
-
4 changes: 3 additions & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
</div>

.. include:: ../README.rst
:start-after: placeholder-for-doc-index
:start-after: doc-index-start-after
:end-before: doc-index-end-before

.. toctree::
:maxdepth: 2
Expand Down Expand Up @@ -39,6 +40,7 @@

api/index.rst
changes.md
Minimum Supported Versions <compatibility.rst>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name "Minimum Supported GMT/Python/NumPy Versions" are too long to fit the sidebar.


.. toctree::
:maxdepth: 2
Expand Down
6 changes: 5 additions & 1 deletion doc/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,16 @@ We recommend following the instructions further on to install GMT 6.

PyGMT requires the following libraries to be installed:

- [numpy](https://numpy.org) (>= 1.23)
- [numpy](https://numpy.org)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After adopting SPEC 0 (#2863), we will also need to pin pandas and xarray. Removing the pinned version from the installation guides because most users don't care about them. For anyone who cares about the versions, we provide the link to the "compatibility table".

- [pandas](https://pandas.pydata.org)
- [xarray](https://xarray.dev/)
- [netCDF4](https://unidata.github.io/netcdf4-python)
- [packaging](https://packaging.pypa.io)

:::{note}
For the minimum supported versions of the dependencies, please see {doc}`compatibility`.
:::

The following are optional dependencies:

- [IPython](https://ipython.org): For embedding the figures in Jupyter notebooks (recommended).
Expand Down
2 changes: 1 addition & 1 deletion doc/maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ publishing the actual release notes at {doc}`changes`.
7. Edit the list of people who contributed to the release, linking to their
GitHub accounts. Sort their names by the number of commits made since the
last release (e.g., use `git shortlog HEAD...v0.4.0 -sne`).
8. Update `README.rst` with new information on the new release version,
8. Update `doc/compatibility.rst` with new information on the new release version,
including a vX.Y.Z documentation link, and compatibility with
GMT/Python/NumPy versions. Follow
[NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html#detailed-description)
Expand Down
Loading