From 6c0f26aebd5f32f52b6d3a161d607dec03040634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 12:10:47 +0200 Subject: [PATCH 01/82] Use cards for landing page, add section 'Project overview', recorder toctrees --- README.md | 7 ++-- doc/conf.py | 16 +++++----- doc/index.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 96 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5ce83cf4f8f..3f9f3e050ac 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,6 @@ [![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) [![CodSpeed Performance Benchmarks](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/GenericMappingTools/pygmt) - ## Why PyGMT? @@ -32,11 +31,15 @@ visit the [Gallery](https://www.pygmt.org/latest/gallery), and check out some ## About + + PyGMT is a library for processing geospatial and geophysical data and making publication-quality maps and figures. It provides a Pythonic interface for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line program widely used across the Earth, Ocean, and Planetary sciences and beyond. + + ## Project goals - Make GMT more accessible to new users. @@ -216,8 +219,6 @@ Other official wrappers for GMT: - [GMT.jl](https://github.com/GenericMappingTools/GMT.jl): A Julia wrapper for GMT. - [gmtmex](https://github.com/GenericMappingTools/gmtmex): A Matlab/Octave wrapper for GMT. - - ## Minimum supported versions PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) alongside the diff --git a/doc/conf.py b/doc/conf.py index 854e7b16a3d..c2e54a34241 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -211,20 +211,20 @@ html_context = { "menu_links": [ ( - ' Code of Conduct', - "https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md", + ' GMT Forum', + "https://forum.generic-mapping-tools.org", ), ( - ' License', - f"{repository_url}/blob/main/LICENSE.txt", + ' Source Code', + repository_url, ), ( - ' Contact', - "https://forum.generic-mapping-tools.org", + ' Code of Conduct', + "https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md", ), ( - ' Source Code', - repository_url, + ' License', + f"{repository_url}/blob/main/LICENSE.txt", ), ], # Custom variables to enable "Improve this page"" and "Download notebook" links diff --git a/doc/index.md b/doc/index.md index fa9f1a96f22..e3e145842c5 100644 --- a/doc/index.md +++ b/doc/index.md @@ -3,35 +3,114 @@ + ```{include} ../README.md :start-after: :end-before: -:relative-images: ``` + +:::::{grid} 1 2 2 2 + +::::{grid-item-card} Getting started +:link: https://www.pygmt.org/dev/install.html +:text-align: center +:margin: 0 3 0 0 + ++++ +Intallation guide and Intros +:::: + + +::::{grid-item-card} Project overview +:link: https://www.pygmt.org/dev/overview.html +:text-align: center +:margin: 0 3 0 0 + ++++ +Why PyGMT, project goals, PyGMT ecosystem, +How to cite, PyGMT paper, Zenodo, BibTex +conference presentations +:::: + + +::::{grid-item-card} User Guide +:link: https://www.pygmt.org/dev/gallery/index.html +:text-align: center +:margin: 0 3 0 0 + ++++ +Gallery, Tutorials, Map projections, and External resources +:::: + + +::::{grid-item-card} Reference Documentation +:link: https://www.pygmt.org/dev/api/index.html +:text-align: center +:margin: 0 3 0 0 + ++++ +API Reference and Technical Reference, +Required minimum versions and Changelog +:::: + + +::::{grid-item-card} Development +:link: https://www.pygmt.org/dev/contributing.html +:text-align: center +:margin: 0 3 0 0 + ++++ +Countriubtors and mainainers Guides to learn how to get involved +and and make your first contribution. +:::: + + +::::{grid-item-card} Getting Help +:link: +:text-align: center +:margin: 0 3 0 0 + ++++ +GMT Forum, Source code on GitHub, Code of Conduct, License +:::: + +::::: + + ```{toctree} :maxdepth: 2 :hidden: :caption: Getting Started -overview.md install.md intro/index.rst ``` +```{toctree} +:maxdepth: 2 +:hidden: +:caption: Project overview + +overview.md +ecosystem.md +``` + ```{toctree} :maxdepth: 2 :hidden: :caption: User Guide -tutorials/index.rst gallery/index.rst +tutorials/index.rst projections/index.rst external_resources.md ``` @@ -43,9 +122,8 @@ external_resources.md api/index.rst techref/index.md -changes.md minversions.md -ecosystem.md +changes.md ``` ```{toctree} @@ -53,7 +131,7 @@ ecosystem.md :hidden: :caption: Development -team.md contributing.md maintenance.md +team.md ``` From 76f81befe3ac6d741576fc18fdfdcbac12f88dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 16:07:46 +0200 Subject: [PATCH 02/82] Improve layout of cards (not: affect also extral resources) --- doc/_static/style.css | 7 +++++ doc/index.md | 70 +++++++++++++++++++++++++------------------ 2 files changed, 48 insertions(+), 29 deletions(-) diff --git a/doc/_static/style.css b/doc/_static/style.css index 7c8c7509b26..ee240b219f5 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -71,6 +71,13 @@ p { border: solid 2px #b4c7e7; } +/* Change background color of cards on landing page */ +/* https://sphinx-design.readthedocs.io/en/latest/css_variables.html */ +:root { + --sd-color-card-background: #EBF0F9; + --sd-color-card-header: #b4c7e7; +} + /* Format parameters section similar to sphinx_rtd_theme v4.x.x (not a grid) */ html.writer-html5 .rst-content dl.field-list { display: initial; diff --git a/doc/index.md b/doc/index.md index e3e145842c5..1f365a066a7 100644 --- a/doc/index.md +++ b/doc/index.md @@ -20,67 +20,79 @@ :::::{grid} 1 2 2 2 -::::{grid-item-card} Getting started +::::{grid-item-card} :link: https://www.pygmt.org/dev/install.html -:text-align: center :margin: 0 3 0 0 -+++ -Intallation guide and Intros +**Getting started** +^^^ +• Installing
+• Intro to PyGMT
+
+
:::: -::::{grid-item-card} Project overview +::::{grid-item-card} :link: https://www.pygmt.org/dev/overview.html -:text-align: center :margin: 0 3 0 0 -+++ -Why PyGMT, project goals, PyGMT ecosystem, -How to cite, PyGMT paper, Zenodo, BibTex -conference presentations +**Project overview** +^^^ +• Why PyGMT and Project Goals
+• PyGMT Ecosystem
+• How to Cite, PyGMT paper, Zenodo, BibTex
+• Conference Presentations :::: -::::{grid-item-card} User Guide +::::{grid-item-card} :link: https://www.pygmt.org/dev/gallery/index.html -:text-align: center :margin: 0 3 0 0 -+++ -Gallery, Tutorials, Map projections, and External resources +**User Guide** +^^^ +• Gallery
+• Tutorials
+• Projections
+• External Resources :::: -::::{grid-item-card} Reference Documentation +::::{grid-item-card} :link: https://www.pygmt.org/dev/api/index.html -:text-align: center :margin: 0 3 0 0 -+++ -API Reference and Technical Reference, -Required minimum versions and Changelog +**Reference Documentation** +^^^ +• API Reference
+• Technical Reference
+• Minimum Required Versions
+• Changelog :::: -::::{grid-item-card} Development +::::{grid-item-card} :link: https://www.pygmt.org/dev/contributing.html -:text-align: center :margin: 0 3 0 0 -+++ -Countriubtors and mainainers Guides to learn how to get involved -and and make your first contribution. +**Development** +^^^ +• Contributors Guide
+• Mainainers Guide
+• PyGMT Team :::: -::::{grid-item-card} Getting Help -:link: -:text-align: center +::::{grid-item-card} :margin: 0 3 0 0 -+++ -GMT Forum, Source code on GitHub, Code of Conduct, License +**Getting Help** +^^^ +• [GMT Forum](https://forum.generic-mapping-tools.org) (for asking questions)
+• [GitHub](https://github.com/GenericMappingTools/pygmt) (for reporting bugs and contributing)
+• [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md)
+• [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) :::: ::::: From 431ff91753eae3a2874dc711890ff9cf4e9a0b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 16:28:33 +0200 Subject: [PATCH 03/82] Adjust / test card layout for external resources --- doc/_static/style.css | 1 + doc/external_resources.md | 56 +++++++++++++++++++++++++++++---------- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/doc/_static/style.css b/doc/_static/style.css index ee240b219f5..24c444af8ce 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -76,6 +76,7 @@ p { :root { --sd-color-card-background: #EBF0F9; --sd-color-card-header: #b4c7e7; + --sd-color-card-footer: #FFFFFF; } /* Format parameters section similar to sphinx_rtd_theme v4.x.x (not a grid) */ diff --git a/doc/external_resources.md b/doc/external_resources.md index a453432f95b..8ec2b46cb1a 100644 --- a/doc/external_resources.md +++ b/doc/external_resources.md @@ -12,111 +12,133 @@ to submit a pull request with your recommended addition to the :::::{grid} 1 2 2 3 -::::{grid-item-card} 2024 AGU PREWS9: Mastering Geospatial Visualizations with GMT/PyGMT +::::{grid-item-card} :link: https://www.generic-mapping-tools.org/agu24workshop/ :text-align: center :margin: 0 3 0 0 +**2024 AGU PREWS9: Mastering Geospatial Visualizations with GMT/PyGMT** +^^^ ![](https://github.com/user-attachments/assets/9f3ab0ed-83f1-4cff-bc68-387fc13ca61f) +++ Wei Ji Leong, Yvonne Fröhlich, Jing-Hui Tong, Federico Esteban, Max Jones, Andre Belem :::: -::::{grid-item-card} 2024 PyGMT Webinar using Google Colab (in Portuguese) +::::{grid-item-card} :link: https://github.com/andrebelem/Oficina_PyGMT :text-align: center :margin: 0 3 0 0 +**2024 PyGMT Webinar using Google Colab (in Portuguese)** +^^^ ![](https://github.com/andrebelem/Oficina_PyGMT/raw/main/Datasets/3D_sample.png) +++ Andre Belem :::: -::::{grid-item-card} 2022 EGU SC5.2: Crafting beautiful maps with PyGMT +::::{grid-item-card} :link: https://www.generic-mapping-tools.org/egu22pygmt/ :text-align: center :margin: 0 3 0 0 +**2022 EGU SC5.2: Crafting beautiful maps with PyGMT** +^^^ ![](https://user-images.githubusercontent.com/3974108/171653272-efaceeb1-a253-44a1-bddc-36bc9498c19b.png) +++ Wei Ji Leong, Leonardo Uieda, Max Jones, Andre Belem :::: -::::{grid-item-card} 2021 PyGMT course at the UAF Geophysical Institute +::::{grid-item-card} :link: https://github.com/liamtoney/gi-pygmt-2021 :text-align: center :margin: 0 3 0 0 +**2021 PyGMT course at the UAF Geophysical Institute** +^^^ ![](https://user-images.githubusercontent.com/3974108/172042115-3f700c16-0f78-49d3-9e8d-87c77e4c0444.png) +++ Liam Toney :::: -::::{grid-item-card} 2021 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 5 - Mapping +::::{grid-item-card} :link: https://www.youtube.com/watch?v=Zvcy7VDuhiw :text-align: center :margin: 0 3 0 0 +**2021 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 5 - Mapping** +^^^ ![](https://user-images.githubusercontent.com/3974108/172055872-b81057b6-aef3-473f-8f42-1cc82a68d188.jpg) +++ Liam Toney :::: -::::{grid-item-card} 2020 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 8 - PyGMT +::::{grid-item-card} :link: https://www.iris.edu/hq/inclass/lesson/728 :text-align: center :margin: 0 3 0 0 +**2020 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 8 - PyGMT** +^^^ ![](https://user-images.githubusercontent.com/3974108/172055922-8df68c00-4115-42f4-83ae-13a971fef846.png) +++ Liam Toney :::: -::::{grid-item-card} PyGMT Tutorial in 2021 +::::{grid-item-card} :link: https://github.com/MIGG-NTU/PyGMT2021 :text-align: center :margin: 0 3 0 0 +**2021 PyGMT Tutorial** +^^^ ![](https://user-images.githubusercontent.com/23487320/172058757-9b68f7ae-7a3f-4f48-9df6-9a065d6cd448.png) +++ MIGG-NTU :::: -::::{grid-item-card} PyGMT Workshop at FOSS4G Oceania 2019 +::::{grid-item-card} :link: https://github.com/GenericMappingTools/foss4g2019oceania :text-align: center :margin: 0 3 0 0 +**2019 PyGMT Workshop at FOSS4G Oceania** +^^^ ![](https://github.com/GenericMappingTools/foss4g2019oceania/releases/download/v1/picton_3d_dsm_view.png) +++ Wei Ji Leong :::: -::::{grid-item-card} Crafting 3D maps of Antarctica with PyGMT and the IBCSO V2 +::::{grid-item-card} :link: https://github.com/andrebelem/3D-Antarctic-maps :text-align: center :margin: 0 3 0 0 +**Crafting 3D maps of Antarctica with PyGMT and the IBCSO V2** +^^^ ![](https://github.com/andrebelem/3D-Antarctic-maps/raw/main/3D-Antarctic-Maps.png) +++ Andre Belem :::: -::::{grid-item-card} Planetary Maps (in PyGMT) +::::{grid-item-card} :link: https://github.com/andrebelem/PlanetaryMaps :text-align: center :margin: 0 3 0 0 +**Planetary Maps (in PyGMT)** +^^^ ![](https://github.com/andrebelem/MarsMaps/raw/main/JezeroCrater.png) +++ Andre Belem :::: -::::{grid-item-card} PyGMT-HOWTO +::::{grid-item-card} :link: https://tktmyd.github.io/pygmt-howto-jp/ :text-align: center :margin: 0 3 0 0 +**PyGMT-HOWTO** +^^^ ![](https://github.com/tktmyd/pygmt-howto-jp/raw/main/src/basics/fig/pygmt-coastline.png) +++ Takuto Maeda @@ -128,31 +150,37 @@ Takuto Maeda :::::{grid} 1 2 2 3 -::::{grid-item-card} GMT and PyGMT plotting examples +::::{grid-item-card} :link: https://github.com/michaelgrund/GMT-plotting :text-align: center :margin: 0 3 0 0 +**GMT and PyGMT plotting examples** +^^^ ![](https://user-images.githubusercontent.com/3974108/172055991-c0646f6c-d130-474f-b46a-5587483998cb.jpg) +++ Michael Grund :::: -::::{grid-item-card} NZ Antarctic Science Conference 2021 poster +::::{grid-item-card} :link: https://github.com/weiji14/nzasc2021 :text-align: center :margin: 0 3 0 0 +**NZ Antarctic Science Conference 2021 poster** +^^^ ![](https://user-images.githubusercontent.com/23487320/107176140-6aa4e580-6a33-11eb-8f30-1a7913788d6c.png) +++ Wei Ji Leong :::: -::::{grid-item-card} PyGMT plotting examples +::::{grid-item-card} :link: https://github.com/yvonnefroehlich/gmt-pygmt-plotting :text-align: center :margin: 0 3 0 0 +**PyGMT plotting examples** +^^^ ![](https://github.com/yvonnefroehlich/gmt-pygmt-plotting/raw/main/_images/github_maps_readme_main.png) +++ Yvonne Fröhlich From 6122a6a4988ea029d05a8cdd4e79446b623f2a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 17:07:04 +0200 Subject: [PATCH 04/82] Try to set up real bullet point list --- doc/index.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/doc/index.md b/doc/index.md index 1f365a066a7..56c26f9486d 100644 --- a/doc/index.md +++ b/doc/index.md @@ -13,8 +13,8 @@ ```{include} ../README.md -:start-after: -:end-before: +:start-after: +:end-before: ``` @@ -26,8 +26,8 @@ **Getting started** ^^^ -• Installing
-• Intro to PyGMT
+- • Installing +- • Intro to PyGMT

:::: @@ -39,10 +39,10 @@ **Project overview** ^^^ -• Why PyGMT and Project Goals
-• PyGMT Ecosystem
-• How to Cite, PyGMT paper, Zenodo, BibTex
-• Conference Presentations +- • Why PyGMT and Project Goals +- • PyGMT Ecosystem +- • How to Cite, PyGMT paper, Zenodo, BibTex +- • Conference Presentations :::: @@ -52,10 +52,10 @@ **User Guide** ^^^ -• Gallery
-• Tutorials
-• Projections
-• External Resources +- • Gallery +- • Tutorials +- • Projections +- • External Resources :::: @@ -65,10 +65,10 @@ **Reference Documentation** ^^^ -• API Reference
-• Technical Reference
-• Minimum Required Versions
-• Changelog +- • API Reference +- • Technical Reference +- • Minimum Required Versions +- • Changelog :::: @@ -78,9 +78,9 @@ **Development** ^^^ -• Contributors Guide
-• Mainainers Guide
-• PyGMT Team +- • Contributors Guide +- • Mainainers Guide +- • PyGMT Team :::: @@ -89,10 +89,10 @@ **Getting Help** ^^^ -• [GMT Forum](https://forum.generic-mapping-tools.org) (for asking questions)
-• [GitHub](https://github.com/GenericMappingTools/pygmt) (for reporting bugs and contributing)
-• [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md)
-• [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) +- • [GMT Forum](https://forum.generic-mapping-tools.org) (for asking questions) +- • [GitHub](https://github.com/GenericMappingTools/pygmt) (for reporting bugs and contributing) +- • [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) +- • [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) :::: ::::: From cbb82d0862854bfed89e6eb9e90ad5d882ff1097 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 17:17:43 +0200 Subject: [PATCH 05/82] Fix replace error --- doc/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 56c26f9486d..fe9dd96bbfd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -13,8 +13,8 @@ ```{include} ../README.md -:start-after: -:end-before: +:start-after: +:end-before: ``` From 70b9c56d4b17af60e92b7b5adf6ffd7cd8890f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 17:30:55 +0200 Subject: [PATCH 06/82] Make formulations idential --- doc/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index fe9dd96bbfd..05e90b456bb 100644 --- a/doc/index.md +++ b/doc/index.md @@ -41,7 +41,7 @@ ^^^ - • Why PyGMT and Project Goals - • PyGMT Ecosystem -- • How to Cite, PyGMT paper, Zenodo, BibTex +- • How to Cite PyGMT, BibTex for G3 Paper and Zenodo - • Conference Presentations :::: @@ -67,7 +67,7 @@ ^^^ - • API Reference - • Technical Reference -- • Minimum Required Versions +- • Minimum Supported Versions - • Changelog :::: From e549b48637b38f749f634bb22838bac810488a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 17:47:04 +0200 Subject: [PATCH 07/82] Remove un-needed new lines --- doc/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 05e90b456bb..7381df0b232 100644 --- a/doc/index.md +++ b/doc/index.md @@ -28,8 +28,6 @@ ^^^ - • Installing - • Intro to PyGMT -
-
:::: From 83b7159a3979eaef576f2c2f11985fda4bb61494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 18:36:48 +0200 Subject: [PATCH 08/82] Split README content into pages for docs --- README.md | 24 +++++++++++-- doc/citing.md | 6 ++++ doc/conferences.md | 62 +++++++++++++++++++++++++++++++++ doc/index.md | 10 +++--- doc/overview.md | 87 +++++++++++++--------------------------------- 5 files changed, 121 insertions(+), 68 deletions(-) create mode 100755 doc/citing.md create mode 100755 doc/conferences.md diff --git a/README.md b/README.md index 3f9f3e050ac..9a62e018c58 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ ## Why PyGMT? + + A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! @@ -27,21 +29,25 @@ Afterwards, feel free to look at our [Tutorials](https://www.pygmt.org/latest/tu visit the [Gallery](https://www.pygmt.org/latest/gallery), and check out some [external PyGMT examples](https://www.pygmt.org/latest/external_resources.html)! + + [![Quick Introduction to PyGMT YouTube Video](https://raw.githubusercontent.com/GenericMappingTools/pygmt/refs/heads/main/doc/_static/scipy2022-youtube-thumbnail.jpg)](https://www.youtube.com/watch?v=4iPnITXrxVU) ## About - + PyGMT is a library for processing geospatial and geophysical data and making publication-quality maps and figures. It provides a Pythonic interface for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line program widely used across the Earth, Ocean, and Planetary sciences and beyond. - + ## Project goals + + - Make GMT more accessible to new users. - Build a Pythonic API for GMT. - Interface with the GMT C API directly using ctypes (no system calls). @@ -50,6 +56,8 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. `numpy.ndarray` or `pandas.DataFrame` for data tables, `xarray.DataArray` for grids, and `geopandas.GeoDataFrame` for geographical data. + + ## Quickstart ### Installation @@ -133,6 +141,8 @@ happy to help others learn. ## Citing PyGMT + + PyGMT is a community developed project. See the [AUTHORS.md](https://github.com/GenericMappingTools/pygmt/blob/main/AUTHORS.md) file on GitHub for a list of the people involved and a definition of the term "PyGMT Developers". @@ -200,6 +210,8 @@ the [GMT 6 paper](https://doi.org/10.1029/2019GC008515) (which PyGMT wraps aroun that some modules like `dimfilter`, `surface`, and `x2sys` also have their dedicated citations. Further information for all these can be found at . + + ## License PyGMT is free software: you can redistribute it and/or modify it under the terms of the @@ -208,17 +220,25 @@ PyGMT is free software: you can redistribute it and/or modify it under the terms ## Support + + The development of PyGMT has been supported by NSF grants [OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) and [EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). + + ## Related projects + + Other official wrappers for GMT: - [GMT.jl](https://github.com/GenericMappingTools/GMT.jl): A Julia wrapper for GMT. - [gmtmex](https://github.com/GenericMappingTools/gmtmex): A Matlab/Octave wrapper for GMT. + + ## Minimum supported versions PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) alongside the diff --git a/doc/citing.md b/doc/citing.md new file mode 100755 index 00000000000..fd672b32909 --- /dev/null +++ b/doc/citing.md @@ -0,0 +1,6 @@ +# Citing PyGMT + +```{include} ../README.md +:start-after: +:end-before: +``` diff --git a/doc/conferences.md b/doc/conferences.md new file mode 100755 index 00000000000..746f699fd07 --- /dev/null +++ b/doc/conferences.md @@ -0,0 +1,62 @@ +# Conference Presentations + +These are conference presentations about the development of PyGMT (previously "GMT/Python"): + +- "Accessing and Integrating GMT with Python and the Scientific Python Ecosystem". + 2024. + Yvonne Fröhlich, Dongdong Tian, Wei Ji Leong, Max Jones, and Michael Grund. + Presented at *AGU 2024*. + doi:[10.6084/m9.figshare.28049495](https://doi.org/10.6084/m9.figshare.28049495) + + ![](https://github.com/user-attachments/assets/19e1391e-648d-43da-b6f6-ecfb4f3e83e8){.align-center width="80%"} + +- "Geospatial Analysis & Visualization with PyGMT". + 2022. + Max Jones, Wei Ji Leong, and Leonardo Uieda. + Presented at *SciPy 2022*. + doi:[10.6084/m9.figshare.20483793](https://doi.org/10.6084/m9.figshare.20483793). + Recording available at + + [![](_static/scipy2022-youtube-thumbnail.jpg){.align-center width="80%"}](https://www.youtube.com/watch?v=nCktihu9bWg) + +- "PyGMT: Accessing the Generic Mapping Tools from Python". + 2019. + Leonardo Uieda and Paul Wessel. + Presented at *AGU 2019*. + doi:[10.6084/m9.figshare.11320280](https://doi.org/10.6084/m9.figshare.11320280) + + ![](_static/agu2019-poster.jpg){.align-center width="80%"} + +- "Building an object-oriented Python interface for the Generic Mapping Tools". + 2018. + Leonardo Uieda and Paul Wessel. + Presented at *SciPy 2018*. + doi:[10.6084/m9.figshare.6814052](https://doi.org/10.6084/m9.figshare.6814052). + Recording available at + + [![](_static/scipy2018-youtube-thumbnail.png){.align-center width="80%"}](https://www.youtube.com/watch?v=6wMtfZXfTRM) + +- "Integrating the Generic Mapping Tools with the Scientific Python Ecosystem". + 2018. + Leonardo Uieda and Paul Wessel. + Presented at *AOGS Annual Meeting 2018*. + doi:[10.6084/m9.figshare.6399944](https://doi.org/10.6084/m9.figshare.6399944) + + ![](_static/aogs2018-poster.jpg){.align-center width="80%"} + +- "Bringing the Generic Mapping Tools to Python". + 2017. + Leonardo Uieda and Paul Wessel. + Presented at *SciPy 2017*. + doi:[10.6084/m9.figshare.7635833](https://doi.org/10.6084/m9.figshare.7635833). + Recording available at + + [![](_static/scipy2017-youtube-thumbnail.png){.align-center width="80%"}](https://www.youtube.com/watch?v=93M4How7R24) + +- "A modern Python interface for the Generic Mapping Tools". + 2017. + Leonardo Uieda and Paul Wessel. + Presented at *AGU 2017*. + doi:[10.6084/m9.figshare.5662411](https://doi.org/10.6084/m9.figshare.5662411) + + ![](_static/agu2017-poster.jpg){.align-center width="80%"} diff --git a/doc/index.md b/doc/index.md index 7381df0b232..b2ba864d4db 100644 --- a/doc/index.md +++ b/doc/index.md @@ -13,8 +13,8 @@ ```{include} ../README.md -:start-after: -:end-before: +:start-after: +:end-before: ``` @@ -37,9 +37,9 @@ **Project overview** ^^^ -- • Why PyGMT and Project Goals +- • Why PyGMT? - • PyGMT Ecosystem -- • How to Cite PyGMT, BibTex for G3 Paper and Zenodo +- • Citing PyGMT - • Conference Presentations :::: @@ -112,6 +112,8 @@ intro/index.rst overview.md ecosystem.md +citing.md +conferences.md ``` ```{toctree} diff --git a/doc/overview.md b/doc/overview.md index f75868fa7c7..d23023773c0 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -1,6 +1,18 @@ -# Overview +# Why PyGMT? -## About +```{include} ../README.md +:start-after: +:end-before: +``` + +## Project Goals + +```{include} ../README.md +:start-after: +:end-before: +``` + +## Background PyGMT is a Python wrapper for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), @@ -20,73 +32,24 @@ PDF and PNG. The project was started in 2017 by [Leonardo Uieda](https://www.leouieda.com) and [Paul Wessel](https://en.wikipedia.org/wiki/Pål_Wessel) (the co-creator and main -developer of GMT) at the University of Hawaiʻi at Mānoa. The development of PyGMT -has been supported by NSF grants [OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) -and [EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). +developer of GMT) at the University of Hawaiʻi at Mānoa. We welcome any feedback and ideas! Let us know by submitting [issues on GitHub](https://github.com/GenericMappingTools/pygmt/issues) or by posting on our [Discourse forum](https://forum.generic-mapping-tools.org/c/questions/pygmt-q-a). -## Presentations - -These are conference presentations about the development of PyGMT (previously "GMT/Python"): - -- "Accessing and Integrating GMT with Python and the Scientific Python Ecosystem". - 2024. - Yvonne Fröhlich, Dongdong Tian, Wei Ji Leong, Max Jones, and Michael Grund. - Presented at *AGU 2024*. - doi:[10.6084/m9.figshare.28049495](https://doi.org/10.6084/m9.figshare.28049495) - - ![](https://github.com/user-attachments/assets/19e1391e-648d-43da-b6f6-ecfb4f3e83e8){.align-center width="80%"} - -- "Geospatial Analysis & Visualization with PyGMT". - 2022. - Max Jones, Wei Ji Leong, and Leonardo Uieda. - Presented at *SciPy 2022*. - doi:[10.6084/m9.figshare.20483793](https://doi.org/10.6084/m9.figshare.20483793). - Recording available at - - [![](_static/scipy2022-youtube-thumbnail.jpg){.align-center width="80%"}](https://www.youtube.com/watch?v=nCktihu9bWg) - -- "PyGMT: Accessing the Generic Mapping Tools from Python". - 2019. - Leonardo Uieda and Paul Wessel. - Presented at *AGU 2019*. - doi:[10.6084/m9.figshare.11320280](https://doi.org/10.6084/m9.figshare.11320280) - - ![](_static/agu2019-poster.jpg){.align-center width="80%"} - -- "Building an object-oriented Python interface for the Generic Mapping Tools". - 2018. - Leonardo Uieda and Paul Wessel. - Presented at *SciPy 2018*. - doi:[10.6084/m9.figshare.6814052](https://doi.org/10.6084/m9.figshare.6814052). - Recording available at - - [![](_static/scipy2018-youtube-thumbnail.png){.align-center width="80%"}](https://www.youtube.com/watch?v=6wMtfZXfTRM) - -- "Integrating the Generic Mapping Tools with the Scientific Python Ecosystem". - 2018. - Leonardo Uieda and Paul Wessel. - Presented at *AOGS Annual Meeting 2018*. - doi:[10.6084/m9.figshare.6399944](https://doi.org/10.6084/m9.figshare.6399944) - ![](_static/aogs2018-poster.jpg){.align-center width="80%"} +## Support -- "Bringing the Generic Mapping Tools to Python". - 2017. - Leonardo Uieda and Paul Wessel. - Presented at *SciPy 2017*. - doi:[10.6084/m9.figshare.7635833](https://doi.org/10.6084/m9.figshare.7635833). - Recording available at +```{include} ../README.md +:start-after: +:end-before: +``` - [![](_static/scipy2017-youtube-thumbnail.png){.align-center width="80%"}](https://www.youtube.com/watch?v=93M4How7R24) -- "A modern Python interface for the Generic Mapping Tools". - 2017. - Leonardo Uieda and Paul Wessel. - Presented at *AGU 2017*. - doi:[10.6084/m9.figshare.5662411](https://doi.org/10.6084/m9.figshare.5662411) +## Related projects - ![](_static/agu2017-poster.jpg){.align-center width="80%"} +```{include} ../README.md +:start-after: +:end-before: +``` From 0cfe97f303703fd29945090cbd7e660d48785348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 18:45:55 +0200 Subject: [PATCH 09/82] Remove execution permission --- doc/citing.md | 0 doc/conferences.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 doc/citing.md mode change 100755 => 100644 doc/conferences.md diff --git a/doc/citing.md b/doc/citing.md old mode 100755 new mode 100644 diff --git a/doc/conferences.md b/doc/conferences.md old mode 100755 new mode 100644 From ffd35b34830c912a3e58efc56c6a317b6a8daefb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 20:20:54 +0200 Subject: [PATCH 10/82] Add icons --- doc/index.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/index.md b/doc/index.md index b2ba864d4db..1df6ad061f4 100644 --- a/doc/index.md +++ b/doc/index.md @@ -24,7 +24,7 @@ :link: https://www.pygmt.org/dev/install.html :margin: 0 3 0 0 -**Getting started** +**Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ - • Installing - • Intro to PyGMT @@ -35,7 +35,7 @@ :link: https://www.pygmt.org/dev/overview.html :margin: 0 3 0 0 -**Project overview** +**Project Overview** {octicon}`globe;1em;sd-text-info` ^^^ - • Why PyGMT? - • PyGMT Ecosystem @@ -48,7 +48,7 @@ :link: https://www.pygmt.org/dev/gallery/index.html :margin: 0 3 0 0 -**User Guide** +**User Guide** {octicon}`image;1em;sd-text-info` ^^^ - • Gallery - • Tutorials @@ -61,7 +61,7 @@ :link: https://www.pygmt.org/dev/api/index.html :margin: 0 3 0 0 -**Reference Documentation** +**Reference Documentation** {octicon}`book;1em;sd-text-info` ^^^ - • API Reference - • Technical Reference @@ -74,7 +74,7 @@ :link: https://www.pygmt.org/dev/contributing.html :margin: 0 3 0 0 -**Development** +**Development** {octicon}`terminal;1em;sd-text-info` ^^^ - • Contributors Guide - • Mainainers Guide @@ -85,12 +85,12 @@ ::::{grid-item-card} :margin: 0 3 0 0 -**Getting Help** +**Getting Help** {octicon}`light-bulb;1em;sd-text-info` ^^^ -- • [GMT Forum](https://forum.generic-mapping-tools.org) (for asking questions) -- • [GitHub](https://github.com/GenericMappingTools/pygmt) (for reporting bugs and contributing) -- • [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) -- • [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) +- [GMT Forum](https://forum.generic-mapping-tools.org) (please ask questions here) +- [Source code](https://github.com/GenericMappingTools/pygmt) +- [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) +- [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) :::: ::::: From 4f2a889a2cc88c461b0741e3c52f58b1d2125060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 20:33:44 +0200 Subject: [PATCH 11/82] Center text on landing page --- doc/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/index.md b/doc/index.md index 1df6ad061f4..abe8771019f 100644 --- a/doc/index.md +++ b/doc/index.md @@ -12,10 +12,12 @@ +:::{div} sd-text-center ```{include} ../README.md :start-after: :end-before: ``` +::: :::::{grid} 1 2 2 2 From 7f18fe2664b779a74389eab3755679b99d7bb68d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 20:57:53 +0200 Subject: [PATCH 12/82] Adjust font size and lower padding of text on lading page --- doc/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index abe8771019f..c9de9ad07c8 100644 --- a/doc/index.md +++ b/doc/index.md @@ -12,7 +12,7 @@ -:::{div} sd-text-center +:::{div} sd-text-center sd-fs-5 sd-pb-5 ```{include} ../README.md :start-after: :end-before: @@ -20,6 +20,7 @@ ::: + :::::{grid} 1 2 2 2 ::::{grid-item-card} From 142fb15753316bbfc0295e405c5aa6de7244c84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 21:16:54 +0200 Subject: [PATCH 13/82] Add logo on landing page via sphinx markdown instead of html --- doc/index.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/index.md b/doc/index.md index c9de9ad07c8..5cc503d44fd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,18 +1,17 @@ ```{title} Home ``` - - - -:::{div} sd-text-center sd-fs-5 sd-pb-5 +:::{div} sd-d-flex-row sd-align-major-center +```{image} ./_static/pygmtlogo.png +:width: 600px +``` +::: + +:::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-4 +A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) +::: + +:::{div} sd-text-center sd-fs-5 sd-pb-4 ```{include} ../README.md :start-after: :end-before: @@ -99,6 +98,7 @@ ::::: + ```{toctree} :maxdepth: 2 :hidden: From f572808ae5f95b6c0fb9815358da25dc648ae5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 21:31:04 +0200 Subject: [PATCH 14/82] Remove blank lines and with spaces --- doc/index.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/doc/index.md b/doc/index.md index 5cc503d44fd..10053b14b2f 100644 --- a/doc/index.md +++ b/doc/index.md @@ -25,8 +25,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :link: https://www.pygmt.org/dev/install.html :margin: 0 3 0 0 - -**Getting started** {octicon}`rocket;1em;sd-text-info` +**Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ - • Installing - • Intro to PyGMT @@ -36,8 +35,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :link: https://www.pygmt.org/dev/overview.html :margin: 0 3 0 0 - -**Project Overview** {octicon}`globe;1em;sd-text-info` +**Project Overview** {octicon}`globe;1em;sd-text-info` ^^^ - • Why PyGMT? - • PyGMT Ecosystem @@ -49,8 +47,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :link: https://www.pygmt.org/dev/gallery/index.html :margin: 0 3 0 0 - -**User Guide** {octicon}`image;1em;sd-text-info` +**User Guide** {octicon}`image;1em;sd-text-info` ^^^ - • Gallery - • Tutorials @@ -62,8 +59,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :link: https://www.pygmt.org/dev/api/index.html :margin: 0 3 0 0 - -**Reference Documentation** {octicon}`book;1em;sd-text-info` +**Reference Documentation** {octicon}`book;1em;sd-text-info` ^^^ - • API Reference - • Technical Reference @@ -75,8 +71,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :link: https://www.pygmt.org/dev/contributing.html :margin: 0 3 0 0 - -**Development** {octicon}`terminal;1em;sd-text-info` +**Development** {octicon}`terminal;1em;sd-text-info` ^^^ - • Contributors Guide - • Mainainers Guide @@ -86,11 +81,10 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 - -**Getting Help** {octicon}`light-bulb;1em;sd-text-info` +**Getting Help** {octicon}`light-bulb;1em;sd-text-info` ^^^ - [GMT Forum](https://forum.generic-mapping-tools.org) (please ask questions here) -- [Source code](https://github.com/GenericMappingTools/pygmt) +- [Source Code](https://github.com/GenericMappingTools/pygmt) - [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) - [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) :::: From 7606c485fdfed5e7679219621009882a52b3cb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 21:41:24 +0200 Subject: [PATCH 15/82] Prepare for links --- doc/index.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/index.md b/doc/index.md index 10053b14b2f..b3c5904561c 100644 --- a/doc/index.md +++ b/doc/index.md @@ -27,8 +27,8 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ -- • Installing -- • Intro to PyGMT +- • [Installing]() +- • [Intro to PyGMT]() :::: @@ -37,10 +37,10 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **Project Overview** {octicon}`globe;1em;sd-text-info` ^^^ -- • Why PyGMT? -- • PyGMT Ecosystem -- • Citing PyGMT -- • Conference Presentations +- • [Why PyGMT?]() +- • [PyGMT Ecosystem]() +- • [Citing PyGMT]() +- • [Conference Presentations]() :::: @@ -49,10 +49,10 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **User Guide** {octicon}`image;1em;sd-text-info` ^^^ -- • Gallery -- • Tutorials -- • Projections -- • External Resources +- • [Gallery]() +- • [Tutorials]() +- • [Projections]() +- • [External Resources]() :::: @@ -61,10 +61,10 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **Reference Documentation** {octicon}`book;1em;sd-text-info` ^^^ -- • API Reference -- • Technical Reference -- • Minimum Supported Versions -- • Changelog +- • [API Reference]() +- • [Technical Reference]() +- • [Minimum Supported Versions]() +- • [Changelog]() :::: @@ -73,9 +73,9 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **Development** {octicon}`terminal;1em;sd-text-info` ^^^ -- • Contributors Guide -- • Mainainers Guide -- • PyGMT Team +- • [Contributors Guide]() +- • [Mainainers Guide]() +- • [PyGMT Team]() :::: From 6405409ab115a17602c001e42c65b60196864464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sat, 25 Jul 2026 22:12:19 +0200 Subject: [PATCH 16/82] Test links without shared website URL --- doc/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/index.md b/doc/index.md index b3c5904561c..fc08792a3bf 100644 --- a/doc/index.md +++ b/doc/index.md @@ -23,21 +23,21 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :::::{grid} 1 2 2 2 ::::{grid-item-card} -:link: https://www.pygmt.org/dev/install.html +:link: ../install.html :margin: 0 3 0 0 **Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ -- • [Installing]() +- • [Installing](../install.html) - • [Intro to PyGMT]() :::: ::::{grid-item-card} -:link: https://www.pygmt.org/dev/overview.html +:link: ../overview.html :margin: 0 3 0 0 **Project Overview** {octicon}`globe;1em;sd-text-info` ^^^ -- • [Why PyGMT?]() +- • [Why PyGMT?](../overview.html) - • [PyGMT Ecosystem]() - • [Citing PyGMT]() - • [Conference Presentations]() From 772333dd80338854fc2107add35ea44ddb708057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 10:02:22 +0200 Subject: [PATCH 17/82] Remove links from cards, add links to bullet point list --- doc/index.md | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/doc/index.md b/doc/index.md index fc08792a3bf..4bea3c63d33 100644 --- a/doc/index.md +++ b/doc/index.md @@ -23,59 +23,54 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :::::{grid} 1 2 2 2 ::::{grid-item-card} -:link: ../install.html :margin: 0 3 0 0 **Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ -- • [Installing](../install.html) -- • [Intro to PyGMT]() +- • [Installing](install.md) +- • [Intro to PyGMT](intro/index.rst) :::: ::::{grid-item-card} -:link: ../overview.html :margin: 0 3 0 0 **Project Overview** {octicon}`globe;1em;sd-text-info` ^^^ -- • [Why PyGMT?](../overview.html) -- • [PyGMT Ecosystem]() -- • [Citing PyGMT]() -- • [Conference Presentations]() +- • [Why PyGMT?](overview.md) +- • [PyGMT Ecosystem](ecosystem.md) +- • [Citing PyGMT](citing.md) +- • [Conference Presentations](conferences.md) :::: ::::{grid-item-card} -:link: https://www.pygmt.org/dev/gallery/index.html :margin: 0 3 0 0 **User Guide** {octicon}`image;1em;sd-text-info` ^^^ -- • [Gallery]() -- • [Tutorials]() -- • [Projections]() -- • [External Resources]() +- • [Gallery](gallery/index.rst) +- • [Tutorials](tutorials/index.rst) +- • [Projections](projections/index.rst) +- • [External Resources](external_resources.md) :::: ::::{grid-item-card} -:link: https://www.pygmt.org/dev/api/index.html :margin: 0 3 0 0 **Reference Documentation** {octicon}`book;1em;sd-text-info` ^^^ -- • [API Reference]() -- • [Technical Reference]() -- • [Minimum Supported Versions]() -- • [Changelog]() +- • [API Reference](techref/index.rst) +- • [Technical Reference](api/index.rst) +- • [Minimum Supported Versions](minversions.md) +- • [Changelog](changes.md) :::: ::::{grid-item-card} -:link: https://www.pygmt.org/dev/contributing.html :margin: 0 3 0 0 **Development** {octicon}`terminal;1em;sd-text-info` ^^^ -- • [Contributors Guide]() -- • [Mainainers Guide]() -- • [PyGMT Team]() +- • [Contributors Guide](contributing.md) +- • [Mainainers Guide](maintenance.md) +- • [PyGMT Team](team.md) :::: From e44f69e5483c72395bf92e9f2ef55fe24d358010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 10:18:35 +0200 Subject: [PATCH 18/82] Rewrite text in doc to have link linking to selected version --- README.md | 4 ++-- doc/overview.md | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9a62e018c58..242264442a4 100644 --- a/README.md +++ b/README.md @@ -25,12 +25,12 @@ A beautiful map is worth a thousand words. To truly understand how powerful PyGM play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! + + Afterwards, feel free to look at our [Tutorials](https://www.pygmt.org/latest/tutorials), visit the [Gallery](https://www.pygmt.org/latest/gallery), and check out some [external PyGMT examples](https://www.pygmt.org/latest/external_resources.html)! - - [![Quick Introduction to PyGMT YouTube Video](https://raw.githubusercontent.com/GenericMappingTools/pygmt/refs/heads/main/doc/_static/scipy2022-youtube-thumbnail.jpg)](https://www.youtube.com/watch?v=4iPnITXrxVU) ## About diff --git a/doc/overview.md b/doc/overview.md index d23023773c0..99effc755df 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -5,7 +5,13 @@ :end-before: ``` -## Project Goals +Afterward, try the [Intro](intro/index.rst) to get started on your own, visit the +[Gallery](gallery/index.rst) for more impressions or go through the +[Tutorials](tutorials/index.rst) to learn things in more detail, and finally check +out some [external PyGMT examples](external_resources)! + + +## Project goals ```{include} ../README.md :start-after: From 34aea2e1c428e0f9f0353cdae13391fc7511251f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 10:27:41 +0200 Subject: [PATCH 19/82] Improve text for 'Why PyGMT' --- doc/overview.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/overview.md b/doc/overview.md index 99effc755df..25bbb69aa79 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -5,10 +5,11 @@ :end-before: ``` -Afterward, try the [Intro](intro/index.rst) to get started on your own, visit the -[Gallery](gallery/index.rst) for more impressions or go through the -[Tutorials](tutorials/index.rst) to learn things in more detail, and finally check -out some [external PyGMT examples](external_resources)! +Afterward, try the [Intro to PyGMT](intro/index.rst) on your own, visit the +[Gallery](gallery/index.rst) for more impressions, go through the +[Tutorials](tutorials/index.rst) to learn things in more detail, look at the +[Projections](projections/index.rst) to see the available map projections, and finally +do not forget to check out some [external PyGMT examples](external_resources)! ## Project goals From 25f416865f2201dddd471300f47433f09c30c7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 10:30:47 +0200 Subject: [PATCH 20/82] Fix links --- doc/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 4bea3c63d33..75573fe3436 100644 --- a/doc/index.md +++ b/doc/index.md @@ -57,8 +57,8 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :margin: 0 3 0 0 **Reference Documentation** {octicon}`book;1em;sd-text-info` ^^^ -- • [API Reference](techref/index.rst) -- • [Technical Reference](api/index.rst) +- • [API Reference](api/index.rst) +- • [Technical Reference](techref/index.md) - • [Minimum Supported Versions](minversions.md) - • [Changelog](changes.md) :::: From e321bdf8b9944a03ffd5bea9041fa3622e133044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 10:50:32 +0200 Subject: [PATCH 21/82] Shorten formulation --- doc/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/overview.md b/doc/overview.md index 25bbb69aa79..a46d78c621e 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -8,8 +8,8 @@ Afterward, try the [Intro to PyGMT](intro/index.rst) on your own, visit the [Gallery](gallery/index.rst) for more impressions, go through the [Tutorials](tutorials/index.rst) to learn things in more detail, look at the -[Projections](projections/index.rst) to see the available map projections, and finally -do not forget to check out some [external PyGMT examples](external_resources)! +available map [Projections](projections/index.rst), and finally do not forget +to check out some [external PyGMT examples](external_resources)! ## Project goals From 66def28af51b56cd19d509d61d3859f6e518f0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 12:36:45 +0200 Subject: [PATCH 22/82] Try cards and bottoms for specific topics --- doc/index.md | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 75573fe3436..19098c91450 100644 --- a/doc/index.md +++ b/doc/index.md @@ -20,14 +20,90 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t +**Cards (or bottons?) for specific topics** + +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: install.md +**Installing** {octicon}`terminal;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: intro/index.rst +**Intro to PyGMT** {octicon}`rocket;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: gallery/index.rst +**Gallery** {octicon}`image;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: tutorials/index.rst +**Tutorials** {octicon}`mortar-board;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: api/index.rst +**API Reference** {octicon}`book;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: external_resources.md +**External Resources** {octicon}`globe;1em;sd-text-info` +^^^ +:::: + + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: citing.md +**Citing PyGMT** {octicon}`checklist;1em;sd-text-info` +^^^ +:::: + +::::: + + + + +**Cards for main sections identical to sidebar** + :::::{grid} 1 2 2 2 ::::{grid-item-card} :margin: 0 3 0 0 **Getting started** {octicon}`rocket;1em;sd-text-info` ^^^ -- • [Installing](install.md) -- • [Intro to PyGMT](intro/index.rst) +```{button-link} install.md +:color: #EBF0F9 +:outline: #b4c7e7 +:shadow: +Installing PyGMT +``` +```{button-link} intro/index.rst +:color: #b4c7e7 +:shadow: +:outline: +Intro to PyGMT +``` :::: From a4b8d7d659bbad8ecbcbcbb6d9d86b4b537b9179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 14:59:20 +0200 Subject: [PATCH 23/82] Polish cards --- doc/_static/style.css | 10 ++-- doc/index.md | 128 +++++++++++++++++++++++++++--------------- 2 files changed, 89 insertions(+), 49 deletions(-) diff --git a/doc/_static/style.css b/doc/_static/style.css index 24c444af8ce..3b703bda95c 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -71,12 +71,12 @@ p { border: solid 2px #b4c7e7; } -/* Change background color of cards on landing page */ -/* https://sphinx-design.readthedocs.io/en/latest/css_variables.html */ +/* Change color of cards */ +/* https://sphinx-design.readthedocs.io/en/rtd-theme/css_variables.html */ :root { - --sd-color-card-background: #EBF0F9; - --sd-color-card-header: #b4c7e7; - --sd-color-card-footer: #FFFFFF; + --sd-color-card-background: #EBF0F9; /* lighter color as top box of sidebar */ + --sd-color-card-header: #b4c7e7; /* same color as top box of sidebar */ + --sd-color-card-footer: #FFFFFF; /* white */ } /* Format parameters section similar to sphinx_rtd_theme v4.x.x (not a grid) */ diff --git a/doc/index.md b/doc/index.md index 19098c91450..e0af6c28aa4 100644 --- a/doc/index.md +++ b/doc/index.md @@ -19,64 +19,69 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::: - -**Cards (or bottons?) for specific topics** - :::::{grid} 1 3 3 3 ::::{grid-item-card} :margin: 0 3 0 0 -:link: install.md -**Installing** {octicon}`terminal;1em;sd-text-info` +{octicon}`terminal;3em;sd-text-info` ^^^ +[**Installing**](install.md) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -:link: intro/index.rst -**Intro to PyGMT** {octicon}`rocket;1em;sd-text-info` +{octicon}`rocket;3em;sd-text-info` ^^^ +[**Intro to PyGMT**](intro/index.rst) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -:link: gallery/index.rst -**Gallery** {octicon}`image;1em;sd-text-info` +{octicon}`image;3em;sd-text-info` ^^^ +[**Gallery**](gallery/index.rst) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -:link: tutorials/index.rst -**Tutorials** {octicon}`mortar-board;1em;sd-text-info` +{octicon}`mortar-board;3em;sd-text-info` ^^^ +[**Tutorials**](tutorials/index.rst) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -:link: api/index.rst -**API Reference** {octicon}`book;1em;sd-text-info` +{octicon}`book;3em;sd-text-info` ^^^ +[**API Reference**](api/index.rst) :::: +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`globe;3em;sd-text-info` +^^^ +[**External Resources**](external_resources.md) +:::: ::::{grid-item-card} :margin: 0 3 0 0 -:link: external_resources.md -**External Resources** {octicon}`globe;1em;sd-text-info` +{octicon}`checklist;3em;sd-text-info` ^^^ +[**Citing PyGMT**](citing.md) :::: +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`tools;3em;sd-text-info` +^^^ +[**Contributors Guide**](contributing.md) +:::: ::::{grid-item-card} :margin: 0 3 0 0 -:link: citing.md -**Citing PyGMT** {octicon}`checklist;1em;sd-text-info` +{octicon}`light-bulb;3em;sd-text-info` ^^^ +[**GMT Forum**](https://forum.generic-mapping-tools.org) :::: ::::: @@ -84,24 +89,24 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t -**Cards for main sections identical to sidebar** +## **Cards for main sections identical to sidebar** -:::::{grid} 1 2 2 2 +:::::{grid} 1 3 3 3 ::::{grid-item-card} :margin: 0 3 0 0 -**Getting started** {octicon}`rocket;1em;sd-text-info` +**Getting started** {octicon}`rocket;2em;sd-text-info` ^^^ -```{button-link} install.md -:color: #EBF0F9 -:outline: #b4c7e7 +```{button-ref} install.md +:color: secondary +:outline: :shadow: -Installing PyGMT +Installing ``` -```{button-link} intro/index.rst -:color: #b4c7e7 -:shadow: +```{button-ref} intro/index.rst +:color: secondary :outline: +:shadow: Intro to PyGMT ``` :::: @@ -109,7 +114,7 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -**Project Overview** {octicon}`globe;1em;sd-text-info` +**Project Overview** {octicon}`globe;2em;sd-text-info` ^^^ - • [Why PyGMT?](overview.md) - • [PyGMT Ecosystem](ecosystem.md) @@ -120,7 +125,7 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -**User Guide** {octicon}`image;1em;sd-text-info` +**User Guide** {octicon}`image;2em;sd-text-info` ^^^ - • [Gallery](gallery/index.rst) - • [Tutorials](tutorials/index.rst) @@ -131,33 +136,68 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -**Reference Documentation** {octicon}`book;1em;sd-text-info` +**Reference Documentation** {octicon}`book;2em;sd-text-info` ^^^ - • [API Reference](api/index.rst) - • [Technical Reference](techref/index.md) -- • [Minimum Supported Versions](minversions.md) +- • [Compatibility Table](minversions.md) - • [Changelog](changes.md) :::: ::::{grid-item-card} :margin: 0 3 0 0 -**Development** {octicon}`terminal;1em;sd-text-info` +**Development** {octicon}`terminal;2em;sd-text-info` ^^^ -- • [Contributors Guide](contributing.md) -- • [Mainainers Guide](maintenance.md) -- • [PyGMT Team](team.md) +```{button-ref} contributing.md +:color: secondary +:outline: +:shadow: +Contributors Guide +``` +```{button-ref} maintenance.md +:color: secondary +:outline: +:shadow: +Maintainers Guide +``` +```{button-ref} team.md +:color: secondary +:outline: +:shadow: +PyGMT Team +``` :::: ::::{grid-item-card} :margin: 0 3 0 0 -**Getting Help** {octicon}`light-bulb;1em;sd-text-info` +**Getting Help** {octicon}`light-bulb;2em;sd-text-info` ^^^ -- [GMT Forum](https://forum.generic-mapping-tools.org) (please ask questions here) -- [Source Code](https://github.com/GenericMappingTools/pygmt) -- [Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) -- [License](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) +```{button-link} https://forum.generic-mapping-tools.org +:color: secondary +:outline: +:shadow: +{octicon}`comment-discussion;1em;sd-text-info` GMT Forum +``` +```{button-link} https://github.com/GenericMappingTools/pygmt +:color: secondary +:outline: +:shadow: +{octicon}`mark-github;1em;sd-text-info` Source Code +``` +```{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md +:color: secondary +:outline: +:shadow: +{octicon}`code-of-conduct;1em;sd-text-info` Code of Conduct +``` +```{button-link} https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt +:color: secondary +:outline: +:shadow: +{octicon}`law;1em;sd-text-info` License +``` :::: ::::: From adf8900538a0056de538f3bcfe665225b5d44557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 15:12:56 +0200 Subject: [PATCH 24/82] Polish cards --- doc/index.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/doc/index.md b/doc/index.md index e0af6c28aa4..5aa0d68c757 100644 --- a/doc/index.md +++ b/doc/index.md @@ -88,14 +88,13 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t - ## **Cards for main sections identical to sidebar** -:::::{grid} 1 3 3 3 +:::::{grid} 1 2 2 2 ::::{grid-item-card} :margin: 0 3 0 0 -**Getting started** {octicon}`rocket;2em;sd-text-info` +{octicon}`rocket;3em;sd-text-info` **Getting started** ^^^ ```{button-ref} install.md :color: secondary @@ -111,10 +110,9 @@ Intro to PyGMT ``` :::: - ::::{grid-item-card} :margin: 0 3 0 0 -**Project Overview** {octicon}`globe;2em;sd-text-info` +{octicon}`globe;3em;sd-text-info` **Project Overview** ^^^ - • [Why PyGMT?](overview.md) - • [PyGMT Ecosystem](ecosystem.md) @@ -122,10 +120,9 @@ Intro to PyGMT - • [Conference Presentations](conferences.md) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -**User Guide** {octicon}`image;2em;sd-text-info` +{octicon}`image;3em;sd-text-info` **User Guide** ^^^ - • [Gallery](gallery/index.rst) - • [Tutorials](tutorials/index.rst) @@ -133,10 +130,9 @@ Intro to PyGMT - • [External Resources](external_resources.md) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -**Reference Documentation** {octicon}`book;2em;sd-text-info` +{octicon}`book;3em;sd-text-info` **Reference Documentation** ^^^ - • [API Reference](api/index.rst) - • [Technical Reference](techref/index.md) @@ -144,10 +140,9 @@ Intro to PyGMT - • [Changelog](changes.md) :::: - ::::{grid-item-card} :margin: 0 3 0 0 -**Development** {octicon}`terminal;2em;sd-text-info` +{octicon}`terminal;3em;sd-text-info` **Development** ^^^ ```{button-ref} contributing.md :color: secondary @@ -169,10 +164,9 @@ PyGMT Team ``` :::: - ::::{grid-item-card} :margin: 0 3 0 0 -**Getting Help** {octicon}`light-bulb;2em;sd-text-info` +{octicon}`light-bulb;3em;sd-text-info` **Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org :color: secondary From 55c197fe2ccd55eaf74ecb9e1f0009bce4396935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 15:34:18 +0200 Subject: [PATCH 25/82] Polish cards --- doc/index.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/doc/index.md b/doc/index.md index 5aa0d68c757..77eb4a48176 100644 --- a/doc/index.md +++ b/doc/index.md @@ -7,11 +7,11 @@ ``` ::: -:::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-4 +:::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-3 A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) ::: -:::{div} sd-text-center sd-fs-5 sd-pb-4 +:::{div} sd-text-center sd-fs-5 sd-pb-3 ```{include} ../README.md :start-after: :end-before: @@ -94,7 +94,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`rocket;3em;sd-text-info` **Getting started** +{octicon}`rocket;2.5em;sd-text-info` **Getting started** ^^^ ```{button-ref} install.md :color: secondary @@ -112,37 +112,37 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`globe;3em;sd-text-info` **Project Overview** +{octicon}`globe;2.5em;sd-text-info` **Project Overview** ^^^ -- • [Why PyGMT?](overview.md) -- • [PyGMT Ecosystem](ecosystem.md) -- • [Citing PyGMT](citing.md) -- • [Conference Presentations](conferences.md) +- [Why PyGMT?](overview.md) +- [PyGMT Ecosystem](ecosystem.md) +- [Citing PyGMT](citing.md) +- [Conference Presentations](conferences.md) :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`image;3em;sd-text-info` **User Guide** +{octicon}`image;2.5em;sd-text-info` **User Guide** ^^^ -- • [Gallery](gallery/index.rst) -- • [Tutorials](tutorials/index.rst) -- • [Projections](projections/index.rst) -- • [External Resources](external_resources.md) +- [Gallery](gallery/index.rst) +- [Tutorials](tutorials/index.rst) +- [Projections](projections/index.rst) +- [External Resources](external_resources.md) :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info` **Reference Documentation** +{octicon}`book;2.5em;sd-text-info` **Reference Documentation** ^^^ -- • [API Reference](api/index.rst) -- • [Technical Reference](techref/index.md) -- • [Compatibility Table](minversions.md) -- • [Changelog](changes.md) +- [API Reference](api/index.rst) +- [Technical Reference](techref/index.md) +- [Minimum Supported Versions](minversions.md) +- [Changelog](changes.md) :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info` **Development** +{octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ ```{button-ref} contributing.md :color: secondary @@ -166,7 +166,7 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;3em;sd-text-info` **Getting Help** +{octicon}`light-bulb;2.5em;sd-text-info` **Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org :color: secondary From e396a6c7e99e0df51e8d7243d055fa22d6166a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 15:40:29 +0200 Subject: [PATCH 26/82] Improve icons --- doc/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 77eb4a48176..0a7a1f3cf3d 100644 --- a/doc/index.md +++ b/doc/index.md @@ -23,7 +23,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info` +{octicon}`tools;3em;sd-text-info` ^^^ [**Installing**](install.md) :::: @@ -72,7 +72,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`tools;3em;sd-text-info` +{octicon}`terminal;3em;sd-text-info` ^^^ [**Contributors Guide**](contributing.md) :::: From 6ca196d37bcc534c65f2cf4fafa615a198bc1399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 15:47:50 +0200 Subject: [PATCH 27/82] Improve icons --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 0a7a1f3cf3d..9abdbc99ddc 100644 --- a/doc/index.md +++ b/doc/index.md @@ -79,7 +79,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;3em;sd-text-info` +{octicon}`comment-discussion;3em;sd-text-info` ^^^ [**GMT Forum**](https://forum.generic-mapping-tools.org) :::: From 683b8db542cdfbd6afe475033596f7a9b8315089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 17:00:38 +0200 Subject: [PATCH 28/82] Polish cards --- doc/index.md | 248 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 157 insertions(+), 91 deletions(-) diff --git a/doc/index.md b/doc/index.md index 9abdbc99ddc..9e8ece26d0a 100644 --- a/doc/index.md +++ b/doc/index.md @@ -19,82 +19,13 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::: -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`tools;3em;sd-text-info` -^^^ -[**Installing**](install.md) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`rocket;3em;sd-text-info` -^^^ -[**Intro to PyGMT**](intro/index.rst) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`image;3em;sd-text-info` -^^^ -[**Gallery**](gallery/index.rst) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`mortar-board;3em;sd-text-info` -^^^ -[**Tutorials**](tutorials/index.rst) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info` -^^^ -[**API Reference**](api/index.rst) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`globe;3em;sd-text-info` -^^^ -[**External Resources**](external_resources.md) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`checklist;3em;sd-text-info` -^^^ -[**Citing PyGMT**](citing.md) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info` -^^^ -[**Contributors Guide**](contributing.md) -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`comment-discussion;3em;sd-text-info` -^^^ -[**GMT Forum**](https://forum.generic-mapping-tools.org) -:::: - -::::: - - -## **Cards for main sections identical to sidebar** - -:::::{grid} 1 2 2 2 +:::::{grid} 1 3 3 3 ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`rocket;2.5em;sd-text-info` **Getting started** +{octicon}`rocket;2.5em;sd-text-info`
+**Getting Started** ^^^ ```{button-ref} install.md :color: secondary @@ -102,6 +33,12 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :shadow: Installing ``` +```{button-ref} minversions.md +:color: secondary +:outline: +:shadow: +Minimum Supported Versions +``` ```{button-ref} intro/index.rst :color: secondary :outline: @@ -112,37 +49,89 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`globe;2.5em;sd-text-info` **Project Overview** +{octicon}`globe;2.5em;sd-text-info`
+**Project Overview** ^^^ -- [Why PyGMT?](overview.md) -- [PyGMT Ecosystem](ecosystem.md) -- [Citing PyGMT](citing.md) -- [Conference Presentations](conferences.md) +```{button-ref} overview.md +:color: secondary +:outline: +:shadow: +Why PyGMT? +``` +```{button-ref} ecosystem.md +:color: secondary +:outline: +:shadow: +PyGMT Ecosystem +``` +```{button-ref} citing.md +:color: secondary +:outline: +:shadow: +Citing PyGMT +``` +```{button-ref} conferences.md +:color: secondary +:outline: +:shadow: +Conference Presentations +``` :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`image;2.5em;sd-text-info` **User Guide** +{octicon}`mortar-board;2.5em;sd-text-info`
+**User Guide** ^^^ -- [Gallery](gallery/index.rst) -- [Tutorials](tutorials/index.rst) -- [Projections](projections/index.rst) -- [External Resources](external_resources.md) +```{button-ref} gallery/index.rst +:color: secondary +:outline: +:shadow: +Gallery +``` +```{button-ref} tutorials/index.rst +:color: secondary +:outline: +:shadow: +Tutorials +``` +```{button-ref} projections/index.rst +:color: secondary +:outline: +:shadow: +Projections +``` +```{button-ref} external_resources.md +:color: secondary +:outline: +:shadow: +External Resources +``` :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;2.5em;sd-text-info` **Reference Documentation** +{octicon}`book;2.5em;sd-text-info`
+**Reference Documentation** ^^^ -- [API Reference](api/index.rst) -- [Technical Reference](techref/index.md) -- [Minimum Supported Versions](minversions.md) -- [Changelog](changes.md) +```{button-ref} api/index.rst +:color: secondary +:outline: +:shadow: +API Reference +``` +```{button-ref} techref/index.rst +:color: secondary +:outline: +:shadow: +Technical Reference +``` :::: ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;2.5em;sd-text-info` **Development** +{octicon}`terminal;2.5em;sd-text-info`
+**Development** ^^^ ```{button-ref} contributing.md :color: secondary @@ -156,6 +145,12 @@ Contributors Guide :shadow: Maintainers Guide ``` +```{button-ref} changes.md +:color: secondary +:outline: +:shadow: +Changelog +``` ```{button-ref} team.md :color: secondary :outline: @@ -166,7 +161,8 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;2.5em;sd-text-info` **Getting Help** +{octicon}`light-bulb;2.5em;sd-text-info`
+**Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org :color: secondary @@ -198,12 +194,83 @@ PyGMT Team +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`tools;3em;sd-text-info` +^^^ +[**Installing**](install.md) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`rocket;3em;sd-text-info` +^^^ +[**Intro to PyGMT**](intro/index.rst) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`image;3em;sd-text-info` +^^^ +[**Gallery**](gallery/index.rst) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`mortar-board;3em;sd-text-info` +^^^ +[**Tutorials**](tutorials/index.rst) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`book;3em;sd-text-info` +^^^ +[**API Reference**](api/index.rst) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`globe;3em;sd-text-info` +^^^ +[**External Resources**](external_resources.md) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`checklist;3em;sd-text-info` +^^^ +[**Citing PyGMT**](citing.md) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`terminal;3em;sd-text-info` +^^^ +[**Contributors Guide**](contributing.md) +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`comment-discussion;3em;sd-text-info` +^^^ +[**GMT Forum**](https://forum.generic-mapping-tools.org) +:::: + +::::: + + + + ```{toctree} :maxdepth: 2 :hidden: :caption: Getting Started install.md +minversions.md intro/index.rst ``` @@ -236,8 +303,6 @@ external_resources.md api/index.rst techref/index.md -minversions.md -changes.md ``` ```{toctree} @@ -247,5 +312,6 @@ changes.md contributing.md maintenance.md +changes.md team.md ``` From d3f5178676c8852041f4c3c4077a95d47ac0e9c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 17:05:35 +0200 Subject: [PATCH 29/82] Remove question mark --- doc/index.md | 2 +- doc/overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 9e8ece26d0a..4a7aa6a01bb 100644 --- a/doc/index.md +++ b/doc/index.md @@ -56,7 +56,7 @@ Intro to PyGMT :color: secondary :outline: :shadow: -Why PyGMT? +Why PyGMT ``` ```{button-ref} ecosystem.md :color: secondary diff --git a/doc/overview.md b/doc/overview.md index a46d78c621e..f3dda202ff8 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -1,4 +1,4 @@ -# Why PyGMT? +# Why PyGMT ```{include} ../README.md :start-after: From 09c4b1ee89189b3c9161cabc500367740ed3b0dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 17:12:16 +0200 Subject: [PATCH 30/82] Increase size of icons --- doc/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/index.md b/doc/index.md index 4a7aa6a01bb..1024e48c1e6 100644 --- a/doc/index.md +++ b/doc/index.md @@ -24,7 +24,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`rocket;2.5em;sd-text-info`
+{octicon}`rocket;3em;sd-text-info`
**Getting Started** ^^^ ```{button-ref} install.md @@ -49,7 +49,7 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`globe;2.5em;sd-text-info`
+{octicon}`globe;3em;sd-text-info`
**Project Overview** ^^^ ```{button-ref} overview.md @@ -80,7 +80,7 @@ Conference Presentations ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`mortar-board;2.5em;sd-text-info`
+{octicon}`mortar-board;3em;sd-text-info`
**User Guide** ^^^ ```{button-ref} gallery/index.rst @@ -111,7 +111,7 @@ External Resources ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;2.5em;sd-text-info`
+{octicon}`book;3em;sd-text-info`
**Reference Documentation** ^^^ ```{button-ref} api/index.rst @@ -130,7 +130,7 @@ Technical Reference ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;2.5em;sd-text-info`
+{octicon}`terminal;3em;sd-text-info`
**Development** ^^^ ```{button-ref} contributing.md @@ -161,7 +161,7 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;2.5em;sd-text-info`
+{octicon}`light-bulb;3em;sd-text-info`
**Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org From 405b82d4e43a2aff0a02c10a6a0012fb71d8a0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 18:07:50 +0200 Subject: [PATCH 31/82] Fix typo --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 1024e48c1e6..96573c113a5 100644 --- a/doc/index.md +++ b/doc/index.md @@ -277,7 +277,7 @@ intro/index.rst ```{toctree} :maxdepth: 2 :hidden: -:caption: Project overview +:caption: Project Overview overview.md ecosystem.md From f935948f896aee139c855ed8baa671ea63d6d70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 18:59:24 +0200 Subject: [PATCH 32/82] Fix links for buttons --- doc/index.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/index.md b/doc/index.md index 96573c113a5..05c3719c558 100644 --- a/doc/index.md +++ b/doc/index.md @@ -27,19 +27,19 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t {octicon}`rocket;3em;sd-text-info`
**Getting Started** ^^^ -```{button-ref} install.md +```{button-ref} ../install :color: secondary :outline: :shadow: Installing ``` -```{button-ref} minversions.md +```{button-ref} ../minversions :color: secondary :outline: :shadow: Minimum Supported Versions ``` -```{button-ref} intro/index.rst +```{button-ref} ../intro/index :color: secondary :outline: :shadow: @@ -52,25 +52,25 @@ Intro to PyGMT {octicon}`globe;3em;sd-text-info`
**Project Overview** ^^^ -```{button-ref} overview.md +```{button-ref} ../overview :color: secondary :outline: :shadow: Why PyGMT ``` -```{button-ref} ecosystem.md +```{button-ref} ../ecosystem :color: secondary :outline: :shadow: PyGMT Ecosystem ``` -```{button-ref} citing.md +```{button-ref} ../citing :color: secondary :outline: :shadow: Citing PyGMT ``` -```{button-ref} conferences.md +```{button-ref} ../conferences :color: secondary :outline: :shadow: @@ -83,25 +83,25 @@ Conference Presentations {octicon}`mortar-board;3em;sd-text-info`
**User Guide** ^^^ -```{button-ref} gallery/index.rst +```{button-ref} ../gallery/index :color: secondary :outline: :shadow: Gallery ``` -```{button-ref} tutorials/index.rst +```{button-ref} ../tutorials/index :color: secondary :outline: :shadow: Tutorials ``` -```{button-ref} projections/index.rst +```{button-ref} ../projections/index :color: secondary :outline: :shadow: Projections ``` -```{button-ref} external_resources.md +```{button-ref} ../external_resources :color: secondary :outline: :shadow: @@ -114,13 +114,13 @@ External Resources {octicon}`book;3em;sd-text-info`
**Reference Documentation** ^^^ -```{button-ref} api/index.rst +```{button-ref} ../api/index :color: secondary :outline: :shadow: API Reference ``` -```{button-ref} techref/index.rst +```{button-ref} ../techref/index :color: secondary :outline: :shadow: @@ -133,25 +133,25 @@ Technical Reference {octicon}`terminal;3em;sd-text-info`
**Development** ^^^ -```{button-ref} contributing.md +```{button-ref} ../contributing :color: secondary :outline: :shadow: Contributors Guide ``` -```{button-ref} maintenance.md +```{button-ref} ../maintenance :color: secondary :outline: :shadow: Maintainers Guide ``` -```{button-ref} changes.md +```{button-ref} ../changes :color: secondary :outline: :shadow: Changelog ``` -```{button-ref} team.md +```{button-ref} ../team :color: secondary :outline: :shadow: From dfc9bf47e7d28dad79c96167f41737cb7a995082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 19:49:17 +0200 Subject: [PATCH 33/82] Add links to cards --- doc/index.md | 131 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 122 insertions(+), 9 deletions(-) diff --git a/doc/index.md b/doc/index.md index 05c3719c558..4a91da13cff 100644 --- a/doc/index.md +++ b/doc/index.md @@ -198,65 +198,178 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 +:link: install +:link-type: doc {octicon}`tools;3em;sd-text-info` ^^^ -[**Installing**](install.md) +**Installing** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: intro/index +:link-type: doc {octicon}`rocket;3em;sd-text-info` ^^^ -[**Intro to PyGMT**](intro/index.rst) +**Intro to PyGMT** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: gallery/index +:link-type: doc {octicon}`image;3em;sd-text-info` ^^^ -[**Gallery**](gallery/index.rst) +**Gallery** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: tutorials/index +:link-type: doc {octicon}`mortar-board;3em;sd-text-info` ^^^ -[**Tutorials**](tutorials/index.rst) +**Tutorials** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: api/index +:link-type: doc {octicon}`book;3em;sd-text-info` ^^^ -[**API Reference**](api/index.rst) +**API Reference** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: external_resources +:link-type: doc {octicon}`globe;3em;sd-text-info` ^^^ -[**External Resources**](external_resources.md) +**External Resources** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: citing +:link-type: doc {octicon}`checklist;3em;sd-text-info` ^^^ -[**Citing PyGMT**](citing.md) +**Citing PyGMT** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: contributing +:link-type: doc {octicon}`terminal;3em;sd-text-info` ^^^ -[**Contributors Guide**](contributing.md) +**Contributors Guide** :::: ::::{grid-item-card} :margin: 0 3 0 0 +:link: https://forum.generic-mapping-tools.org {octicon}`comment-discussion;3em;sd-text-info` ^^^ -[**GMT Forum**](https://forum.generic-mapping-tools.org) +**GMT Forum** +:::: + +::::: + + + + +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: install +:link-type: doc +{octicon}`tools;3em;sd-text-info`
+**Installing** +^^^ +Installing PyGMT, GMT and the required and optional dependencies. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: intro/index +:link-type: doc +{octicon}`rocket;3em;sd-text-info`
+**Intro to PyGMT** +^^^ +Tutorials to get started with PyGMT. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: gallery/index +:link-type: doc +{octicon}`image;3em;sd-text-info`
+**Gallery** +^^^ +Get an impression of what PyGMT can do for you. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: tutorials/index +:link-type: doc +{octicon}`mortar-board;3em;sd-text-info`
+**Tutorials** +^^^ +Let concepts of PyGMT in more detail. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: api/index +:link-type: doc +{octicon}`book;3em;sd-text-info`
+**API Reference** +^^^ +In depth overview of all classes, function and methods of PyGMT. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: external_resources +:link-type: doc +{octicon}`globe;3em;sd-text-info`
+**External Resources** +^^^ +External tutorials and contributions from posters and publications. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: citing +:link-type: doc +{octicon}`checklist;3em;sd-text-info`
+**Citing PyGMT** +^^^ +BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Zenodo. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: contributing +:link-type: doc +{octicon}`terminal;3em;sd-text-info`
+**Contributors Guide** +^^^ +Learn how you can get involved and make your first own contribution. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: https://forum.generic-mapping-tools.org +{octicon}`comment-discussion;3em;sd-text-info`
+**GMT Forum** +^^^ +Visit the GMT forum for finding help, asking questions and also consider helping others. :::: ::::: From ed68a57297c1c407d744b05e9e39afffe5d6306e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 19:56:51 +0200 Subject: [PATCH 34/82] Fix typos and improve formulations --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 4a91da13cff..844da510a67 100644 --- a/doc/index.md +++ b/doc/index.md @@ -320,7 +320,7 @@ Get an impression of what PyGMT can do for you. {octicon}`mortar-board;3em;sd-text-info`
**Tutorials** ^^^ -Let concepts of PyGMT in more detail. +Learn about various concepts of PyGMT in more detail. :::: ::::{grid-item-card} From 3efbd6f1083f22ca0643ac827baeaed37ce86085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 19:58:30 +0200 Subject: [PATCH 35/82] Improve formulation --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 844da510a67..8772fdc86bd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -330,7 +330,7 @@ Learn about various concepts of PyGMT in more detail. {octicon}`book;3em;sd-text-info`
**API Reference** ^^^ -In depth overview of all classes, function and methods of PyGMT. +In depth information on all classes, function and methods of PyGMT. :::: ::::{grid-item-card} From 737f0f3fb5b9f1d4a8609f30d2edd87229b2526b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 21:56:47 +0200 Subject: [PATCH 36/82] Add comments to explain landiing page setup --- doc/index.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/doc/index.md b/doc/index.md index 8772fdc86bd..5c069b3dfaf 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,12 +1,18 @@ + + ```{title} Home ``` + + :::{div} sd-d-flex-row sd-align-major-center ```{image} ./_static/pygmtlogo.png :width: 600px ``` -::: +::: + + :::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-3 A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) ::: @@ -19,11 +25,17 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::: - + + + :::::{grid} 1 3 3 3 + ::::{grid-item-card} + :margin: 0 3 0 0 + + {octicon}`rocket;3em;sd-text-info`
**Getting Started** ^^^ @@ -376,7 +388,7 @@ Visit the GMT forum for finding help, asking questions and also consider helping - + ```{toctree} :maxdepth: 2 :hidden: From f3fa22138a5c4157646f6167767637d08eac1ea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Sun, 26 Jul 2026 22:10:29 +0200 Subject: [PATCH 37/82] Move comment --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 5c069b3dfaf..e1011c6564f 100644 --- a/doc/index.md +++ b/doc/index.md @@ -31,8 +31,8 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :::::{grid} 1 3 3 3 -::::{grid-item-card} +::::{grid-item-card} :margin: 0 3 0 0 From 40265181a9f22a84263a857bd7c9324b24faa5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 27 Jul 2026 11:14:22 +0200 Subject: [PATCH 38/82] Fix typo --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index e1011c6564f..76b69429bf2 100644 --- a/doc/index.md +++ b/doc/index.md @@ -26,7 +26,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t - + :::::{grid} 1 3 3 3 From fed5cd9a4ae085972ad0ee2e0fc89595e28545f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 27 Jul 2026 11:24:33 +0200 Subject: [PATCH 39/82] Rename from 'Conference presentations' to ' Presentations' --- doc/index.md | 6 +++--- doc/{conferences.md => presentations.md} | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) rename doc/{conferences.md => presentations.md} (94%) diff --git a/doc/index.md b/doc/index.md index 76b69429bf2..dd1ad3ba1ae 100644 --- a/doc/index.md +++ b/doc/index.md @@ -82,11 +82,11 @@ PyGMT Ecosystem :shadow: Citing PyGMT ``` -```{button-ref} ../conferences +```{button-ref} ../presentations :color: secondary :outline: :shadow: -Conference Presentations +Presentations ``` :::: @@ -407,7 +407,7 @@ intro/index.rst overview.md ecosystem.md citing.md -conferences.md +presentations.md ``` ```{toctree} diff --git a/doc/conferences.md b/doc/presentations.md similarity index 94% rename from doc/conferences.md rename to doc/presentations.md index 746f699fd07..8ab98fb656e 100644 --- a/doc/conferences.md +++ b/doc/presentations.md @@ -1,6 +1,6 @@ -# Conference Presentations +# Presentations -These are conference presentations about the development of PyGMT (previously "GMT/Python"): +These are international presentations, including both talks and posters, on the development of PyGMT (previously "GMT/Python"): - "Accessing and Integrating GMT with Python and the Scientific Python Ecosystem". 2024. From f6f5158c969db843b66a733eeaa652349754a32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 27 Jul 2026 19:04:38 +0200 Subject: [PATCH 40/82] Move comment out of 'grid' to avoid sphinx warning --- doc/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index dd1ad3ba1ae..6e0e9908cb8 100644 --- a/doc/index.md +++ b/doc/index.md @@ -28,10 +28,12 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t -:::::{grid} 1 3 3 3 + +:::::{grid} 1 3 3 3 + ::::{grid-item-card} :margin: 0 3 0 0 From aefa35d60d74b15de2adeac3c042d8c3b71f4ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Wed, 29 Jul 2026 23:24:30 +0200 Subject: [PATCH 41/82] Move minversions and changelog back to Technical Reference --- doc/index.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/index.md b/doc/index.md index 6e0e9908cb8..57bd8e75b39 100644 --- a/doc/index.md +++ b/doc/index.md @@ -47,12 +47,6 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :shadow: Installing ``` -```{button-ref} ../minversions -:color: secondary -:outline: -:shadow: -Minimum Supported Versions -``` ```{button-ref} ../intro/index :color: secondary :outline: @@ -140,6 +134,18 @@ API Reference :shadow: Technical Reference ``` +```{button-ref} ../changes +:color: secondary +:outline: +:shadow: +Changelog +``` +```{button-ref} ../minversions +:color: secondary +:outline: +:shadow: +Minimum Supported Versions +``` :::: ::::{grid-item-card} @@ -159,12 +165,6 @@ Contributors Guide :shadow: Maintainers Guide ``` -```{button-ref} ../changes -:color: secondary -:outline: -:shadow: -Changelog -``` ```{button-ref} ../team :color: secondary :outline: @@ -397,7 +397,6 @@ Visit the GMT forum for finding help, asking questions and also consider helping :caption: Getting Started install.md -minversions.md intro/index.rst ``` @@ -430,6 +429,8 @@ external_resources.md api/index.rst techref/index.md +changes.md +minversions.md ``` ```{toctree} @@ -439,6 +440,5 @@ techref/index.md contributing.md maintenance.md -changes.md team.md ``` From 984c0175e11a4281755790b97a7e622331ccf90e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 08:35:52 +0200 Subject: [PATCH 42/82] Use updated externa_resources file --- doc/external_resources.md | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/doc/external_resources.md b/doc/external_resources.md index 8ec2b46cb1a..fd54f7e0ccc 100644 --- a/doc/external_resources.md +++ b/doc/external_resources.md @@ -16,7 +16,6 @@ to submit a pull request with your recommended addition to the :link: https://www.generic-mapping-tools.org/agu24workshop/ :text-align: center :margin: 0 3 0 0 - **2024 AGU PREWS9: Mastering Geospatial Visualizations with GMT/PyGMT** ^^^ ![](https://github.com/user-attachments/assets/9f3ab0ed-83f1-4cff-bc68-387fc13ca61f) @@ -28,7 +27,6 @@ Wei Ji Leong, Yvonne Fröhlich, Jing-Hui Tong, Federico Esteban, Max Jones, Andr :link: https://github.com/andrebelem/Oficina_PyGMT :text-align: center :margin: 0 3 0 0 - **2024 PyGMT Webinar using Google Colab (in Portuguese)** ^^^ ![](https://github.com/andrebelem/Oficina_PyGMT/raw/main/Datasets/3D_sample.png) @@ -40,7 +38,6 @@ Andre Belem :link: https://www.generic-mapping-tools.org/egu22pygmt/ :text-align: center :margin: 0 3 0 0 - **2022 EGU SC5.2: Crafting beautiful maps with PyGMT** ^^^ ![](https://user-images.githubusercontent.com/3974108/171653272-efaceeb1-a253-44a1-bddc-36bc9498c19b.png) @@ -49,10 +46,20 @@ Wei Ji Leong, Leonardo Uieda, Max Jones, Andre Belem :::: ::::{grid-item-card} -:link: https://github.com/liamtoney/gi-pygmt-2021 +:link: https://github.com/MIGG-NTU/PyGMT2021 :text-align: center :margin: 0 3 0 0 +**2021 PyGMT Tutorial** +^^^ +![](https://user-images.githubusercontent.com/23487320/172058757-9b68f7ae-7a3f-4f48-9df6-9a065d6cd448.png) ++++ +MIGG-NTU +:::: +::::{grid-item-card} +:link: https://github.com/liamtoney/gi-pygmt-2021 +:text-align: center +:margin: 0 3 0 0 **2021 PyGMT course at the UAF Geophysical Institute** ^^^ ![](https://user-images.githubusercontent.com/3974108/172042115-3f700c16-0f78-49d3-9e8d-87c77e4c0444.png) @@ -64,7 +71,6 @@ Liam Toney :link: https://www.youtube.com/watch?v=Zvcy7VDuhiw :text-align: center :margin: 0 3 0 0 - **2021 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 5 - Mapping** ^^^ ![](https://user-images.githubusercontent.com/3974108/172055872-b81057b6-aef3-473f-8f42-1cc82a68d188.jpg) @@ -76,7 +82,6 @@ Liam Toney :link: https://www.iris.edu/hq/inclass/lesson/728 :text-align: center :margin: 0 3 0 0 - **2020 Remote Online Sessions for Emerging Seismologists (ROSES): Unit 8 - PyGMT** ^^^ ![](https://user-images.githubusercontent.com/3974108/172055922-8df68c00-4115-42f4-83ae-13a971fef846.png) @@ -84,23 +89,10 @@ Liam Toney Liam Toney :::: -::::{grid-item-card} -:link: https://github.com/MIGG-NTU/PyGMT2021 -:text-align: center -:margin: 0 3 0 0 - -**2021 PyGMT Tutorial** -^^^ -![](https://user-images.githubusercontent.com/23487320/172058757-9b68f7ae-7a3f-4f48-9df6-9a065d6cd448.png) -+++ -MIGG-NTU -:::: - ::::{grid-item-card} :link: https://github.com/GenericMappingTools/foss4g2019oceania :text-align: center :margin: 0 3 0 0 - **2019 PyGMT Workshop at FOSS4G Oceania** ^^^ ![](https://github.com/GenericMappingTools/foss4g2019oceania/releases/download/v1/picton_3d_dsm_view.png) @@ -112,7 +104,6 @@ Wei Ji Leong :link: https://github.com/andrebelem/3D-Antarctic-maps :text-align: center :margin: 0 3 0 0 - **Crafting 3D maps of Antarctica with PyGMT and the IBCSO V2** ^^^ ![](https://github.com/andrebelem/3D-Antarctic-maps/raw/main/3D-Antarctic-Maps.png) @@ -124,7 +115,6 @@ Andre Belem :link: https://github.com/andrebelem/PlanetaryMaps :text-align: center :margin: 0 3 0 0 - **Planetary Maps (in PyGMT)** ^^^ ![](https://github.com/andrebelem/MarsMaps/raw/main/JezeroCrater.png) @@ -136,7 +126,6 @@ Andre Belem :link: https://tktmyd.github.io/pygmt-howto-jp/ :text-align: center :margin: 0 3 0 0 - **PyGMT-HOWTO** ^^^ ![](https://github.com/tktmyd/pygmt-howto-jp/raw/main/src/basics/fig/pygmt-coastline.png) @@ -154,7 +143,6 @@ Takuto Maeda :link: https://github.com/michaelgrund/GMT-plotting :text-align: center :margin: 0 3 0 0 - **GMT and PyGMT plotting examples** ^^^ ![](https://user-images.githubusercontent.com/3974108/172055991-c0646f6c-d130-474f-b46a-5587483998cb.jpg) @@ -166,7 +154,6 @@ Michael Grund :link: https://github.com/weiji14/nzasc2021 :text-align: center :margin: 0 3 0 0 - **NZ Antarctic Science Conference 2021 poster** ^^^ ![](https://user-images.githubusercontent.com/23487320/107176140-6aa4e580-6a33-11eb-8f30-1a7913788d6c.png) @@ -178,7 +165,6 @@ Wei Ji Leong :link: https://github.com/yvonnefroehlich/gmt-pygmt-plotting :text-align: center :margin: 0 3 0 0 - **PyGMT plotting examples** ^^^ ![](https://github.com/yvonnefroehlich/gmt-pygmt-plotting/raw/main/_images/github_maps_readme_main.png) From 8b5da504773964897d562b129542e5b274148432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 08:36:36 +0200 Subject: [PATCH 43/82] Use updated citing file --- doc/citing.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/doc/citing.md b/doc/citing.md index fd672b32909..2fc3c32f24d 100644 --- a/doc/citing.md +++ b/doc/citing.md @@ -1,6 +1,65 @@ # Citing PyGMT -```{include} ../README.md -:start-after: -:end-before: +If you used PyGMT in your research please consider citing PyGMT. You can either cite the +[PyGMT paper](https://doi.org/10.1029/2026GC013105) or the [Zenodo archive](https://doi.org/10.5281/zenodo.3781524) +of the PyGMT software. + +It is also strongly recommended to cite the [GMT 6 paper](https://doi.org/10.1029/2019GC008515) (which PyGMT +wraps around). Note that some modules like `dimfilter`, `surface`, and `x2sys` also have their dedicated +citations. Further information for all these can be found at . + + +The BibTeX entry for the PyGMT paper is: +``` +@article{pygmt_2026_2026GC013105, + author = {Tian, Dongdong and + Fröhlich, Yvonne and + Leong, Wei Ji and + Grund, Michael and + Schlitzer, William and + Jones, Max and + Uieda, Leonardo and + Luis, Joaquim M. F.}, + title = {{PyGMT: Bridging Python and the Generic Mapping Tools for Geospatial Visualization and Analysis}}, + journal = {Geochemistry, Geophysics, Geosystems}, + year = 2026, + volume = {27}, + number = {7}, + pages = {e2026GC013105}, + doi = {10.1029/2026GC013105}, + url = {https://doi.org/10.1029/2026GC013105}, +} +``` +The BibTeX entry for the latest Zenodo archive, i.e., release 0.19.0, of the PyGMT software is: +``` +@software{pygmt_2026_19398871, + author = {Tian, Dongdong and + Leong, Wei Ji and + Fröhlich, Yvonne and + Grund, Michael and + Schlitzer, William and + Jones, Max and + Toney, Liam and + Yao, Jiayuan and + Tong, Jing-Hui and + Magen, Yohai and + Materna, Kathryn and + Belem, Andre and + Newton, Tyler and + Anant, Abhishek and + Ziebarth, Malte and + Quinn, Jamie and + He, Xingchen and + Uieda, Leonardo and + Wessel, Paul}, + title = {{PyGMT: A Python interface for the Generic Mapping Tools}}, + month = jul, + year = 2026, + publisher = {Zenodo}, + version = {0.19.0}, + doi = {10.5281/zenodo.19398871}, + url = {https://doi.org/10.5281/zenodo.19398871} +} ``` +To cite a specific version of PyGMT, go to the [Zenodo archive](https://doi.org/10.5281/zenodo.3781524), +select the specific version, and use the "Export to BibTeX" function there. From 8a3ffe1f8159c2a2e26232ded3d9a962036e7d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 12:12:26 +0200 Subject: [PATCH 44/82] Update overview --- doc/overview.md | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/doc/overview.md b/doc/overview.md index f3dda202ff8..2647ae57dff 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -1,9 +1,8 @@ # Why PyGMT -```{include} ../README.md -:start-after: -:end-before: -``` +A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, +play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a +quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! Afterward, try the [Intro to PyGMT](intro/index.rst) on your own, visit the [Gallery](gallery/index.rst) for more impressions, go through the @@ -11,13 +10,15 @@ Afterward, try the [Intro to PyGMT](intro/index.rst) on your own, visit the available map [Projections](projections/index.rst), and finally do not forget to check out some [external PyGMT examples](external_resources)! - ## Project goals -```{include} ../README.md -:start-after: -:end-before: -``` +- Make GMT more accessible to new users. +- Build a Pythonic API for GMT. +- Interface with the GMT C API directly using ctypes (no system calls). +- Support for rich display in the Jupyter notebook. +- Integration with the [scientific Python ecosystem](https://scientific-python.org/): + `numpy.ndarray` or `pandas.DataFrame` for data tables, `xarray.DataArray` for grids, + and `geopandas.GeoDataFrame` for geographical data. ## Background @@ -45,18 +46,15 @@ We welcome any feedback and ideas! Let us know by submitting [issues on GitHub](https://github.com/GenericMappingTools/pygmt/issues) or by posting on our [Discourse forum](https://forum.generic-mapping-tools.org/c/questions/pygmt-q-a). +## Related projects -## Support - -```{include} ../README.md -:start-after: -:end-before: -``` +Other official wrappers for GMT: +- [GMT.jl](https://github.com/GenericMappingTools/GMT.jl): A Julia wrapper for GMT. +- [gmtmex](https://github.com/GenericMappingTools/gmtmex): A Matlab/Octave wrapper for GMT. -## Related projects +## Funding -```{include} ../README.md -:start-after: -:end-before: -``` +The development of PyGMT has been supported by NSF grants +[OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) and +[EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). From b0907b20f6b1f25a006eb16d45900936508a5541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 12:12:50 +0200 Subject: [PATCH 45/82] Update README --- README.md | 218 ++++++++++-------------------------------------------- 1 file changed, 40 insertions(+), 178 deletions(-) diff --git a/README.md b/README.md index b6b4546d91d..5debcb7fbe3 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,46 @@ -PyGMT - A Python interface for the Generic Mapping Tools - -[Documentation (development version)](https://www.pygmt.org/dev) | [Contact](https://forum.generic-mapping-tools.org) | [TryOnline](https://github.com/GenericMappingTools/try-gmt) - -[![Latest version on PyPI](https://img.shields.io/pypi/v/pygmt)](https://pypi.org/project/pygmt) -[![Latest version on conda-forge](https://img.shields.io/conda/v/conda-forge/pygmt)](https://anaconda.org/conda-forge/pygmt) -[![GitHub license](https://img.shields.io/github/license/GenericMappingTools/pygmt)](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt) -[![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) -[![Digital Object Identifier for the Zenodo archive](https://img.shields.io/badge/DOI-10.5281/zenodo.3781524-blue)](https://doi.org/10.5281/zenodo.3781524) -[![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) -[![PyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-submission/issues/43) -[![Contributor Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-v3.0%20adopted-ff69b4.svg)](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md) + + + PyGMT - A Python interface for the Generic Mapping Tools + + +# A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) + +[![GitHub Release](https://img.shields.io/github/v/release/GenericMappingTools/pygmt?color=1f77b4)](https://github.com/GenericMappingTools/pygmt/releases) +[![Latest version on PyPI](https://img.shields.io/pypi/v/pygmt?color=1f77b4)](https://pypi.org/project/pygmt) +[![Latest version on conda-forge](https://img.shields.io/conda/v/conda-forge/pygmt?color=1f77b4)](https://anaconda.org/conda-forge/pygmt) +[![PyPI Python Version](https://img.shields.io/pypi/pyversions/pygmt?color=1f77b4)](https://pypi.org/project/pygmt)
+[![PyGMT paper](https://img.shields.io/badge/G3%20Paper%20DOI-10.1029/2026GC013105-2ca02c)](https://doi.org/10.1029/2026GC013105) +[![Digital Object Identifier for the Zenodo archive](https://img.shields.io/badge/Zenodo%20DOI-10.5281/zenodo.3781524-2ca02c)](https://doi.org/10.5281/zenodo.3781524) +[![GitHub license](https://img.shields.io/github/license/GenericMappingTools/pygmt?color=2ca02c)](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt)
[![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) [![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) [![Test coverage status](https://codecov.io/gh/GenericMappingTools/pygmt/graph/badge.svg?token=78Fu4EWstx)](https://app.codecov.io/gh/GenericMappingTools/pygmt) -[![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) -[![CodSpeed Performance Benchmarks](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/GenericMappingTools/pygmt) ## Why PyGMT? - - -A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, -play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a -quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! - - - -Afterwards, feel free to look at our [Tutorials](https://www.pygmt.org/latest/tutorials), -visit the [Gallery](https://www.pygmt.org/latest/gallery), and check out some -[external PyGMT examples](https://www.pygmt.org/latest/external_resources.html)! - -[![Quick Introduction to PyGMT YouTube Video](https://raw.githubusercontent.com/GenericMappingTools/pygmt/refs/heads/main/doc/_static/scipy2022-youtube-thumbnail.jpg)](https://www.youtube.com/watch?v=4iPnITXrxVU) - -## About - - - PyGMT is a library for processing geospatial and geophysical data and making publication-quality maps and figures. It provides a Pythonic interface for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line program widely used across the Earth, Ocean, and Planetary sciences and beyond. - - -## Project goals - - - -- Make GMT more accessible to new users. -- Build a Pythonic API for GMT. -- Interface with the GMT C API directly using ctypes (no system calls). -- Support for rich display in the Jupyter notebook. -- Integration with the [scientific Python ecosystem](https://scientific-python.org/): - `numpy.ndarray` or `pandas.DataFrame` for data tables, `xarray.DataArray` for grids, - and `geopandas.GeoDataFrame` for geographical data. - - +A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, +play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a +quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! ## Quickstart -### Installation - -Simple installation using -[conda](https://docs.conda.io/projects/conda/en/latest/user-guide/index.html): +Install PyGMT using [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/index.html): ```bash conda install --channel conda-forge pygmt ``` -For other ways to install `pygmt`, see the [full installation instructions](https://www.pygmt.org/latest/install.html). +Then try the following example in a Python interpreter or Jupyter notebook. You should +see a global map with land and water masses colored in tan and lightblue, respectively, +with the semi-transparent text "PyGMT" on top. -### Getting started - -As a starting point, you can open a [Python interpreter](https://docs.python.org/3/tutorial/interpreter.html) -or a [Jupyter notebook](https://docs.jupyter.org/en/latest/running.html), and try the -following example: - -``` python +```python import pygmt fig = pygmt.Figure() @@ -86,11 +49,16 @@ fig.coast(land="tan", water="lightblue") fig.text(position="MC", text="PyGMT", font="40p,AvantGarde-Book,red@75") fig.show() ``` +For other ways to install PyGMT and more examples, please visit the +[PyGMT documentation](https://www.pygmt.org/). + +## Documentation -You should see a global map with land and water masses colored in tan and lightblue, -respectively. On top, there should be the semi-transparent text "PyGMT". For more examples, -please have a look at the [Gallery](https://www.pygmt.org/latest/gallery/index.html) and -[Tutorials](https://www.pygmt.org/latest/tutorials/index.html). +- [Gallery](https://www.pygmt.org/latest/gallery/index.html) and [Tutorials](https://www.pygmt.org/latest/tutorials/index.html) +- [Minimum Supported Versions](https://www.pygmt.org/dev/minversions.html) +- [Citing PyGMT](https://www.pygmt.org/dev/citing.html) +- [Related Projects](https://www.pygmt.org/dev/overview.html#related-projects) +- [Funding](https://www.pygmt.org/dev/overview.html#funding) ## Contacting us @@ -100,22 +68,15 @@ please have a look at the [Gallery](https://www.pygmt.org/latest/gallery/index.h - We have a [Discourse forum](https://forum.generic-mapping-tools.org/c/questions/pygmt-q-a) where you can ask questions and leave comments. -## Contributing - -### Code of conduct - -Please note that this project is released with a -[Contributor Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md). -By participating in this project you agree to abide by its terms. +## Code of conduct -### Contributing guidelines - -Please read our [Contributing Guide](https://github.com/GenericMappingTools/pygmt/blob/main/CONTRIBUTING.md) -to see how you can help and give feedback. +We want everyone to feel welcome to contribute to this project and participate in +discussions. In that spirit please have a look at our +[Code of Conduct](https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md). -### Imposter syndrome disclaimer +## Contributing -**We want your help.** No, really. +**Imposter syndrome disclaimer**: We want your help. No, really. There may be a little voice inside your head that is telling you that you're not ready to be an open source contributor; that your skills aren't nearly good enough to @@ -132,112 +93,13 @@ all, you can contribute code to open source. We are constantly trying out new sk making mistakes, and learning from those mistakes. That's how we all improve and we are happy to help others learn. -*This disclaimer was adapted from the* [MetPy project](https://github.com/Unidata/MetPy). - -## Citing PyGMT - - - -PyGMT is a community developed project. See the -[AUTHORS.md](https://github.com/GenericMappingTools/pygmt/blob/main/AUTHORS.md) file -on GitHub for a list of the people involved and a definition of the term "PyGMT Developers". - -Feel free to cite our work in your research. You can either cite the [PyGMT paper](https://doi.org/10.1029/2026GC013105) -published in *Geochemistry, Geophysics, Geosystems* or the Zenodo archive of the PyGMT software. - -The BibTeX entry for the PyGMT paper is: -``` -@article{pygmt_2026_2026GC013105, - author = {Tian, Dongdong and - Fröhlich, Yvonne and - Leong, Wei Ji and - Grund, Michael and - Schlitzer, William and - Jones, Max and - Uieda, Leonardo and - Luis, Joaquim M. F.}, - title = {{PyGMT: Bridging Python and the Generic Mapping Tools for Geospatial Visualization and Analysis}}, - journal = {Geochemistry, Geophysics, Geosystems}, - year = 2026, - volume = {27}, - number = {7}, - pages = {e2026GC013105}, - doi = {10.1029/2026GC013105}, - url = {https://doi.org/10.1029/2026GC013105}, -} -``` -The BibTeX entry for the latest Zenodo archive of the PyGMT software is: -``` -@software{ - pygmt_2026_19398871, - author = {Tian, Dongdong and - Leong, Wei Ji and - Fröhlich, Yvonne and - Grund, Michael and - Schlitzer, William and - Jones, Max and - Toney, Liam and - Yao, Jiayuan and - Tong, Jing-Hui and - Magen, Yohai and - Materna, Kathryn and - Belem, Andre and - Newton, Tyler and - Anant, Abhishek and - Ziebarth, Malte and - Quinn, Jamie and - He, Xingchen and - Uieda, Leonardo and - Wessel, Paul}, - title = {{PyGMT: A Python interface for the Generic Mapping Tools}}, - month = jul, - year = 2026, - publisher = {Zenodo}, - version = {0.19.0}, - doi = {10.5281/zenodo.19398871}, - url = {https://doi.org/10.5281/zenodo.19398871} -} -``` - -To cite a specific version of PyGMT, go to our Zenodo page at -and use the "Export to BibTeX" function there. It is also strongly recommended to cite -the [GMT 6 paper](https://doi.org/10.1029/2019GC008515) (which PyGMT wraps around). Note -that some modules like `dimfilter`, `surface`, and `x2sys` also have their dedicated -citations. Further information for all these can be found at . +Please read our [Contributing Guide](https://github.com/GenericMappingTools/pygmt/blob/main/CONTRIBUTING.md) +to see how you can help and give feedback. - +*This disclaimer was adapted from the* [MetPy project](https://github.com/Unidata/MetPy). ## License PyGMT is free software: you can redistribute it and/or modify it under the terms of the **BSD 3-clause License**. A copy of this license is provided in [LICENSE.txt](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt). - -## Support - - - -The development of PyGMT has been supported by NSF grants -[OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) and -[EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). - - - -## Related projects - - - -Other official wrappers for GMT: - -- [GMT.jl](https://github.com/GenericMappingTools/GMT.jl): A Julia wrapper for GMT. -- [gmtmex](https://github.com/GenericMappingTools/gmtmex): A Matlab/Octave wrapper for GMT. - - - -## Minimum supported versions - -PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) alongside the -rest of the scientific Python ecosystem, and made a few extensions based on the needs of -the project. Please see [Minimum Supported Versions](https://www.pygmt.org/dev/minversions.html) -for the detailed policy and the minimum supported versions of GMT, Python and core -package dependencies. From 8b933f9f2ce0f36fa4b7d4f5ab1eb93e3a7d950d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 12:14:04 +0200 Subject: [PATCH 46/82] Update index --- doc/index.md | 380 +-------------------------------------------------- 1 file changed, 7 insertions(+), 373 deletions(-) diff --git a/doc/index.md b/doc/index.md index 57bd8e75b39..6b85fc3a25c 100644 --- a/doc/index.md +++ b/doc/index.md @@ -18,379 +18,13 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t ::: :::{div} sd-text-center sd-fs-5 sd-pb-3 -```{include} ../README.md -:start-after: -:end-before: -``` +PyGMT is a library for processing geospatial and geophysical data and making +publication-quality maps and figures. It provides a Pythonic interface for the +[Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line +program widely used across the Earth, Ocean, and Planetary sciences and beyond. ::: - - - - - - - -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 - - -{octicon}`rocket;3em;sd-text-info`
-**Getting Started** -^^^ -```{button-ref} ../install -:color: secondary -:outline: -:shadow: -Installing -``` -```{button-ref} ../intro/index -:color: secondary -:outline: -:shadow: -Intro to PyGMT -``` -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`globe;3em;sd-text-info`
-**Project Overview** -^^^ -```{button-ref} ../overview -:color: secondary -:outline: -:shadow: -Why PyGMT -``` -```{button-ref} ../ecosystem -:color: secondary -:outline: -:shadow: -PyGMT Ecosystem -``` -```{button-ref} ../citing -:color: secondary -:outline: -:shadow: -Citing PyGMT -``` -```{button-ref} ../presentations -:color: secondary -:outline: -:shadow: -Presentations -``` -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`mortar-board;3em;sd-text-info`
-**User Guide** -^^^ -```{button-ref} ../gallery/index -:color: secondary -:outline: -:shadow: -Gallery -``` -```{button-ref} ../tutorials/index -:color: secondary -:outline: -:shadow: -Tutorials -``` -```{button-ref} ../projections/index -:color: secondary -:outline: -:shadow: -Projections -``` -```{button-ref} ../external_resources -:color: secondary -:outline: -:shadow: -External Resources -``` -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info`
-**Reference Documentation** -^^^ -```{button-ref} ../api/index -:color: secondary -:outline: -:shadow: -API Reference -``` -```{button-ref} ../techref/index -:color: secondary -:outline: -:shadow: -Technical Reference -``` -```{button-ref} ../changes -:color: secondary -:outline: -:shadow: -Changelog -``` -```{button-ref} ../minversions -:color: secondary -:outline: -:shadow: -Minimum Supported Versions -``` -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info`
-**Development** -^^^ -```{button-ref} ../contributing -:color: secondary -:outline: -:shadow: -Contributors Guide -``` -```{button-ref} ../maintenance -:color: secondary -:outline: -:shadow: -Maintainers Guide -``` -```{button-ref} ../team -:color: secondary -:outline: -:shadow: -PyGMT Team -``` -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -{octicon}`light-bulb;3em;sd-text-info`
-**Getting Help** -^^^ -```{button-link} https://forum.generic-mapping-tools.org -:color: secondary -:outline: -:shadow: -{octicon}`comment-discussion;1em;sd-text-info` GMT Forum -``` -```{button-link} https://github.com/GenericMappingTools/pygmt -:color: secondary -:outline: -:shadow: -{octicon}`mark-github;1em;sd-text-info` Source Code -``` -```{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md -:color: secondary -:outline: -:shadow: -{octicon}`code-of-conduct;1em;sd-text-info` Code of Conduct -``` -```{button-link} https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt -:color: secondary -:outline: -:shadow: -{octicon}`law;1em;sd-text-info` License -``` -:::: - -::::: - - - -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: install -:link-type: doc -{octicon}`tools;3em;sd-text-info` -^^^ -**Installing** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: intro/index -:link-type: doc -{octicon}`rocket;3em;sd-text-info` -^^^ -**Intro to PyGMT** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: gallery/index -:link-type: doc -{octicon}`image;3em;sd-text-info` -^^^ -**Gallery** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: tutorials/index -:link-type: doc -{octicon}`mortar-board;3em;sd-text-info` -^^^ -**Tutorials** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: api/index -:link-type: doc -{octicon}`book;3em;sd-text-info` -^^^ -**API Reference** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: external_resources -:link-type: doc -{octicon}`globe;3em;sd-text-info` -^^^ -**External Resources** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: citing -:link-type: doc -{octicon}`checklist;3em;sd-text-info` -^^^ -**Citing PyGMT** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: contributing -:link-type: doc -{octicon}`terminal;3em;sd-text-info` -^^^ -**Contributors Guide** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;3em;sd-text-info` -^^^ -**GMT Forum** -:::: - -::::: - - - - -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: install -:link-type: doc -{octicon}`tools;3em;sd-text-info`
-**Installing** -^^^ -Installing PyGMT, GMT and the required and optional dependencies. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: intro/index -:link-type: doc -{octicon}`rocket;3em;sd-text-info`
-**Intro to PyGMT** -^^^ -Tutorials to get started with PyGMT. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: gallery/index -:link-type: doc -{octicon}`image;3em;sd-text-info`
-**Gallery** -^^^ -Get an impression of what PyGMT can do for you. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: tutorials/index -:link-type: doc -{octicon}`mortar-board;3em;sd-text-info`
-**Tutorials** -^^^ -Learn about various concepts of PyGMT in more detail. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: api/index -:link-type: doc -{octicon}`book;3em;sd-text-info`
-**API Reference** -^^^ -In depth information on all classes, function and methods of PyGMT. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: external_resources -:link-type: doc -{octicon}`globe;3em;sd-text-info`
-**External Resources** -^^^ -External tutorials and contributions from posters and publications. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: citing -:link-type: doc -{octicon}`checklist;3em;sd-text-info`
-**Citing PyGMT** -^^^ -BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Zenodo. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: contributing -:link-type: doc -{octicon}`terminal;3em;sd-text-info`
-**Contributors Guide** -^^^ -Learn how you can get involved and make your first own contribution. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;3em;sd-text-info`
-**GMT Forum** -^^^ -Visit the GMT forum for finding help, asking questions and also consider helping others. -:::: - -::::: - - - - ```{toctree} :maxdepth: 2 :hidden: @@ -407,8 +41,8 @@ intro/index.rst overview.md ecosystem.md -citing.md presentations.md +citing.md ``` ```{toctree} @@ -416,8 +50,8 @@ presentations.md :hidden: :caption: User Guide -gallery/index.rst tutorials/index.rst +gallery/index.rst projections/index.rst external_resources.md ``` @@ -438,7 +72,7 @@ minversions.md :hidden: :caption: Development +team.md contributing.md maintenance.md -team.md ``` From 52da23ab36318112f0ae02c09d61f2f2f2532446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Mon, 3 Aug 2026 12:15:55 +0200 Subject: [PATCH 47/82] Add card-button layout for landing page --- doc/index.md | 366 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 366 insertions(+) diff --git a/doc/index.md b/doc/index.md index 6b85fc3a25c..ed191e0f8a3 100644 --- a/doc/index.md +++ b/doc/index.md @@ -25,6 +25,372 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. ::: + + + + + + + + +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 + + +{octicon}`rocket;3em;sd-text-info`
+**Getting Started** +^^^ +```{button-ref} ../install +:color: secondary +:outline: +:shadow: +Installing +``` +```{button-ref} ../intro/index +:color: secondary +:outline: +:shadow: +Intro to PyGMT +``` +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`globe;3em;sd-text-info`
+**Project Overview** +^^^ +```{button-ref} ../overview +:color: secondary +:outline: +:shadow: +Why PyGMT +``` +```{button-ref} ../ecosystem +:color: secondary +:outline: +:shadow: +PyGMT Ecosystem +``` +```{button-ref} ../presentations +:color: secondary +:outline: +:shadow: +Presentations +``` +```{button-ref} ../citing +:color: secondary +:outline: +:shadow: +Citing PyGMT +``` +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`mortar-board;3em;sd-text-info`
+**User Guide** +^^^ +```{button-ref} ../gallery/index +:color: secondary +:outline: +:shadow: +Gallery +``` +```{button-ref} ../tutorials/index +:color: secondary +:outline: +:shadow: +Tutorials +``` +```{button-ref} ../projections/index +:color: secondary +:outline: +:shadow: +Projections +``` +```{button-ref} ../external_resources +:color: secondary +:outline: +:shadow: +External Resources +``` +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`book;3em;sd-text-info`
+**Reference Documentation** +^^^ +```{button-ref} ../api/index +:color: secondary +:outline: +:shadow: +API Reference +``` +```{button-ref} ../techref/index +:color: secondary +:outline: +:shadow: +Technical Reference +``` +```{button-ref} ../changes +:color: secondary +:outline: +:shadow: +Changelog +``` +```{button-ref} ../minversions +:color: secondary +:outline: +:shadow: +Minimum Supported Versions +``` +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`terminal;3em;sd-text-info`
+**Development** +^^^ +```{button-ref} ../contributing +:color: secondary +:outline: +:shadow: +Contributors Guide +``` +```{button-ref} ../maintenance +:color: secondary +:outline: +:shadow: +Maintainers Guide +``` +```{button-ref} ../team +:color: secondary +:outline: +:shadow: +PyGMT Team +``` +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +{octicon}`light-bulb;3em;sd-text-info`
+**Getting Help** +^^^ +```{button-link} https://forum.generic-mapping-tools.org +:color: secondary +:outline: +:shadow: +{octicon}`comment-discussion;1em;sd-text-info` GMT Forum +``` +```{button-link} https://github.com/GenericMappingTools/pygmt +:color: secondary +:outline: +:shadow: +{octicon}`mark-github;1em;sd-text-info` Source Code +``` +```{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md +:color: secondary +:outline: +:shadow: +{octicon}`code-of-conduct;1em;sd-text-info` Code of Conduct +``` +```{button-link} https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt +:color: secondary +:outline: +:shadow: +{octicon}`law;1em;sd-text-info` License +``` +:::: + +::::: + + + +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: install +:link-type: doc +{octicon}`tools;3em;sd-text-info` +^^^ +**Installing** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: intro/index +:link-type: doc +{octicon}`rocket;3em;sd-text-info` +^^^ +**Intro to PyGMT** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: gallery/index +:link-type: doc +{octicon}`image;3em;sd-text-info` +^^^ +**Gallery** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: tutorials/index +:link-type: doc +{octicon}`mortar-board;3em;sd-text-info` +^^^ +**Tutorials** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: api/index +:link-type: doc +{octicon}`book;3em;sd-text-info` +^^^ +**API Reference** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: external_resources +:link-type: doc +{octicon}`globe;3em;sd-text-info` +^^^ +**External Resources** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: citing +:link-type: doc +{octicon}`checklist;3em;sd-text-info` +^^^ +**Citing PyGMT** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: contributing +:link-type: doc +{octicon}`terminal;3em;sd-text-info` +^^^ +**Contributors Guide** +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: https://forum.generic-mapping-tools.org +{octicon}`comment-discussion;3em;sd-text-info` +^^^ +**GMT Forum** +:::: + +::::: + + + + +:::::{grid} 1 3 3 3 + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: install +:link-type: doc +{octicon}`tools;3em;sd-text-info`
+**Installing** +^^^ +Installing PyGMT, GMT and the required and optional dependencies. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: intro/index +:link-type: doc +{octicon}`rocket;3em;sd-text-info`
+**Intro to PyGMT** +^^^ +Tutorials to get started with PyGMT. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: gallery/index +:link-type: doc +{octicon}`image;3em;sd-text-info`
+**Gallery** +^^^ +Get an impression of what PyGMT can do for you. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: tutorials/index +:link-type: doc +{octicon}`mortar-board;3em;sd-text-info`
+**Tutorials** +^^^ +Learn about various concepts of PyGMT in more detail. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: api/index +:link-type: doc +{octicon}`book;3em;sd-text-info`
+**API Reference** +^^^ +In depth information on all classes, function and methods of PyGMT. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: external_resources +:link-type: doc +{octicon}`globe;3em;sd-text-info`
+**External Resources** +^^^ +External tutorials and contributions from posters and publications. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: citing +:link-type: doc +{octicon}`checklist;3em;sd-text-info`
+**Citing PyGMT** +^^^ +BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Zenodo. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: contributing +:link-type: doc +{octicon}`terminal;3em;sd-text-info`
+**Contributors Guide** +^^^ +Learn how you can get involved and make your first own contribution. +:::: + +::::{grid-item-card} +:margin: 0 3 0 0 +:link: https://forum.generic-mapping-tools.org +{octicon}`comment-discussion;3em;sd-text-info`
+**GMT Forum** +^^^ +Visit the GMT forum for finding help, asking questions and also consider helping others. +:::: + +::::: + + + ```{toctree} :maxdepth: 2 :hidden: From 5b01e17f49c4cc51fb2153ffe4bb9ac2cf852e8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 11:57:04 +0200 Subject: [PATCH 48/82] Remove line break between icon and heading --- doc/index.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/doc/index.md b/doc/index.md index ed191e0f8a3..eeaa3df8245 100644 --- a/doc/index.md +++ b/doc/index.md @@ -39,8 +39,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 -{octicon}`rocket;3em;sd-text-info`
-**Getting Started** +{octicon}`rocket;3em;sd-text-info` **Getting Started** ^^^ ```{button-ref} ../install :color: secondary @@ -58,8 +57,7 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`globe;3em;sd-text-info`
-**Project Overview** +{octicon}`globe;3em;sd-text-info` **Project Overview** ^^^ ```{button-ref} ../overview :color: secondary @@ -89,8 +87,7 @@ Citing PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`mortar-board;3em;sd-text-info`
-**User Guide** +{octicon}`mortar-board;3em;sd-text-info` **User Guide** ^^^ ```{button-ref} ../gallery/index :color: secondary @@ -120,8 +117,7 @@ External Resources ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info`
-**Reference Documentation** +{octicon}`book;3em;sd-text-info` **Reference Documentation** ^^^ ```{button-ref} ../api/index :color: secondary @@ -151,8 +147,7 @@ Minimum Supported Versions ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info`
-**Development** +{octicon}`terminal;3em;sd-text-info` **Development** ^^^ ```{button-ref} ../contributing :color: secondary @@ -176,8 +171,7 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;3em;sd-text-info`
-**Getting Help** +{octicon}`light-bulb;3em;sd-text-info` **Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org :color: secondary From d003db97e06f4b2b9aae47757f0f177b6163e275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 11:58:20 +0200 Subject: [PATCH 49/82] Rename 'Reference Documentation' to 'Reference Guide' --- doc/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index eeaa3df8245..9f29d13d8ff 100644 --- a/doc/index.md +++ b/doc/index.md @@ -117,7 +117,7 @@ External Resources ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info` **Reference Documentation** +{octicon}`book;3em;sd-text-info` **Reference Guide** ^^^ ```{button-ref} ../api/index :color: secondary @@ -419,7 +419,7 @@ external_resources.md ```{toctree} :maxdepth: 2 :hidden: -:caption: Reference Documentation +:caption: Reference Guide api/index.rst techref/index.md From 81ab7c12f0ebf71cac4e6d779a21d3a275f4afa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 11:59:21 +0200 Subject: [PATCH 50/82] Reduce size of icon slightly --- doc/index.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/doc/index.md b/doc/index.md index 9f29d13d8ff..b45b0656bdb 100644 --- a/doc/index.md +++ b/doc/index.md @@ -39,7 +39,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 -{octicon}`rocket;3em;sd-text-info` **Getting Started** +{octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ ```{button-ref} ../install :color: secondary @@ -57,7 +57,7 @@ Intro to PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`globe;3em;sd-text-info` **Project Overview** +{octicon}`globe;2.5em;sd-text-info` **Project Overview** ^^^ ```{button-ref} ../overview :color: secondary @@ -87,7 +87,7 @@ Citing PyGMT ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`mortar-board;3em;sd-text-info` **User Guide** +{octicon}`mortar-board;2.5em;sd-text-info` **User Guide** ^^^ ```{button-ref} ../gallery/index :color: secondary @@ -117,7 +117,7 @@ External Resources ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`book;3em;sd-text-info` **Reference Guide** +{octicon}`book;2.5em;sd-text-info` **Reference Guide** ^^^ ```{button-ref} ../api/index :color: secondary @@ -147,7 +147,7 @@ Minimum Supported Versions ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`terminal;3em;sd-text-info` **Development** +{octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ ```{button-ref} ../contributing :color: secondary @@ -171,7 +171,7 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 -{octicon}`light-bulb;3em;sd-text-info` **Getting Help** +{octicon}`light-bulb;2.5em;sd-text-info` **Getting Help** ^^^ ```{button-link} https://forum.generic-mapping-tools.org :color: secondary @@ -209,7 +209,7 @@ PyGMT Team :margin: 0 3 0 0 :link: install :link-type: doc -{octicon}`tools;3em;sd-text-info` +{octicon}`tools;2.5em;sd-text-info` ^^^ **Installing** :::: @@ -218,7 +218,7 @@ PyGMT Team :margin: 0 3 0 0 :link: intro/index :link-type: doc -{octicon}`rocket;3em;sd-text-info` +{octicon}`rocket;2.5em;sd-text-info` ^^^ **Intro to PyGMT** :::: @@ -227,7 +227,7 @@ PyGMT Team :margin: 0 3 0 0 :link: gallery/index :link-type: doc -{octicon}`image;3em;sd-text-info` +{octicon}`image;2.5em;sd-text-info` ^^^ **Gallery** :::: @@ -236,7 +236,7 @@ PyGMT Team :margin: 0 3 0 0 :link: tutorials/index :link-type: doc -{octicon}`mortar-board;3em;sd-text-info` +{octicon}`mortar-board;2.5em;sd-text-info` ^^^ **Tutorials** :::: @@ -245,7 +245,7 @@ PyGMT Team :margin: 0 3 0 0 :link: api/index :link-type: doc -{octicon}`book;3em;sd-text-info` +{octicon}`book;2.5em;sd-text-info` ^^^ **API Reference** :::: @@ -254,7 +254,7 @@ PyGMT Team :margin: 0 3 0 0 :link: external_resources :link-type: doc -{octicon}`globe;3em;sd-text-info` +{octicon}`globe;2.5em;sd-text-info` ^^^ **External Resources** :::: @@ -263,7 +263,7 @@ PyGMT Team :margin: 0 3 0 0 :link: citing :link-type: doc -{octicon}`checklist;3em;sd-text-info` +{octicon}`checklist;2.5em;sd-text-info` ^^^ **Citing PyGMT** :::: @@ -272,7 +272,7 @@ PyGMT Team :margin: 0 3 0 0 :link: contributing :link-type: doc -{octicon}`terminal;3em;sd-text-info` +{octicon}`terminal;2.5em;sd-text-info` ^^^ **Contributors Guide** :::: @@ -280,7 +280,7 @@ PyGMT Team ::::{grid-item-card} :margin: 0 3 0 0 :link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;3em;sd-text-info` +{octicon}`comment-discussion;2.5em;sd-text-info` ^^^ **GMT Forum** :::: @@ -296,7 +296,7 @@ PyGMT Team :margin: 0 3 0 0 :link: install :link-type: doc -{octicon}`tools;3em;sd-text-info`
+{octicon}`tools;2.5em;sd-text-info`
**Installing** ^^^ Installing PyGMT, GMT and the required and optional dependencies. @@ -306,7 +306,7 @@ Installing PyGMT, GMT and the required and optional dependencies. :margin: 0 3 0 0 :link: intro/index :link-type: doc -{octicon}`rocket;3em;sd-text-info`
+{octicon}`rocket;2.5em;sd-text-info`
**Intro to PyGMT** ^^^ Tutorials to get started with PyGMT. @@ -316,7 +316,7 @@ Tutorials to get started with PyGMT. :margin: 0 3 0 0 :link: gallery/index :link-type: doc -{octicon}`image;3em;sd-text-info`
+{octicon}`image;2.5em;sd-text-info`
**Gallery** ^^^ Get an impression of what PyGMT can do for you. @@ -326,7 +326,7 @@ Get an impression of what PyGMT can do for you. :margin: 0 3 0 0 :link: tutorials/index :link-type: doc -{octicon}`mortar-board;3em;sd-text-info`
+{octicon}`mortar-board;2.5em;sd-text-info`
**Tutorials** ^^^ Learn about various concepts of PyGMT in more detail. @@ -336,7 +336,7 @@ Learn about various concepts of PyGMT in more detail. :margin: 0 3 0 0 :link: api/index :link-type: doc -{octicon}`book;3em;sd-text-info`
+{octicon}`book;2.5em;sd-text-info`
**API Reference** ^^^ In depth information on all classes, function and methods of PyGMT. @@ -346,7 +346,7 @@ In depth information on all classes, function and methods of PyGMT. :margin: 0 3 0 0 :link: external_resources :link-type: doc -{octicon}`globe;3em;sd-text-info`
+{octicon}`globe;2.5em;sd-text-info`
**External Resources** ^^^ External tutorials and contributions from posters and publications. @@ -356,7 +356,7 @@ External tutorials and contributions from posters and publications. :margin: 0 3 0 0 :link: citing :link-type: doc -{octicon}`checklist;3em;sd-text-info`
+{octicon}`checklist;2.5em;sd-text-info`
**Citing PyGMT** ^^^ BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Zenodo. @@ -366,7 +366,7 @@ BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Z :margin: 0 3 0 0 :link: contributing :link-type: doc -{octicon}`terminal;3em;sd-text-info`
+{octicon}`terminal;2.5em;sd-text-info`
**Contributors Guide** ^^^ Learn how you can get involved and make your first own contribution. @@ -375,7 +375,7 @@ Learn how you can get involved and make your first own contribution. ::::{grid-item-card} :margin: 0 3 0 0 :link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;3em;sd-text-info`
+{octicon}`comment-discussion;2.5em;sd-text-info`
**GMT Forum** ^^^ Visit the GMT forum for finding help, asking questions and also consider helping others. From 5ab9ba5b239bbe777d22bd2a83257d579832a0a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 12:36:45 +0200 Subject: [PATCH 51/82] Remove other card concepts --- doc/index.md | 182 --------------------------------------------------- 1 file changed, 182 deletions(-) diff --git a/doc/index.md b/doc/index.md index b45b0656bdb..487a50fcfba 100644 --- a/doc/index.md +++ b/doc/index.md @@ -203,188 +203,6 @@ PyGMT Team -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: install -:link-type: doc -{octicon}`tools;2.5em;sd-text-info` -^^^ -**Installing** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: intro/index -:link-type: doc -{octicon}`rocket;2.5em;sd-text-info` -^^^ -**Intro to PyGMT** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: gallery/index -:link-type: doc -{octicon}`image;2.5em;sd-text-info` -^^^ -**Gallery** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: tutorials/index -:link-type: doc -{octicon}`mortar-board;2.5em;sd-text-info` -^^^ -**Tutorials** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: api/index -:link-type: doc -{octicon}`book;2.5em;sd-text-info` -^^^ -**API Reference** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: external_resources -:link-type: doc -{octicon}`globe;2.5em;sd-text-info` -^^^ -**External Resources** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: citing -:link-type: doc -{octicon}`checklist;2.5em;sd-text-info` -^^^ -**Citing PyGMT** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: contributing -:link-type: doc -{octicon}`terminal;2.5em;sd-text-info` -^^^ -**Contributors Guide** -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;2.5em;sd-text-info` -^^^ -**GMT Forum** -:::: - -::::: - - - - -:::::{grid} 1 3 3 3 - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: install -:link-type: doc -{octicon}`tools;2.5em;sd-text-info`
-**Installing** -^^^ -Installing PyGMT, GMT and the required and optional dependencies. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: intro/index -:link-type: doc -{octicon}`rocket;2.5em;sd-text-info`
-**Intro to PyGMT** -^^^ -Tutorials to get started with PyGMT. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: gallery/index -:link-type: doc -{octicon}`image;2.5em;sd-text-info`
-**Gallery** -^^^ -Get an impression of what PyGMT can do for you. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: tutorials/index -:link-type: doc -{octicon}`mortar-board;2.5em;sd-text-info`
-**Tutorials** -^^^ -Learn about various concepts of PyGMT in more detail. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: api/index -:link-type: doc -{octicon}`book;2.5em;sd-text-info`
-**API Reference** -^^^ -In depth information on all classes, function and methods of PyGMT. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: external_resources -:link-type: doc -{octicon}`globe;2.5em;sd-text-info`
-**External Resources** -^^^ -External tutorials and contributions from posters and publications. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: citing -:link-type: doc -{octicon}`checklist;2.5em;sd-text-info`
-**Citing PyGMT** -^^^ -BibTex entries to cite PyGMT via the publication in G-Cubed and the uploads on Zenodo. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: contributing -:link-type: doc -{octicon}`terminal;2.5em;sd-text-info`
-**Contributors Guide** -^^^ -Learn how you can get involved and make your first own contribution. -:::: - -::::{grid-item-card} -:margin: 0 3 0 0 -:link: https://forum.generic-mapping-tools.org -{octicon}`comment-discussion;2.5em;sd-text-info`
-**GMT Forum** -^^^ -Visit the GMT forum for finding help, asking questions and also consider helping others. -:::: - -::::: - - - ```{toctree} :maxdepth: 2 :hidden: From 694bf7c5341768588710b7688e7e0ca172f580fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 12:58:11 +0200 Subject: [PATCH 52/82] Decrease space between buttons --- doc/_static/style.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/_static/style.css b/doc/_static/style.css index 3b703bda95c..99e5fbcec1e 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -79,6 +79,11 @@ p { --sd-color-card-footer: #FFFFFF; /* white */ } +/* Set margin below buttons */ +.sd-card-text { + margin-bottom: 10px; +} + /* Format parameters section similar to sphinx_rtd_theme v4.x.x (not a grid) */ html.writer-html5 .rst-content dl.field-list { display: initial; From 344d654b67a5aee72eed1eb25ad2af657e31e1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 15:31:27 +0200 Subject: [PATCH 53/82] Exclude changes in README --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f3fbb6bd4af..a3f17cf59a4 100644 --- a/README.md +++ b/README.md @@ -18,17 +18,36 @@ [![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) [![Test coverage status](https://codecov.io/gh/GenericMappingTools/pygmt/graph/badge.svg?token=78Fu4EWstx)](https://app.codecov.io/gh/GenericMappingTools/pygmt) + ## Why PyGMT? +A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, +play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a +quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! + +Afterwards, feel free to look at our [Tutorials](https://www.pygmt.org/latest/tutorials), +visit the [Gallery](https://www.pygmt.org/latest/gallery), and check out some +[external PyGMT examples](https://www.pygmt.org/latest/external_resources.html)! + +[![Quick Introduction to PyGMT YouTube Video](https://raw.githubusercontent.com/GenericMappingTools/pygmt/refs/heads/main/doc/_static/scipy2022-youtube-thumbnail.jpg)](https://www.youtube.com/watch?v=4iPnITXrxVU) + +## About + PyGMT is a library for processing geospatial and geophysical data and making publication-quality maps and figures. It provides a Pythonic interface for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line program widely used across the Earth, Ocean, and Planetary sciences and beyond. -A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, -play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a -quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! +## Project goals + +- Make GMT more accessible to new users. +- Build a Pythonic API for GMT. +- Interface with the GMT C API directly using ctypes (no system calls). +- Support for rich display in the Jupyter notebook. +- Integration with the [scientific Python ecosystem](https://scientific-python.org/): + `numpy.ndarray` or `pandas.DataFrame` for data tables, `xarray.DataArray` for grids, + and `geopandas.GeoDataFrame` for geographical data. ## Quickstart @@ -101,3 +120,26 @@ to see how you can help and give feedback. PyGMT is free software: you can redistribute it and/or modify it under the terms of the **BSD 3-clause License**. A copy of this license is provided in [LICENSE.txt](https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt). + +## Support + +The development of PyGMT has been supported by NSF grants +[OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) and +[EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). + +## Related projects + +Other official wrappers for GMT: + +- [GMT.jl](https://github.com/GenericMappingTools/GMT.jl): A Julia wrapper for GMT. +- [gmtmex](https://github.com/GenericMappingTools/gmtmex): A Matlab/Octave wrapper for GMT. + + + +## Minimum supported versions + +PyGMT has adopted [SPEC 0](https://scientific-python.org/specs/spec-0000/) alongside the +rest of the scientific Python ecosystem, and made a few extensions based on the needs of +the project. Please see [Minimum Supported Versions](https://www.pygmt.org/dev/minversions.html) +for the detailed policy and the minimum supported versions of GMT, Python and core +package dependencies. From a838a2bc0c33a6ed7ca498762f5ac4fdc8942350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 15:32:20 +0200 Subject: [PATCH 54/82] Exclude changes in overview --- doc/overview.md | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/doc/overview.md b/doc/overview.md index cdcd6d37280..72fa5c9538c 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -1,26 +1,6 @@ -# Why PyGMT +# Overview -A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, -play with it online on [Binder](https://github.com/GenericMappingTools/try-gmt)! For a -quicker introduction, check out our [3 minute overview](https://youtu.be/4iPnITXrxVU)! - -Afterward, try the [Intro to PyGMT](intro/index.rst) on your own, visit the -[Gallery](gallery/index.rst) for more impressions, go through the -[Tutorials](tutorials/index.rst) to learn things in more detail, look at the -available map [Projections](projections/index.rst), and finally do not forget -to check out some [external PyGMT examples](external_resources)! - -## Project goals - -- Make GMT more accessible to new users. -- Build a Pythonic API for GMT. -- Interface with the GMT C API directly using ctypes (no system calls). -- Support for rich display in the Jupyter notebook. -- Integration with the [scientific Python ecosystem](https://scientific-python.org/): - `numpy.ndarray` or `pandas.DataFrame` for data tables, `xarray.DataArray` for grids, - and `geopandas.GeoDataFrame` for geographical data. - -## Background +## About PyGMT is a Python wrapper for the [Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), @@ -40,7 +20,9 @@ PDF and PNG. The project was started in 2017 by [Leonardo Uieda](https://www.leouieda.com) and [Paul Wessel](https://en.wikipedia.org/wiki/Pål_Wessel) (the co-creator and main -developer of GMT) at the University of Hawaiʻi at Mānoa. +developer of GMT) at the University of Hawaiʻi at Mānoa. The development of PyGMT +has been supported by NSF grants [OCE-1558403](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1558403) +and [EAR-1948602](https://www.nsf.gov/awardsearch/show-award/?AWD_ID=1948602). We welcome any feedback and ideas! Let us know by submitting [issues on GitHub](https://github.com/GenericMappingTools/pygmt/issues) or by posting on From 3096030db254b4b6b3b7af6d1f9819f5ae27494f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:36:33 +0200 Subject: [PATCH 55/82] Improve comment Co-authored-by: Dongdong Tian --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 487a50fcfba..da9835720bd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,4 +1,4 @@ - + ```{title} Home ``` From e43c1068b6cc98a7d8727855399bdfabfedc8dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:38:43 +0200 Subject: [PATCH 56/82] Add link to GMT website not GitHub repo Co-authored-by: Dongdong Tian --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index da9835720bd..6f8a1c26178 100644 --- a/doc/index.md +++ b/doc/index.md @@ -20,7 +20,7 @@ A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-t :::{div} sd-text-center sd-fs-5 sd-pb-3 PyGMT is a library for processing geospatial and geophysical data and making publication-quality maps and figures. It provides a Pythonic interface for the -[Generic Mapping Tools (GMT)](https://github.com/GenericMappingTools/gmt), a command-line +[Generic Mapping Tools (GMT)](https://www.generic-mapping-tools.org/), a command-line program widely used across the Earth, Ocean, and Planetary sciences and beyond. ::: From 95603504b0ba33f981d33a8061b43c11fb9fd409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:40:01 +0200 Subject: [PATCH 57/82] Make directives consistent Co-authored-by: Dongdong Tian --- doc/index.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/index.md b/doc/index.md index 6f8a1c26178..2316aa64ec5 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,16 +1,15 @@ -```{title} Home -``` +:::{title} Home +::: -:::{div} sd-d-flex-row sd-align-major-center -```{image} ./_static/pygmtlogo.png +::::{div} sd-d-flex-row sd-align-major-center +:::{image} ./_static/pygmtlogo.png :width: 600px -``` - ::: +:::: :::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-3 From 9c6582531dcc57da69018ad8a3ddf99ff90e6a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:52:17 +0200 Subject: [PATCH 58/82] Adjust cards arragement based on screen size Co-authored-by: Dongdong Tian --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 2316aa64ec5..d932a516c00 100644 --- a/doc/index.md +++ b/doc/index.md @@ -32,7 +32,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. -:::::{grid} 1 3 3 3 +:::::{grid} 1 2 2 3 ::::{grid-item-card} :margin: 0 3 0 0 From 82a8aa228b9d47da934caceb476e06676d9cfe12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 15:56:56 +0200 Subject: [PATCH 59/82] Remove changes in conf.py --- doc/conf.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 5f515ee689a..d3484bbc652 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -210,14 +210,6 @@ html_show_sphinx = False html_context = { "menu_links": [ - ( - ' GMT Forum', - "https://forum.generic-mapping-tools.org", - ), - ( - ' Source Code', - repository_url, - ), ( ' Code of Conduct', "https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md", @@ -226,6 +218,14 @@ ' License', f"{repository_url}/blob/main/LICENSE.txt", ), + ( + ' Contact', + "https://forum.generic-mapping-tools.org", + ), + ( + ' Source Code', + repository_url, + ), ], # Custom variables to enable "Improve this page"" and "Download notebook" links "doc_path": "doc", From 6d2f8bdd0c3db084c0ec68977b919f48d71dd298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 16:34:20 +0200 Subject: [PATCH 60/82] Use two hypens for comments --- doc/index.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/index.md b/doc/index.md index d932a516c00..574a1ffba98 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,17 +1,17 @@ - + :::{title} Home ::: - - + + ::::{div} sd-d-flex-row sd-align-major-center :::{image} ./_static/pygmtlogo.png :width: 600px ::: :::: - - + + :::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-3 A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) ::: @@ -25,19 +25,19 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. - - - + + + - - + + :::::{grid} 1 2 2 3 ::::{grid-item-card} :margin: 0 3 0 0 - - + + {octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ ```{button-ref} ../install From f77dc0ff7e51f7dec78e549a3fc21efad0fcad73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 16:38:19 +0200 Subject: [PATCH 61/82] Remove blank line Co-authored-by: Dongdong Tian --- doc/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index 574a1ffba98..685c38194a6 100644 --- a/doc/index.md +++ b/doc/index.md @@ -23,8 +23,6 @@ publication-quality maps and figures. It provides a Pythonic interface for the program widely used across the Earth, Ocean, and Planetary sciences and beyond. ::: - - From 20a8e29a0fcc71ea138a38a1bb65135dcd96c771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 17:37:54 +0200 Subject: [PATCH 62/82] Adjust buttons in 'Getting Help' section --- doc/index.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/doc/index.md b/doc/index.md index 685c38194a6..71c2d0304fd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -174,13 +174,13 @@ PyGMT Team :color: secondary :outline: :shadow: -{octicon}`comment-discussion;1em;sd-text-info` GMT Forum +{octicon}`comment-discussion;1em;sd-text-info` PyGMT Q&A (GMT Forum) ``` ```{button-link} https://github.com/GenericMappingTools/pygmt :color: secondary :outline: :shadow: -{octicon}`mark-github;1em;sd-text-info` Source Code +{octicon}`mark-github;1em;sd-text-info` Bug Report (GitHub) ``` ```{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md :color: secondary @@ -188,12 +188,6 @@ PyGMT Team :shadow: {octicon}`code-of-conduct;1em;sd-text-info` Code of Conduct ``` -```{button-link} https://github.com/GenericMappingTools/pygmt/blob/main/LICENSE.txt -:color: secondary -:outline: -:shadow: -{octicon}`law;1em;sd-text-info` License -``` :::: ::::: From 3da30cb68c97b778d27893db1d073f9dcda80e5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 18:02:44 +0200 Subject: [PATCH 63/82] Change back to 'GMT Forum' --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 71c2d0304fd..9400c806bbc 100644 --- a/doc/index.md +++ b/doc/index.md @@ -174,7 +174,7 @@ PyGMT Team :color: secondary :outline: :shadow: -{octicon}`comment-discussion;1em;sd-text-info` PyGMT Q&A (GMT Forum) +{octicon}`comment-discussion;1em;sd-text-info` GMT Forum ``` ```{button-link} https://github.com/GenericMappingTools/pygmt :color: secondary From c69231aa8d8664dde5f58d264cce0b23cb7f1a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 18:43:20 +0200 Subject: [PATCH 64/82] =?UTF-8?q?=C3=9Ase=20file=20name=20without=20file?= =?UTF-8?q?=20ending=20for=20button=20links?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/index.md b/doc/index.md index 9400c806bbc..ec0de7d8190 100644 --- a/doc/index.md +++ b/doc/index.md @@ -38,13 +38,13 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. {octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ -```{button-ref} ../install +```{button-ref} install :color: secondary :outline: :shadow: Installing ``` -```{button-ref} ../intro/index +```{button-ref} intro/index :color: secondary :outline: :shadow: @@ -56,25 +56,25 @@ Intro to PyGMT :margin: 0 3 0 0 {octicon}`globe;2.5em;sd-text-info` **Project Overview** ^^^ -```{button-ref} ../overview +```{button-ref} overview :color: secondary :outline: :shadow: Why PyGMT ``` -```{button-ref} ../ecosystem +```{button-ref} ecosystem :color: secondary :outline: :shadow: PyGMT Ecosystem ``` -```{button-ref} ../presentations +```{button-ref} presentations :color: secondary :outline: :shadow: Presentations ``` -```{button-ref} ../citing +```{button-ref} citing :color: secondary :outline: :shadow: From eab8c101e0c60752ff44a8d8b2371134cf8cb3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 18:58:16 +0200 Subject: [PATCH 65/82] Add comment --- doc/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/index.md b/doc/index.md index ec0de7d8190..5efa4212ebd 100644 --- a/doc/index.md +++ b/doc/index.md @@ -23,6 +23,7 @@ publication-quality maps and figures. It provides a Pythonic interface for the program widely used across the Earth, Ocean, and Planetary sciences and beyond. ::: + @@ -193,6 +194,7 @@ PyGMT Team ::::: + ```{toctree} :maxdepth: 2 From c1e9a2f5f106bd720413099275ce7624abac941f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 19:05:50 +0200 Subject: [PATCH 66/82] Use page titles for buttons text --- doc/index.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/doc/index.md b/doc/index.md index 5efa4212ebd..0e2b42403c3 100644 --- a/doc/index.md +++ b/doc/index.md @@ -43,13 +43,11 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :color: secondary :outline: :shadow: -Installing ``` ```{button-ref} intro/index :color: secondary :outline: :shadow: -Intro to PyGMT ``` :::: @@ -61,25 +59,21 @@ Intro to PyGMT :color: secondary :outline: :shadow: -Why PyGMT ``` ```{button-ref} ecosystem :color: secondary :outline: :shadow: -PyGMT Ecosystem ``` ```{button-ref} presentations :color: secondary :outline: :shadow: -Presentations ``` ```{button-ref} citing :color: secondary :outline: :shadow: -Citing PyGMT ``` :::: @@ -91,25 +85,21 @@ Citing PyGMT :color: secondary :outline: :shadow: -Gallery ``` ```{button-ref} ../tutorials/index :color: secondary :outline: :shadow: -Tutorials ``` ```{button-ref} ../projections/index :color: secondary :outline: :shadow: -Projections ``` ```{button-ref} ../external_resources :color: secondary :outline: :shadow: -External Resources ``` :::: @@ -121,25 +111,21 @@ External Resources :color: secondary :outline: :shadow: -API Reference ``` ```{button-ref} ../techref/index :color: secondary :outline: :shadow: -Technical Reference ``` ```{button-ref} ../changes :color: secondary :outline: :shadow: -Changelog ``` ```{button-ref} ../minversions :color: secondary :outline: :shadow: -Minimum Supported Versions ``` :::: From 148b2ca073560ce58649102bfd8fecc85a624955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 19:09:45 +0200 Subject: [PATCH 67/82] Add comment --- doc/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/index.md b/doc/index.md index 0e2b42403c3..c58133a2508 100644 --- a/doc/index.md +++ b/doc/index.md @@ -39,6 +39,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. {octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ + ```{button-ref} install :color: secondary :outline: From 880236dfe5faaaf0c33096a1e12d97597fe401f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 19:45:17 +0200 Subject: [PATCH 68/82] Move comment Co-authored-by: Dongdong Tian --- doc/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index c58133a2508..ba398357c96 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,8 +1,7 @@ - - :::{title} Home ::: + ::::{div} sd-d-flex-row sd-align-major-center From 6ca7918716541fa77b06d8ad603d0ce647c9936a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 19:45:46 +0200 Subject: [PATCH 69/82] Combine comments Co-authored-by: Dongdong Tian --- doc/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index ba398357c96..0f1f65b1294 100644 --- a/doc/index.md +++ b/doc/index.md @@ -2,8 +2,7 @@ ::: - - + ::::{div} sd-d-flex-row sd-align-major-center :::{image} ./_static/pygmtlogo.png :width: 600px From 9b8e969db6b9d08f0c5aca7b23c40196547c854d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Thu, 6 Aug 2026 19:47:44 +0200 Subject: [PATCH 70/82] Make directives consistent for buttons Co-authored-by: Dongdong Tian --- doc/index.md | 82 ++++++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 44 deletions(-) diff --git a/doc/index.md b/doc/index.md index 0f1f65b1294..e16baf317b1 100644 --- a/doc/index.md +++ b/doc/index.md @@ -38,142 +38,136 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. {octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ -```{button-ref} install +:::{button-ref} install :color: secondary :outline: :shadow: -``` -```{button-ref} intro/index +::: +:::{button-ref} intro/index :color: secondary :outline: :shadow: -``` +::: :::: ::::{grid-item-card} :margin: 0 3 0 0 {octicon}`globe;2.5em;sd-text-info` **Project Overview** ^^^ -```{button-ref} overview +:::{button-ref} overview :color: secondary :outline: :shadow: -``` -```{button-ref} ecosystem +::: +:::{button-ref} ecosystem :color: secondary :outline: :shadow: -``` -```{button-ref} presentations +::: +:::{button-ref} presentations :color: secondary :outline: :shadow: -``` -```{button-ref} citing +::: +:::{button-ref} citing :color: secondary :outline: :shadow: -``` +::: :::: ::::{grid-item-card} :margin: 0 3 0 0 {octicon}`mortar-board;2.5em;sd-text-info` **User Guide** ^^^ -```{button-ref} ../gallery/index +:::{button-ref} ../gallery/index :color: secondary :outline: :shadow: -``` -```{button-ref} ../tutorials/index +::: +:::{button-ref} ../tutorials/index :color: secondary :outline: :shadow: -``` -```{button-ref} ../projections/index +::: +:::{button-ref} ../projections/index :color: secondary :outline: :shadow: -``` -```{button-ref} ../external_resources +::: +:::{button-ref} ../external_resources :color: secondary :outline: :shadow: -``` +::: :::: ::::{grid-item-card} :margin: 0 3 0 0 {octicon}`book;2.5em;sd-text-info` **Reference Guide** ^^^ -```{button-ref} ../api/index +:::{button-ref} ../api/index :color: secondary :outline: :shadow: -``` -```{button-ref} ../techref/index +::: +:::{button-ref} ../techref/index :color: secondary :outline: :shadow: -``` -```{button-ref} ../changes +::: +:::{button-ref} ../changes :color: secondary :outline: :shadow: -``` -```{button-ref} ../minversions +::: +:::{button-ref} ../minversions :color: secondary :outline: :shadow: -``` +::: :::: ::::{grid-item-card} :margin: 0 3 0 0 {octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ -```{button-ref} ../contributing +:::{button-ref} ../contributing :color: secondary :outline: :shadow: Contributors Guide -``` -```{button-ref} ../maintenance +::: +:::{button-ref} ../maintenance :color: secondary :outline: :shadow: Maintainers Guide -``` -```{button-ref} ../team -:color: secondary -:outline: -:shadow: -PyGMT Team -``` +::: :::: ::::{grid-item-card} :margin: 0 3 0 0 {octicon}`light-bulb;2.5em;sd-text-info` **Getting Help** ^^^ -```{button-link} https://forum.generic-mapping-tools.org +:::{button-link} https://forum.generic-mapping-tools.org :color: secondary :outline: :shadow: {octicon}`comment-discussion;1em;sd-text-info` GMT Forum -``` -```{button-link} https://github.com/GenericMappingTools/pygmt +::: +:::{button-link} https://github.com/GenericMappingTools/pygmt :color: secondary :outline: :shadow: {octicon}`mark-github;1em;sd-text-info` Bug Report (GitHub) -``` -```{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md +::: +:::{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md :color: secondary :outline: :shadow: {octicon}`code-of-conduct;1em;sd-text-info` Code of Conduct -``` +::: :::: ::::: From 1264c52e3bde9ac59acd24f45a11ec2f8835eefb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 19:50:33 +0200 Subject: [PATCH 71/82] Remove css style for banner --- doc/_static/style.css | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/doc/_static/style.css b/doc/_static/style.css index 99e5fbcec1e..4d958532f1f 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -38,16 +38,6 @@ p { margin-bottom: 0px; } -.banner { - padding-bottom: 60px; - text-align: center; -} - -.banner h1 { - margin-top: 40px; - font-size: 4em; -} - .wy-nav-content { max-width: 1000px; } From 611162d78a86d67ff0119e408be138693d7b6acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 20:06:14 +0200 Subject: [PATCH 72/82] Remove button text --- doc/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/index.md b/doc/index.md index e16baf317b1..12ab9826db9 100644 --- a/doc/index.md +++ b/doc/index.md @@ -136,13 +136,11 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :color: secondary :outline: :shadow: -Contributors Guide ::: :::{button-ref} ../maintenance :color: secondary :outline: :shadow: -Maintainers Guide ::: :::: From 893052dac2b00ff7128a4536fedb007cd73fda12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 20:09:59 +0200 Subject: [PATCH 73/82] Remove more '../' form links --- doc/index.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/index.md b/doc/index.md index 12ab9826db9..a8442825382 100644 --- a/doc/index.md +++ b/doc/index.md @@ -80,22 +80,22 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`mortar-board;2.5em;sd-text-info` **User Guide** ^^^ -:::{button-ref} ../gallery/index +:::{button-ref} gallery/index :color: secondary :outline: :shadow: ::: -:::{button-ref} ../tutorials/index +:::{button-ref} tutorials/index :color: secondary :outline: :shadow: ::: -:::{button-ref} ../projections/index +:::{button-ref} projections/index :color: secondary :outline: :shadow: ::: -:::{button-ref} ../external_resources +:::{button-ref} external_resources :color: secondary :outline: :shadow: @@ -106,22 +106,22 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`book;2.5em;sd-text-info` **Reference Guide** ^^^ -:::{button-ref} ../api/index +:::{button-ref} api/index :color: secondary :outline: :shadow: ::: -:::{button-ref} ../techref/index +:::{button-ref} techref/index :color: secondary :outline: :shadow: ::: -:::{button-ref} ../changes +:::{button-ref} changes :color: secondary :outline: :shadow: ::: -:::{button-ref} ../minversions +:::{button-ref} minversions :color: secondary :outline: :shadow: @@ -132,12 +132,12 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ -:::{button-ref} ../contributing +:::{button-ref} contributing :color: secondary :outline: :shadow: ::: -:::{button-ref} ../maintenance +:::{button-ref} maintenance :color: secondary :outline: :shadow: From 7381d73ebc557aa14db7861561101d0643986ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Thu, 6 Aug 2026 20:12:52 +0200 Subject: [PATCH 74/82] Make sidebar and buttons order idenical --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index a8442825382..e3b01c6a802 100644 --- a/doc/index.md +++ b/doc/index.md @@ -198,8 +198,8 @@ citing.md :hidden: :caption: User Guide -tutorials/index.rst gallery/index.rst +tutorials/index.rst projections/index.rst external_resources.md ``` From 686c53d27f15c5113f0be191102e3ac7f347fa88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 08:44:32 +0200 Subject: [PATCH 75/82] Move Tutorials befor Gallery --- doc/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/index.md b/doc/index.md index e3b01c6a802..d0a9730bfd2 100644 --- a/doc/index.md +++ b/doc/index.md @@ -80,12 +80,12 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`mortar-board;2.5em;sd-text-info` **User Guide** ^^^ -:::{button-ref} gallery/index +:::{button-ref} tutorials/index :color: secondary :outline: :shadow: ::: -:::{button-ref} tutorials/index +:::{button-ref} gallery/index :color: secondary :outline: :shadow: @@ -198,8 +198,8 @@ citing.md :hidden: :caption: User Guide -gallery/index.rst tutorials/index.rst +gallery/index.rst projections/index.rst external_resources.md ``` From bc608484717e1dec9f36e3fc717af73212496855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 08:52:38 +0200 Subject: [PATCH 76/82] Add missing button for 'PyGMT Team' --- doc/index.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index d0a9730bfd2..ff08360015b 100644 --- a/doc/index.md +++ b/doc/index.md @@ -142,6 +142,11 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :outline: :shadow: ::: +:::{button-ref} team +:color: secondary +:outline: +:shadow: +::: :::: ::::{grid-item-card} @@ -220,7 +225,7 @@ minversions.md :hidden: :caption: Development -team.md contributing.md maintenance.md +team.md ``` From 7b9a9220c34c2bfe2c82a81fd9f7751ca506b587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 08:54:55 +0200 Subject: [PATCH 77/82] Move 'PyGMT Team' at the top --- doc/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/index.md b/doc/index.md index ff08360015b..6097460a225 100644 --- a/doc/index.md +++ b/doc/index.md @@ -132,17 +132,17 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ -:::{button-ref} contributing +:::{button-ref} team :color: secondary :outline: :shadow: ::: -:::{button-ref} maintenance +:::{button-ref} contributing :color: secondary :outline: :shadow: ::: -:::{button-ref} team +:::{button-ref} maintenance :color: secondary :outline: :shadow: @@ -225,7 +225,7 @@ minversions.md :hidden: :caption: Development +team.md contributing.md maintenance.md -team.md ``` From 038b8ec8f1b66f959927422cec978f00d41bb66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 09:06:31 +0200 Subject: [PATCH 78/82] Move 'Changes' after 'Min sup versions' --- doc/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/index.md b/doc/index.md index 6097460a225..21b29c0c908 100644 --- a/doc/index.md +++ b/doc/index.md @@ -116,12 +116,12 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :outline: :shadow: ::: -:::{button-ref} changes +:::{button-ref} minversions :color: secondary :outline: :shadow: ::: -:::{button-ref} minversions +:::{button-ref} changes :color: secondary :outline: :shadow: @@ -216,8 +216,8 @@ external_resources.md api/index.rst techref/index.md -changes.md minversions.md +changes.md ``` ```{toctree} From 54934655bf7041281510d9ed5401c98d698732a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 09:09:27 +0200 Subject: [PATCH 79/82] Link to issues on GitHub --- doc/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.md b/doc/index.md index 21b29c0c908..5a7a116966d 100644 --- a/doc/index.md +++ b/doc/index.md @@ -159,7 +159,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :shadow: {octicon}`comment-discussion;1em;sd-text-info` GMT Forum ::: -:::{button-link} https://github.com/GenericMappingTools/pygmt +:::{button-link} https://github.com/GenericMappingTools/pygmt/issues :color: secondary :outline: :shadow: From d50d607b54b7d002421537ec9f0bee68dba21541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 09:27:58 +0200 Subject: [PATCH 80/82] Improve icons --- doc/conf.py | 4 ++-- doc/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index f28cfeb87bb..c391f7d1654 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -215,11 +215,11 @@ "https://forum.generic-mapping-tools.org", ), ( - ' Bug Report (GitHub)', + ' Bug Report (GitHub)', f"{repository_url}/issues", ), ( - ' Code of Conduct', + ' Code of Conduct', "https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md", ), ], diff --git a/doc/index.md b/doc/index.md index 5a7a116966d..7745a780652 100644 --- a/doc/index.md +++ b/doc/index.md @@ -163,7 +163,7 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :color: secondary :outline: :shadow: -{octicon}`mark-github;1em;sd-text-info` Bug Report (GitHub) +{octicon}`bug;1em;sd-text-info` Bug Report (GitHub) ::: :::{button-link} https://github.com/GenericMappingTools/.github/blob/main/CODE_OF_CONDUCT.md :color: secondary From bf04075e1353df2129a03da65343e8e976b9bf76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= <94163266+yvonnefroehlich@users.noreply.github.com> Date: Fri, 7 Aug 2026 09:35:44 +0200 Subject: [PATCH 81/82] Remove comments to explain sphinx design RTD synthax Co-authored-by: Dongdong Tian --- doc/index.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/doc/index.md b/doc/index.md index 7745a780652..3b81cf7ace7 100644 --- a/doc/index.md +++ b/doc/index.md @@ -9,7 +9,6 @@ ::: :::: - :::{div} sd-text-center sd-fs-3 sd-pt-3 sd-pb-3 A Python interface for the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) ::: @@ -23,21 +22,12 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. - - - - - - :::::{grid} 1 2 2 3 ::::{grid-item-card} :margin: 0 3 0 0 - - {octicon}`rocket;2.5em;sd-text-info` **Getting Started** ^^^ - :::{button-ref} install :color: secondary :outline: From eec42511e4ef5e733260b116ffbd1a229fee7378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yvonne=20Fr=C3=B6hlich?= Date: Fri, 7 Aug 2026 12:15:14 +0200 Subject: [PATCH 82/82] Revert "Move 'PyGMT Team' at the top" This reverts commit 7b9a9220c34c2bfe2c82a81fd9f7751ca506b587. --- doc/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/index.md b/doc/index.md index 3b81cf7ace7..5d179a366a2 100644 --- a/doc/index.md +++ b/doc/index.md @@ -122,17 +122,17 @@ program widely used across the Earth, Ocean, and Planetary sciences and beyond. :margin: 0 3 0 0 {octicon}`terminal;2.5em;sd-text-info` **Development** ^^^ -:::{button-ref} team +:::{button-ref} contributing :color: secondary :outline: :shadow: ::: -:::{button-ref} contributing +:::{button-ref} maintenance :color: secondary :outline: :shadow: ::: -:::{button-ref} maintenance +:::{button-ref} team :color: secondary :outline: :shadow: @@ -215,7 +215,7 @@ changes.md :hidden: :caption: Development -team.md contributing.md maintenance.md +team.md ```