Skip to content

Commit

Permalink
Merge branch 'main' into doc/dtypes
Browse files Browse the repository at this point in the history
  • Loading branch information
seisman committed Feb 7, 2025
2 parents 52e9c3d + e9792fe commit 431d515
Show file tree
Hide file tree
Showing 193 changed files with 4,110 additions and 1,648 deletions.
18 changes: 11 additions & 7 deletions .github/ISSUE_TEMPLATE/1-bug_report.yaml
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
name: Bug report
description: Report a problem/bug to help us improve
description: Report a problem/bug to help us improve.
labels: bug
body:
- type: markdown
attributes:
value: |
value: >
Thanks for taking the time to fill out this bug report!
- type: textarea
attributes:
label: "Description of the problem"
description: |
description: >
Please be as detailed as you can when describing an issue.
The more information we have, the easier it will be for us to track this down.
validations:
required: true
- type: textarea
attributes:
label: "Minimal Complete Verifiable Example"
description: |
description: >
So that we can understand and fix the issue quickly and efficiently, please provide
a minimal, self-contained copy-pastable example that demonstrates the issue.
For more details, check out:
- [Minimal Complete Verifiable Examples](https://stackoverflow.com/help/mcve)
- [Craft Minimal Bug Reports](https://matthewrocklin.com/minimal-bug-reports)
placeholder: "PASTE CODE HERE"
Expand All @@ -40,9 +42,11 @@ body:
- type: textarea
attributes:
label: "System information"
description: |
Please paste the output of `python -c "import pygmt; pygmt.show_versions()"`
If this command is not successful, please describe your operating system, how you installed PyGMT, how you installed GMT, and paste the full error message.
description: >
Please paste the output of `python -c "import pygmt; pygmt.show_versions()"`.
If this command is not successful, please describe your operating system,
how you installed PyGMT, how you installed GMT, and paste the full error message.
placeholder: "PASTE THE OUTPUT HERE"
render: bash
validations:
Expand Down
13 changes: 7 additions & 6 deletions .github/ISSUE_TEMPLATE/2-feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@ body:
- type: textarea
attributes:
label: "Description of the desired feature"
description: |
Please be as detailed as you can in your description.
If possible, include an example of how you would like to use this feature (even better if it's a code example).
description: >
Please be as detailed as you can in your description. If possible, include
an example of how you would like to use this feature (even better if it's a code example).
- type: dropdown
id: help
attributes:
label: Are you willing to help implement and maintain this feature?
description: |
Every feature we add is code that we will have to maintain and keep updated. This takes a lot of effort.
If you are willing to be involved in the project and help maintain your feature, it will make it easier for us to accept it.
description: >
Every feature we add is code that we will have to maintain and keep updated.
This takes a lot of effort. If you are willing to be involved in the project and
help maintain your feature, it will make it easier for us to accept it.
options:
- "No"
- "Yes"
Expand Down
25 changes: 16 additions & 9 deletions .github/ISSUE_TEMPLATE/3-module_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,29 @@ labels: ["feature request"]
body:
- type: markdown
attributes:
value: |
Please replace `<module-name>` in the issue title and the description with the name of the requested module and add the description of the module.
value: >
Please replace `<module-name>` in the issue title and the description with the
name of the requested module and add the description of the module.
- type: textarea
id: which-module
attributes:
label: Description of the desired module
description: Please be as detailed as you can in your description. If possible, include an example of how you would like to use this feature (even better if it's a code example).
placeholder: Implement [`<module-name>`](https://docs.generic-mapping-tools.org/latest/<module-name>.html) which `<insert description of the GMT module>`.
description: >
Please be as detailed as you can in your description. If possible, include
an example of how you would like to use this feature (even better if it's a code example).
placeholder: >
Implement [`<module-name>`](https://docs.generic-mapping-tools.org/latest/<module-name>.html)
which `<insert description of the GMT module>`.
validations:
required: true
- type: dropdown
id: help
attributes:
label: Are you willing to help implement and maintain this feature?
description: |
Every feature we add is code that we will have to maintain and keep updated. This takes a lot of effort.
If you are willing to be involved in the project and help maintain your feature, it will make it easier for us to accept it.
description: >
Every feature we add is code that we will have to maintain and keep updated.
This takes a lot of effort. If you are willing to be involved in the project and
help maintain your feature, it will make it easier for us to accept it.
options:
- "No"
- "Yes"
Expand All @@ -30,5 +36,6 @@ body:
required: true
- type: markdown
attributes:
value: |
Progress on wrapping the module will be tracked in the [project board](https://github.com/GenericMappingTools/pygmt/projects/9).
value: >
Progress on wrapping the module will be tracked in the
[project board](https://github.com/orgs/GenericMappingTools/projects/3).
22 changes: 9 additions & 13 deletions .github/ISSUE_TEMPLATE/4-release_checklist.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: PyGMT release checklist
about: Checklist for a new PyGMT release.
about: Checklist for a new PyGMT release. [For project maintainers only!]
title: Release PyGMT vX.Y.Z
labels: maintenance
assignees: ''
Expand All @@ -19,17 +19,15 @@ assignees: ''

**Before release**:

- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and
core package dependencies (NumPy, pandas, Xarray)
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, Xarray)
- [ ] Review the ["PyGMT Team" page](https://www.pygmt.org/dev/team.html)
- [ ] README looks good on TestPyPI. Visit [TestPyPI](https://test.pypi.org/project/pygmt/#history), click the latest pre-release, and check the homepage.
- [ ] Check to ensure that:
- [ ] Deprecations and related tests are removed for this version by running `grep --include="*.py" -r vX.Y.Z` from the base of the repository
- [ ] Deprecated workarounds/codes/tests are removed. Run `grep "# TODO" **/*.py` to find all potential TODOs.
- [ ] All tests pass in the ["GMT Legacy Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_legacy.yaml)
- [ ] All tests pass in the ["GMT Dev Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml)
- [ ] All tests pass in the ["Doctests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_doctests.yaml)
- [ ] Update warnings in `pygmt/_show_versions.py` as well as notes in
[Not working transparency](https://www.pygmt.org/dev/install.html#not-working-transparency)
regarding GMT-Ghostscript incompatibility
- [ ] Update warnings in `pygmt/_show_versions.py` as well as notes in [Not working transparency](https://www.pygmt.org/dev/install.html#not-working-transparency) regarding GMT-Ghostscript incompatibility
- [ ] Reserve a DOI on [Zenodo](https://zenodo.org) by clicking on "New Version"
- [ ] Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference)
- [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml`
Expand All @@ -41,18 +39,16 @@ assignees: ''
- [ ] Edit the draft release notes with the finalized changelog
- [ ] Set the tag version and release title to vX.Y.Z
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from
the release page, and upload the two zip files to https://zenodo.org/deposit,
ensure that they are filed under the correct reserved DOI
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from the release page, and upload the two zip files to https://zenodo.org/deposit, ensure that they are filed under the correct reserved DOI

**After release**:

- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock)
[Done automatically by conda-forge's bot. Remember to pin Python and SPEC0 versions]
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Done automatically by conda-forge's bot. Remember to pin GMT, Python and SPEC0 versions]
- [ ] Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update)
- [ ] Announce the release on:
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! Requires moderator status)
- [ ] [ResearchGate](https://www.researchgate.net) (after forum announcement, add new version as research item via the **code** category, be sure to include the corresponding new Zenodo DOI)
- [ ] [ResearchGate](https://www.researchgate.net) (after forum announcement; download the ZIP file of the new release from the release page and add it as research item via the **code** category, be sure to include the corresponding new Zenodo DOI)
- [ ] Update release checklist template with any additional bullet points that may have arisen during the release

---

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/5-bump_gmt_checklist.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bump GMT version checklist
about: Checklist for bumping the minimum required GMT version.
about: Checklist for bumping the minimum required GMT version. [For project maintainers only!]
title: Bump to GMT X.Y.Z
labels: maintenance
assignees: ''
Expand Down
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Fixes #
- [ ] Write detailed docstrings for all functions/methods.
- [ ] If wrapping a new module, open a 'Wrap new GMT module' issue and submit reasonably-sized PRs.
- [ ] If adding new functionality, add an example to docstrings or tutorials.
- [ ] Use underscores (not hyphens) in names of Python files and directories.

**Slash Commands**

Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:

# Install Micromamba with conda-forge dependencies
- name: Setup Micromamba
uses: mamba-org/[email protected].1
uses: mamba-org/[email protected].4
with:
environment-name: pygmt
condarc: |
Expand All @@ -58,14 +58,14 @@ jobs:
cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }}
create-args: >-
gmt=6.5.0
python=3.12
python=3.13
numpy
pandas
xarray
netCDF4
packaging
geopandas
pyarrow
pyarrow-core
pytest
pytest-codspeed
pytest-mpl
Expand All @@ -87,8 +87,8 @@ jobs:

# Run the benchmark tests
- name: Run benchmarks
uses: CodSpeedHQ/action@v3.1.0
uses: CodSpeedHQ/action@v3.2.0
with:
# 'bash -el -c' is needed to use the custom shell.
# See https://github.com/CodSpeedHQ/action/issues/65.
run: bash -el -c "python -c \"import pygmt; pygmt.show_versions()\"; PYGMT_USE_EXTERNAL_DISPLAY=false python -m pytest -r P --pyargs pygmt --codspeed"
run: bash -el -c "python -c \"import pygmt; pygmt.show_versions()\"; PYGMT_USE_EXTERNAL_DISPLAY=false python -m pytest -r P --pyargs pygmt --codspeed --override-ini addopts='--verbose'"
6 changes: 3 additions & 3 deletions .github/workflows/cache_data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ jobs:

# Install Micromamba with conda-forge dependencies
- name: Setup Micromamba
uses: mamba-org/[email protected].1
uses: mamba-org/[email protected].4
with:
environment-name: pygmt
condarc: |
channels:
- conda-forge
- nodefaults
create-args: >-
python=3.12
python=3.13
gmt=6.5.0
numpy
pandas
Expand All @@ -76,7 +76,7 @@ jobs:

# Upload the downloaded files as artifacts to GitHub
- name: Upload artifacts to GitHub
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: gmt-cache
include-hidden-files: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@v2.0.2
uses: lycheeverse/lychee-action@v2.2.0
with:
fail: false # Don't fail action on broken links
output: /tmp/lychee-out.md
Expand Down
33 changes: 22 additions & 11 deletions .github/workflows/ci_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
# Is it a draft Pull Request (true or false)?
isDraft:
- ${{ github.event.pull_request.draft }}
# Only run one job (Ubuntu + Python 3.12) for draft PRs
# Only run jobs on Ubuntu for draft PRs
exclude:
- os: macos-latest
isDraft: true
Expand All @@ -80,7 +80,7 @@ jobs:

# Install Micromamba with conda-forge dependencies
- name: Setup Micromamba
uses: mamba-org/[email protected].1
uses: mamba-org/[email protected].4
with:
environment-name: pygmt
condarc: |
Expand All @@ -92,7 +92,7 @@ jobs:
# environment cache is persistent for one week.
cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }}
create-args: >-
python=3.12
python=3.13
gmt=6.5.0
ghostscript=10.04.0
numpy
Expand All @@ -101,21 +101,25 @@ jobs:
netCDF4
packaging
contextily
geopandas<1.0
geopandas
ipython
pyarrow
pyarrow-core
rioxarray
make
pip
python-build
geodatasets
myst-nb
panel
sphinx
sphinx>=6.2
sphinx-autodoc-typehints
sphinx-copybutton
sphinx-design
sphinx-gallery
sphinx_rtd_theme<3.0
cairosvg
sphinxcontrib-svg2pdfconverter
tectonic
# Download cached remote files (artifacts) from GitHub
- name: Download remote data from GitHub
Expand All @@ -134,9 +138,11 @@ jobs:
python -m build --sdist
python -m pip install dist/*
# Build the documentation
- name: Build the documentation
run: make -C doc clean all
- name: Build the HTML documentation
run: make -C doc clean html

- name: Build the PDF documentation
run: make -C doc pdf

- name: Checkout the gh-pages branch
uses: actions/[email protected]
Expand All @@ -162,9 +168,14 @@ jobs:
# to get the right commit hash.
message="Deploy $version from $(git rev-parse --short HEAD)"
cd deploy
# Need to have this file so that GitHub doesn't try to run Jekyll
# Create some files in the root directory.
# .nojekyll: Need to have this file so that GitHub doesn't try to run Jekyll
touch .nojekyll
# Delete all the files and replace with our new set
# CNAME: Set the custom domain name
echo "www.pygmt.org" > CNAME
# index.html: Redirect to the latest version
echo '<meta http-equiv="Refresh" content="0;url=latest/"/>' > index.html
# Delete all the files and replace with our new set
echo -e "\nRemoving old files from previous builds of ${version}:"
rm -rvf ${version}
echo -e "\nCopying HTML files to ${version}:"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci_doctests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ jobs:

# Install Micromamba with conda-forge dependencies
- name: Setup Micromamba
uses: mamba-org/[email protected].1
uses: mamba-org/[email protected].4
with:
environment-name: pygmt
condarc: |
channels:
- conda-forge
- nodefaults
create-args: >-
python=3.12
python=3.13
gmt=6.5.0
numpy
pandas
Expand All @@ -60,7 +60,7 @@ jobs:
contextily
geopandas
ipython
pyarrow
pyarrow-core
rioxarray
make
pip
Expand Down
Loading

0 comments on commit 431d515

Please sign in to comment.