Skip to content

Commit 47eaad8

Browse files
committed
Merge branch 'main' into python-3.13
2 parents 40545a0 + ff9daae commit 47eaad8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1294
-801
lines changed

.github/workflows/benchmarks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ concurrency:
2525

2626
jobs:
2727
benchmarks:
28-
runs-on: ubuntu-22.04
28+
runs-on: ubuntu-latest
2929
if: github.repository == 'GenericMappingTools/pygmt' && (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run/benchmark'))
3030
defaults:
3131
run:
@@ -34,7 +34,7 @@ jobs:
3434
steps:
3535
# Checkout current git repository
3636
- name: Checkout
37-
uses: actions/[email protected].1
37+
uses: actions/[email protected].2
3838
with:
3939
# fetch all history so that setuptools-scm works
4040
fetch-depth: 0
@@ -88,7 +88,7 @@ jobs:
8888

8989
# Run the benchmark tests
9090
- name: Run benchmarks
91-
uses: CodSpeedHQ/action@v3.0.1
91+
uses: CodSpeedHQ/action@v3.1.0
9292
with:
9393
# 'bash -el -c' is needed to use the custom shell.
9494
# See https://github.com/CodSpeedHQ/action/issues/65.

.github/workflows/cache_data.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
steps:
3737
# Checkout current git repository
3838
- name: Checkout
39-
uses: actions/[email protected].1
39+
uses: actions/[email protected].2
4040
with:
4141
# fetch all history so that setuptools-scm works
4242
fetch-depth: 0
@@ -76,7 +76,7 @@ jobs:
7676

7777
# Upload the downloaded files as artifacts to GitHub
7878
- name: Upload artifacts to GitHub
79-
uses: actions/[email protected].0
79+
uses: actions/[email protected].3
8080
with:
8181
name: gmt-cache
8282
include-hidden-files: true

.github/workflows/check-links.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ jobs:
2323

2424
steps:
2525
- name: Checkout the repository
26-
uses: actions/[email protected].1
26+
uses: actions/[email protected].2
2727
with:
2828
path: repository
2929

3030
- name: Checkout the documentation
31-
uses: actions/[email protected].1
31+
uses: actions/[email protected].2
3232
with:
3333
ref: gh-pages
3434
path: documentation

.github/workflows/ci_docs.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
steps:
7070
# Checkout current git repository
7171
- name: Checkout
72-
uses: actions/[email protected].1
72+
uses: actions/[email protected].2
7373
with:
7474
# fetch all history so that setuptools-scm works
7575
fetch-depth: 0
@@ -104,6 +104,7 @@ jobs:
104104
contextily
105105
geopandas<1.0
106106
ipython
107+
pyarrow
107108
rioxarray
108109
make
109110
pip
@@ -115,7 +116,7 @@ jobs:
115116
sphinx-copybutton
116117
sphinx-design
117118
sphinx-gallery
118-
sphinx_rtd_theme
119+
sphinx_rtd_theme<3.0
119120
120121
# Download cached remote files (artifacts) from GitHub
121122
- name: Download remote data from GitHub
@@ -139,7 +140,7 @@ jobs:
139140
run: make -C doc clean all
140141

141142
- name: Checkout the gh-pages branch
142-
uses: actions/[email protected].1
143+
uses: actions/[email protected].2
143144
with:
144145
ref: gh-pages
145146
# Checkout to this folder instead of the current one

.github/workflows/ci_doctests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
steps:
3636
# Checkout current git repository
3737
- name: Checkout
38-
uses: actions/[email protected].1
38+
uses: actions/[email protected].2
3939
with:
4040
# fetch all history so that setuptools-scm works
4141
fetch-depth: 0

.github/workflows/ci_tests.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ jobs:
8585
- os: 'ubuntu-latest'
8686
python-version: '3.11' # Can't be 3.10 or 3.13.
8787
numpy-version: '1.24'
88-
pandas-version: ''
88+
pandas-version: '=2.1'
8989
xarray-version: ''
90-
optional-packages: ' geopandas<1'
90+
optional-packages: ' geopandas<1 pyarrow'
9191

9292
timeout-minutes: 30
9393
defaults:
@@ -103,7 +103,7 @@ jobs:
103103
steps:
104104
# Checkout current git repository
105105
- name: Checkout
106-
uses: actions/[email protected].1
106+
uses: actions/[email protected].2
107107
with:
108108
# fetch all history so that setuptools-scm works
109109
fetch-depth: 0
@@ -171,7 +171,7 @@ jobs:
171171

172172
# Upload diff images on test failure
173173
- name: Upload diff images if any test fails
174-
uses: actions/[email protected].0
174+
uses: actions/[email protected].3
175175
if: failure()
176176
with:
177177
name: artifact-${{ runner.os }}-${{ matrix.python-version }}

.github/workflows/ci_tests_dev.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
steps:
4747
# Checkout current git repository
4848
- name: Checkout
49-
uses: actions/[email protected].1
49+
uses: actions/[email protected].2
5050
with:
5151
# fetch all history so that setuptools-scm works
5252
fetch-depth: 0
@@ -87,9 +87,17 @@ jobs:
8787
pcre
8888
zlib
8989
90+
# Install the GSHHG and DCW datasets on Linux/macOS to avoid corrupted files
91+
# during GMT auto-downloading. Currently, we can't install them on Windows CI,
92+
# because the Windows CI fails to compile "gshhg_version.c" due to unknown reasons
93+
# (likely missing DLLs).
94+
- name: Install GMT GSHHG and DCW datasets (Linux/macOS)
95+
run: micromamba install dcw-gmt gshhg-gmt
96+
if: runner.os != 'Windows'
97+
9098
# Checkout current GMT repository
9199
- name: Checkout the GMT source from ${{ matrix.gmt_git_ref }} branch
92-
uses: actions/[email protected].1
100+
uses: actions/[email protected].2
93101
with:
94102
repository: 'GenericMappingTools/gmt'
95103
ref: ${{ matrix.gmt_git_ref }}
@@ -180,7 +188,7 @@ jobs:
180188

181189
# Upload diff images on test failure
182190
- name: Upload diff images if any test fails
183-
uses: actions/[email protected].0
191+
uses: actions/[email protected].3
184192
if: ${{ failure() }}
185193
with:
186194
name: artifact-GMT-${{ matrix.gmt_git_ref }}-${{ runner.os }}

.github/workflows/ci_tests_legacy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
steps:
4545
# Checkout current git repository
4646
- name: Checkout
47-
uses: actions/[email protected].1
47+
uses: actions/[email protected].2
4848
with:
4949
# fetch all history so that setuptools-scm works
5050
fetch-depth: 0

.github/workflows/dvc-diff.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
steps:
2323
- name: Checkout
24-
uses: actions/[email protected].1
24+
uses: actions/[email protected].2
2525
with:
2626
# fetch all history so that dvc diff works
2727
fetch-depth: 0

.github/workflows/format-command.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ jobs:
1818
private-key: ${{ secrets.APP_PRIVATE_KEY }}
1919

2020
# Checkout the pull request branch
21-
- uses: actions/[email protected].1
21+
- uses: actions/[email protected].2
2222
with:
2323
token: ${{ steps.generate-token.outputs.token }}
2424
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }}
2525
ref: ${{ github.event.client_payload.pull_request.head.ref }}
2626

2727
# Setup Python environment
28-
- uses: actions/setup-python@v5.2.0
28+
- uses: actions/setup-python@v5.3.0
2929
with:
3030
python-version: '3.13'
3131

.github/workflows/publish-to-pypi.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ jobs:
4545

4646
steps:
4747
- name: Checkout
48-
uses: actions/[email protected].1
48+
uses: actions/[email protected].2
4949
with:
5050
# fetch all history so that setuptools-scm works
5151
fetch-depth: 0
5252

5353
- name: Set up Python
54-
uses: actions/setup-python@v5.2.0
54+
uses: actions/setup-python@v5.3.0
5555
with:
5656
python-version: '3.13'
5757

@@ -75,10 +75,10 @@ jobs:
7575
ls -lh dist/
7676
7777
- name: Publish to Test PyPI
78-
uses: pypa/gh-action-pypi-publish@v1.10.3
78+
uses: pypa/gh-action-pypi-publish@v1.12.0
7979
with:
8080
repository-url: https://test.pypi.org/legacy/
8181

8282
- name: Publish to PyPI
8383
if: startsWith(github.ref, 'refs/tags')
84-
uses: pypa/gh-action-pypi-publish@v1.10.3
84+
uses: pypa/gh-action-pypi-publish@v1.12.0

.github/workflows/release-baseline-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
steps:
2525
- name: Checkout
26-
uses: actions/[email protected].1
26+
uses: actions/[email protected].2
2727

2828
- name: Setup data version control (DVC)
2929
uses: iterative/[email protected]

.github/workflows/style_checks.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ jobs:
2424
steps:
2525
# Checkout current git repository
2626
- name: Checkout
27-
uses: actions/[email protected].1
27+
uses: actions/[email protected].2
2828

2929
# Setup Python
3030
- name: Set up Python
31-
uses: actions/setup-python@v5.2.0
31+
uses: actions/setup-python@v5.3.0
3232
with:
3333
python-version: '3.13'
3434

.github/workflows/type_checks.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ jobs:
3333
steps:
3434
# Checkout current git repository
3535
- name: Checkout
36-
uses: actions/[email protected].1
36+
uses: actions/[email protected].2
3737

3838
# Setup Python
3939
- name: Set up Python
40-
uses: actions/setup-python@v5.2.0
40+
uses: actions/setup-python@v5.3.0
4141
with:
4242
python-version: '3.13'
4343

@@ -50,8 +50,8 @@ jobs:
5050
# 4. other packages that are used somewhere in PyGMT
5151
python -m pip install \
5252
numpy pandas xarray netcdf4 packaging \
53-
contextily geopandas ipython rioxarray \
54-
mypy pandas-stubs \
53+
contextily geopandas ipython pyarrow rioxarray \
54+
mypy pandas-stubs pyarrow-stubs \
5555
matplotlib pytest
5656
python -m pip list
5757

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ tmp-test-dir-with-unique-name/
2727
# Sphinx documentation
2828
doc/api/generated/
2929
doc/_build/
30+
doc/intro/
31+
doc/tutorials/
3032
doc/gallery/
3133
doc/projections/
32-
doc/tutorials/
33-
doc/get_started/
3434
# doc/sg_execution_time.rst is auto-generated by Sphinx-Gallery
3535
doc/sg_execution_times.rst
3636

37-
# Jupyter Notebook
37+
# Jupyter notebook
3838
.ipynb_checkpoints/
3939

4040
# Visual Studio Code

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
55
[Documentation (development version)](https://www.pygmt.org/dev) | [Contact](https://forum.generic-mapping-tools.org) | [TryOnline](https://github.com/GenericMappingTools/try-gmt)
66

7-
[![Latest version on PyPI](https://img.shields.io/pypi/v/pygmt.svg?style=flat-square)](https://pypi.python.org/pypi/pygmt)
8-
[![Latest version on conda-forge](https://img.shields.io/conda/v/conda-forge/pygmt?style=flat-square)](https://anaconda.org/conda-forge/pygmt)
9-
[![GitHub Actions Tests status](https://github.com/GenericMappingTools/pygmt/workflows/Tests/badge.svg)](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests.yaml)
10-
[![GitHub Actions GMT Dev Tests status](https://github.com/GenericMappingTools/pygmt/workflows/GMT%20Dev%20Tests/badge.svg)](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml)
11-
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
12-
[![Test coverage status](https://codecov.io/gh/GenericMappingTools/pygmt/branch/main/graph/badge.svg?token=78Fu4EWstx)](https://app.codecov.io/gh/GenericMappingTools/pygmt)
13-
[![CodSpeed Performance Benchmarks](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/GenericMappingTools/pygmt)
14-
[![Compatible Python versions.](https://img.shields.io/pypi/pyversions/pygmt.svg?style=flat-square)](https://pypi.python.org/pypi/pygmt)
15-
[![Discourse forum](https://img.shields.io/discourse/status?label=forum&server=https%3A%2F%2Fforum.generic-mapping-tools.org%2F&style=flat-square)](https://forum.generic-mapping-tools.org)
7+
[![Latest version on PyPI](https://img.shields.io/pypi/v/pygmt)](https://pypi.org/project/pygmt)
8+
[![Latest version on conda-forge](https://img.shields.io/conda/v/conda-forge/pygmt)](https://anaconda.org/conda-forge/pygmt)
9+
[![GitHub license](https://img.shields.io/github/license/GenericMappingTools/pygmt)](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt)
10+
[![Compatible Python versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2FGenericMappingTools%2Fpygmt%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)](https://www.pygmt.org/dev/minversions.html)
1611
[![Digital Object Identifier for the Zenodo archive](https://zenodo.org/badge/DOI/10.5281/3781524.svg)](https://doi.org/10.5281/zenodo.3781524)
12+
[![Discourse forum](https://img.shields.io/discourse/status?label=forum&server=https%3A%2F%2Fforum.generic-mapping-tools.org)](https://forum.generic-mapping-tools.org)
1713
[![PyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/43)
18-
[![GitHub license](https://img.shields.io/github/license/GenericMappingTools/pygmt?style=flat-square)](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt)
1914
[![Contributor Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-v2.1%20adopted-ff69b4.svg)](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md)
15+
[![GitHub Actions Tests status](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests.yaml/badge.svg)](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests.yaml)
16+
[![GitHub Actions GMT Dev Tests status](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml/badge.svg)](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml)
17+
[![Test coverage status](https://codecov.io/gh/GenericMappingTools/pygmt/graph/badge.svg?token=78Fu4EWstx)](https://app.codecov.io/gh/GenericMappingTools/pygmt)
18+
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
19+
[![CodSpeed Performance Benchmarks](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/GenericMappingTools/pygmt)
2020

2121
<!-- doc-index-start-after -->
2222

@@ -191,7 +191,7 @@ Other official wrappers for GMT:
191191
## Minimum supported versions
192192

193193
PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) alongside the
194-
rest of the Scientific Python ecosystem, and therefore:
194+
rest of the scientific Python ecosystem, and therefore:
195195

196196
- Support for Python versions be dropped 3 years after their initial release.
197197
- Support for core package dependencies (NumPy, pandas, Xarray) be dropped 2 years after

ci/requirements/docs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ dependencies:
1717
- contextily
1818
- geopandas<1.0
1919
- ipython
20+
- pyarrow
2021
- rioxarray
2122
# Development dependencies (general)
2223
- make
@@ -30,4 +31,4 @@ dependencies:
3031
- sphinx-copybutton
3132
- sphinx-design
3233
- sphinx-gallery
33-
- sphinx_rtd_theme
34+
- sphinx_rtd_theme<3.0

doc/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ server:
5555
clean:
5656
rm -rf $(BUILDDIR)
5757
rm -rf api/generated
58-
rm -rf gallery
58+
rm -rf intro
5959
rm -rf tutorials
60-
rm -rf get_started
60+
rm -rf gallery
6161
rm -rf projections

doc/changes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@
361361
* Exclude DVC files from source/binary distributions ([#2634](https://github.com/GenericMappingTools/pygmt/pull/2634))
362362
* CI: Use mamba-org/provision-with-micromamba to setup micromamba ([#2435](https://github.com/GenericMappingTools/pygmt/pull/2435))
363363
* CI: Migrate provision-with-micromamba to setup-micromamba ([#2536](https://github.com/GenericMappingTools/pygmt/pull/2536))
364-
* CI: Run dev tests on Scientific Python nightly wheels ([#2612](https://github.com/GenericMappingTools/pygmt/pull/2612))
364+
* CI: Run dev tests on scientific Python nightly wheels ([#2612](https://github.com/GenericMappingTools/pygmt/pull/2612))
365365
* CI: Remove the deprecated cml-publish command from the dvc-diff workflow ([#2559](https://github.com/GenericMappingTools/pygmt/pull/2559))
366366
* CI: Fix and simplify the dvc-diff workflow ([#2549](https://github.com/GenericMappingTools/pygmt/pull/2549))
367367
* CI: Add the "Doctests" workflow to run doctests weekly ([#2456](https://github.com/GenericMappingTools/pygmt/pull/2456))

0 commit comments

Comments
 (0)