diff --git a/README.md b/README.md index b7c255b6e64..b6b4546d91d 100644 --- a/README.md +++ b/README.md @@ -16,14 +16,17 @@ [![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)! @@ -32,13 +35,19 @@ 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. - Build a Pythonic API for GMT. - Interface with the GMT C API directly using ctypes (no system calls). @@ -47,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 @@ -125,6 +136,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". @@ -192,6 +205,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 @@ -200,18 +215,24 @@ 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 diff --git a/doc/_static/style.css b/doc/_static/style.css index 7c8c7509b26..3b703bda95c 100644 --- a/doc/_static/style.css +++ b/doc/_static/style.css @@ -71,6 +71,14 @@ p { border: solid 2px #b4c7e7; } +/* Change color of cards */ +/* https://sphinx-design.readthedocs.io/en/rtd-theme/css_variables.html */ +:root { + --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) */ html.writer-html5 .rst-content dl.field-list { display: initial; diff --git a/doc/citing.md b/doc/citing.md new file mode 100644 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/conf.py b/doc/conf.py index d3484bbc652..5f515ee689a 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/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 diff --git a/doc/index.md b/doc/index.md index fa9f1a96f22..57bd8e75b39 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,37 +1,423 @@ + + ```{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/) +::: +:::{div} sd-text-center sd-fs-5 sd-pb-3 ```{include} ../README.md -:start-after: -:end-before: -:relative-images: +:start-after: +:end-before: +``` +::: + + + + + + + + + +:::::{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: :caption: Getting Started -overview.md install.md intro/index.rst ``` +```{toctree} +:maxdepth: 2 +:hidden: +:caption: Project Overview + +overview.md +ecosystem.md +citing.md +presentations.md +``` + ```{toctree} :maxdepth: 2 :hidden: :caption: User Guide -tutorials/index.rst gallery/index.rst +tutorials/index.rst projections/index.rst external_resources.md ``` @@ -45,7 +431,6 @@ api/index.rst techref/index.md changes.md minversions.md -ecosystem.md ``` ```{toctree} @@ -53,7 +438,7 @@ ecosystem.md :hidden: :caption: Development -team.md contributing.md maintenance.md +team.md ``` diff --git a/doc/overview.md b/doc/overview.md index f75868fa7c7..f3dda202ff8 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -1,6 +1,25 @@ -# Overview +# Why PyGMT -## About +```{include} ../README.md +:start-after: +:end-before: +``` + +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 + +```{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 +39,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: +``` diff --git a/doc/presentations.md b/doc/presentations.md new file mode 100644 index 00000000000..8ab98fb656e --- /dev/null +++ b/doc/presentations.md @@ -0,0 +1,62 @@ +# Presentations + +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. + 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%"}