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 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 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..
Contributions in PyGMT are a team effort . 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!
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).
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!
- + *Design a logo for PyGMT!
- Integration with PyData ecosystem:
- *Add a beginner friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users (#770)
- More features/enhancements :
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)
- Require GMT>=6.3.0, i.e. drop GMT<=6.2.0. For the brave folks, feel free to test using
-
v0.7.0 (~Feb/Mar 2022 before EGU conference)
pygmt.info
andFigure.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!
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!
- AGU 2021 session (18 Dec 2021). A 3 minute e-Lightning talk and virtual poster will be presented, see abstract at https://agu.confex.com/agu/fm21/meetingapp.cgi/Paper/916483 for more details.
- EGU 2022 short-course (3-8 Apr 2022). This will likely be a hybrid (online/in-person) 3.5 hour workshop covering the basics of using PyGMT. See abstract at CO Meeting Organizer EGU22 for more details. Information on how to register for the workshop will be posted next year.
- Keen to organize a conference or online workshop in 2022 for your continent? Reach out to the team and we can help to support it!
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
P.S. Share the word on Twitter , #PyGMT @gmt_dev!