PyGMT v0.5.0 released

PyGMT v0.5.0 released

Announcing PyGMT v0.5.0, covering 12 new PyGMT functions!

The PyGMT team is pleased to present version v0.5.0, a jam-packed release made by 15 awesome open source :woman_technologist: contributors! Here are the highlights:

  • Wrapped 12 GMT modules
  • Standardized and reordered table inputs to be ‘data, x, y, z’ across functions (#1479)
  • Added a gallery example showing usage of line objects from a geopandas.GeoDataFrame (#1474)

The full list of changes can be found in the changelog. Installation/Upgrade instructions can be found at Installing — PyGMT, or you can try it online first at try-gmt! If you’ve been using PyGMT in your work, please remember to :memo: cite the Digital Object Identifier (DOI) of the version used. We’ve made it easier this release with a CITATION.cff file that enables a button to ‘Cite this repository’ on GitHub, or you can copy the BibTeX from GitHub - GenericMappingTools/pygmt: A Python interface for the Generic Mapping Tools..

image

Contributions in PyGMT are a team effort :people_holding_hands:. Special shoutout to @arleaman, @BeckySalvage, @daroari, @obaney and @srijac for contributing during the 2021 ESWN PyGMT development workshop! Big cheers also to first time contributor @aitorres for adding support for pathlib.Path inputs, and to returning contributor @claudiodsf for wrapping the project module for reprojecting data!

We’d also like to give a big thank you to all the maintainers in PyGMT and GMT for contributing behind the scenes to make all of this possible. Head over to the team gallery to see who they are! We always welcome new contributors to join in and contribute to this amazing open source project, so find us on GitHub at GitHub - GenericMappingTools/pygmt: A Python interface for the Generic Mapping Tools. and say hi!

:bulb: New gallery examples

Thanks to @yohaimagen for adding an example on making hillshade maps using grdgradient and to @mgrund for adding examples on masking wet-dry land areas, plotting fancy text symbols, and plotting road lines from geopandas.GeoDataFrame objects! All of these colorful examples can be found at the PyGMT gallery (click on the image below).

Gallery in PyGMT v0.5.0

:railway_track: Roadmap to v0.6.0

For the next minor release, here are some things we have planned. Items marked with an asterisk (*) are those we need people to help with!

  • :globe_with_meridians: + :snake: *Design a logo for PyGMT!
  • Integration with PyData :snake: ecosystem:
    • rioxarray - to read RGB GeoTIFF files (#1555)
    • *ObsPy - to process seismological data (#967)
  • *Add a beginner :beginner: friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users (#770)
  • More features/enhancements :sparkles::
    • Wrap more GMT modules, e.g.,
      • *movie (#1347)
      • triangulate (#731)
      • grdhisteq (#1433)
      • grdmix (#1437)
      • *(tell us what function you’d like to use!)
    • Add Figure.hlines() and Figure.vlines() for plotting horizontal and vertical lines (#670)
    • *Support plotting text in paragraph mode (#1078)

:warning: Upcoming deprecations

No one likes software that breaks suddenly. To ensure a bug-free product and consistency, these are some of the deprecations coming up for future releases of PyGMT:

  • v0.6.0 (~Dec 2021/Jan 2022 after AGU Fall Meeting)

    • Require GMT>=6.3.0, i.e. drop GMT<=6.2.0. For the brave folks, feel free to test using conda install -c conda-forge/label/dev gmt.
    • NEP29: drop support for NumPy 1.18 so that NumPy 1.19 or above is required
    • Aliases “columns” and “sizes” are replaced by “incols” and “size” respectively (FutureWarning raised since PyGMT v0.4.0)
  • v0.7.0 (~Feb/Mar 2022 before EGU conference)

    • pygmt.info and Figure.histogram Deprecate parameter “table” to “data” (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: Deprecate parameter “columns” to “incols” (FutureWarning raised since PyGMT v0.5.0)
    • pygmt.surface: Deprecate parameter “outfile” to “outgrid” (FutureWarning raised since PyGMT v0.5.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 presentations/workshops

It’s the season for major scientific conferences in the US and Europe. Be sure to tag us on social media if you have a poster made using #PyGMT, and check out our sessions listed below if you’re keen!

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 early October 2021, and are active on this forum and GitHub.

Onwards :rocket:

P.S. Share the word on Twitter :bird:, #PyGMT @gmt_dev!

3 Likes