Announcing PyGMT v0.4.0, covering 10 new PyGMT functions and methods!
The PyGMT team is pleased to present version v0.4.0, a release with 6 new gallery examples, 2 new tutorials, an improved contributors guide, numerous bug fixes, and much more! The highlights for this release include:
- Added tutorials for plotting datetime data (#1193) and vectors (#1070)
- Support tab auto-completion in Jupyter (#1282)
- Minimum required GMT version is now 6.2.0 or newer (#1321)
The full list of changes can be found in the changelog. Installation/Upgrade instructions can be found at https://www.pygmt.org/v0.4.0/install.html, or you can try it online first at try-gmt! A big shout out to @noorbuchi, @cklima616, @munzekm, and @Nathandloria from Allegheny College for making two cool tutorials for plotting datetime data and vectors. Cheers to @eemcmullan for adding examples for the three oblique mercator projections (1, 2, and 3). Thank you also to @itsabhianant, @MichaeINeumann, @xdshivani, @alperen-kilic, @Lawqup, @mdtanker, @shahid-0, and @vitorgt for some improvements and quick fixes to our documentation; we appreciate all contributions be it big or small and welcome new contributors to PyGMT !
One thing we sneaked in is support for plotting geopandas Data Structures (e.g. a geopandas.GeoDataFrame) directly with PyGMT, though this is not well documented yet (but see #608). Other than that, there are plenty of new functions this time around such as:
- blockmean for block averaging data tables by @meghanj
- rose for plotting polar histogram and windrose diagrams by @michaelgrund
- velo for plotting velocity arrows and confidence ellipses by @lhoupert
- wiggle for plotting anomalies along tracks by @core-man
- Several grd* functions by @willschlitzer!
All of this won’t be possible without our great crew of PyGMT developers - @seisman, @weiji14, @michaelgrund, @meghanj, @willschlitzer, and @core-man. Also a big thank you to @pwessel and the core GMT team for fixing bugs and pushing out the GMT 6.2.0 release!
Roadmap to v0.5.0
For the next minor release, here are some things we have planned (many of which we need help with!):
- + Design a fresh new PyGMT logo!
- Integration with ObsPy to process seismological data (#967)
- Add a beginner friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users (#770)
- More features/enhancements :
No one likes software that breaks. To ensure a bug-free product and consistency, these are some of the deprecations coming up for future releases of PyGMT:
- v0.5.0 - NEP29: drop support for NumPy 1.17 so that NumPy 1.18 or above is required
- v0.6.0 - Aliases “columns” and “sizes” are replaced by “incols” and “size” respectively (a FutureWarning is raised in PyGMT v0.4.0)
- v1.0.0 (?) - Short form aliases (e.g. ‘R’) will not work if long form aliases (e.g. ‘region’) are available (a SyntaxWarning is raised in PyGMT v0.4.0, see #1316)
The compatibility matrix will be listed on https://www.pygmt.org/v0.4.0/#compatibility-with-python-and-gmt-versions, so make sure you keep things up to date!
We’re doing a few outreach events in the second half of the year, and welcome people to take part!
- PyGMT Sprint at SciPy 2021 (17-18 Jul 2021) - the sprint proposal has been submitted and we welcome people to get involved during the sprint and with creating good issues in the next few weeks
- Earth Science Women’s Network Developer workshop (17-19 Aug 2021) - registrations has closed, and further announcements will be made in early July.
- AGU 2021 sessions (13-17 Dec 2021), abstracts due 4 Aug 2021!
If you have time, feel free to reach out to the PyGMT team during those events! We have quarterly PyGMT community meetings (see the last one in mid June 2021), and are active on this forum and GitHub too. That’s all for now
P.S. Feel free to share the word on twitter , #PyGMT @gmt_dev!