PyGMT v0.6.0 released

PyGMT v0.6.0 released

Announcing PyGMT v0.6.0, 3 new functions and 14 inline examples!

:clap: Round of applause for version v0.6.0 ! It’s taken longer :clock3: than usual, but the Pi-GMT team have really put a lot more thought into user friendliness :children_crossing: this time and ramped up our documentation game! It did take a bit circling back and forth, but pun-aside, here are the highlights:

  • New inline examples for 14 functions!
  • Single pygmt.datasets.load_sample_data function for loading any sample dataset (#1685)
  • Minimum required GMT version is now 6.3.0 (#1649)

Full list of changes can be found in the changelog and installation/upgrade :arrow_up: instructions are at https://www.pygmt.org/v0.6.0/install.html!. For those of you with M1 chips, there’s also new ARM OSX builds for GMT on conda-forge so try it out and let us know how it goes. Oh, and if you’re still in the dark about what PyGMT is all about, watch this new 3 min intro video (kudos to @maxrjones)!

Quick Introduction to PyGMT YouTube Video

For anyone missing @liamtoney’s ROSES video (and have an hour to spare), make sure to check out his 2021 version at https://www.youtube.com/watch?v=Zvcy7VDuhiw. We’re always on the lookout for great content, so if you’ve got a tutorial video, blog post or cool Jupyter Notebook, go and add it to External Resources — PyGMT!

You might not know it, but small contributions do add up over time :seedling:. From new contributor @jbusecke’s quick addition of an badge, to @willschlitzer’s and @mgrund’s dizzying addition of more than a dozen inline examples :exploding_head:! Not to say that there hasn’t been any drama after the GMT 6.3 release (cough, new remote-datasets), but the PyGMT and GMT maintainers do a lot of work as a team :people_holding_hands: to iron out those out. So those of you thinking of joining, like you, yes you! If you’ve got time, we’ve got time - go head over to GitHub - GenericMappingTools/pygmt: A Python interface for the Generic Mapping Tools. and say hi!

:bulb: New gallery examples

In addition to all the new inline examples, there’s also two new gallery examples - one for blockmean and one for generating points along great circles using project (thanks @mgrund!). The tutorials on the sidebar have also been reorganized, and we’re looking at expanding the list. Click on the animation below to check them out!

Gallery in PyGMT v0.6.0

:railway_track: Roadmap to v0.7.0

What’s in the pipeline for the next minor release? Here’s some ideas! Items marked with an asterisk (:eight_spoked_asterisk:) are open for contributions!

  • Integration with PyData :snake: ecosystem:
    • rioxarray - to read RGB GeoTIFF files (#1555)
    • ObsPy - to process seismological data (#967) :eight_spoked_asterisk:
  • :globe_with_meridians: :snake: Design a logo for PyGMT! :eight_spoked_asterisk:
  • Add a beginner :beginner: friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users (#770) :eight_spoked_asterisk:
  • More features/enhancements :sparkles::

:warning: Upcoming deprecations/removals

Did your code break right before that conference presentation? Don’t say we didn’t warn you! Sometimes change is needed for consistentency or to fix bugs :beetle:. Anyways, here are some pending deprecations coming up for future releases of PyGMT:

  • v0.7.0 (~Jun/Jul 2022 after EGU22 conference, before Scipy 2022)
    • NEP29: drop support for NumPy 1.19 so that NumPy 1.20 or above is required
    • pygmt.info and Figure.histogram Remove parameter “table”, use “data” instead (FutureWarning raised since PyGMT v0.5.0)
    • In 9 modules: Reorder input parameters to ‘data, x, y, z’ (FutureWarning raised since PyGMT v0.5.0)
    • Figure.wiggle: Remove parameter “columns”, use “incols” instead (FutureWarning raised since PyGMT v0.5.0)
    • pygmt.surface: Remove parameter “outfile”, use “outgrid” instead (FutureWarning raised since PyGMT v0.5.0)
  • v0.8.0 (~Oct/Nov 2022 before AGU Fall Meeting)
    • Require GMT>=6.4.0, i.e. drop GMT<=6.3.0. For the brave folks, feel free to test using conda install -c conda-forge/label/dev gmt.
    • Aliases “columns” and “sizes” are replaced by “incols” and “size” respectively (FutureWarning raised since PyGMT v0.4.0)
  • v0.9.0 (early 2023?)
    • Remove pygmt.dataset.load_hotspots/load_japan_quakes/load_mars_shape/load_ocean_ridge_points/load_sample_bathymetry/load_usgs_quakes, please use pygmt.datasets.load_sample_data() instead (FutureWarning raised since PyGMT v0.6.0)
  • v1.0.0 (?)
    • Short form aliases (e.g. ‘R’) will not work if long form aliases (e.g. ‘region’) are available (SyntaxWarning raised since PyGMT v0.4.0, see #1316)

The compatibility matrix will be listed on PyGMT, so make sure you keep things up to date!

:world_map: Conference workshops/talks/sprints

Who wants to join another virtual conference! Yes yes, as much as we would like to meet you all in person, travelling is still a little tricky so we’d rather be safe than sorry. Here are the dates to mark on your calendar:

Feel free to reach out to the PyGMT team during those conferences, or anytime in between! We have quarterly PyGMT community meetings (see the last one in Jan 2022, and are active on this forum and GitHub.

:pray: Thanks for trying PyGMT!

Last but not least, we really want to express our gratitude to you - the user - for downloading this random piece of software and trying to make it work! We’ve had an external review from PyOpenSci and realized that there’s still some polish needed, but we’re proud of the great community and strong foundation developed over the years and are keen to push things forward! In the meantime, remember to cite :memo: this Digital Object Identifier (DOI) if you use PyGMT in your work. Your beautiful plots are what keeps us going. So click on that ‘Cite this repository’ button on GitHub, or just copy the BibTeX from GitHub - GenericMappingTools/pygmt: A Python interface for the Generic Mapping Tools. and paste it into your next paper’s Acknowledgements!

image

:rocket: Now go share #PyGMT on Twitter @gmt_dev :bird: and Instagram @genericmappingtools :camera_with_flash:

2 Likes