PyGMT v0.14.0 released

Announcing PyGMT v0.14.0, with two new plotting methods and six new functions to access more GMT remote datasets!

The PyGMT team is staring the New Year :sparkler::fireworks: with version v0.14.0 :rocket:!

Here are the highlights :tada::

  • Bump minimum supported version to GMT>=6.4.0
  • New plotting methods Figure.hlines/Figure.vlines for plotting horizontal/vertical lines on Cartesian, polar, and geographic coordinate systems
  • PyArrow as an optional dependency and improved support of PyArrow data types
  • New or extended functions to access and load more GMT remote datasets:
Black & Blue Marble Earth mean sea surface Earth east-west deflection Earth free-air anomaly
Earth distance to shoreline Earth mean dynamic topography Earth north-south deflection Earth free-air anomaly uncertainty

Nice enhancements :sparkles::

  • Figure.plot and Figure.plot3d: New parameter symbol for plotting data points with varying symbols (#1117, #3559)
  • Figure.legend: Support passing a StringIO object as the legend specification (#3438)

Read through the changelog for the full list of changes. Installation/upgrade :arrow_up: instructions are at https://www.pygmt.org/v0.14.0/install.html! Note that this version is cross-compatible with GMT 6.4 - 6.5, but it requires Python 3.11+ :snake:, NumPy 1.25+, pandas 2.0+, and Xarray 2023.04+ following our support policy for GMT and other package dependencies. Go try it online at try-gmt :rocket:.

As usual, please feel free to report any bugs :beetle: with the issue template on GitHub. Your feedback is what helps us to improve :pray:! For example, this bug report at issue #3104 sparked off a major refactoring by @seisman at PR #3132 that removed a ton of workarounds in PyGMT’s codebase related to spaces and funny characters!

:bulb: Additions and updates to Intros, Tutorials, and Gallery examples

  • Tutorial for β€œPlotting polygons” (#3593) by @yvonnefroehlich
  • Update dataset used for gallery example for β€œGeoPandas: Plotting lines with LineString or MultiLineString geometry” (#3711) by @mgrund
Plotting polygons GeoPandas: Plotting lines with LineString or MultiLineString geometry
Plotting polygons GeoPandas: Plotting lines with LineString or MultiLineString geometry

:railway_track: Roadmap to future releases

While the team has been busy with AGU24, including more GMT remote datasets, and refactoring the low-level functions, there are still lots of documentation and new features we’d like to add! Check out the good first issue label on GitHub or the list below for things you can help with!

  • Features/enhancements :sparkles:
    • Wrap GMT moduls: clip, coupe, earthtide, fitcircle, movie, polar, and sac
    • Implement high-level methods of Figure.plot and Figure.plot3d (#2797): Figure.scatter, Figure.choropleth, Figure.errorbar, Figure.stem, Figure.fill_between
    • Implement high-level methods of Figure.basemap or Figure.coast (#2831): Figure.scale_bar, Figure.directionrose, Figure.magneticrose
  • Documentation improvements :book:
    • Add a beginner :beginner: friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users (#770)
    • Add a tutorial explaining the generally accepted input types (#1268)

Please don’t be shy to reach out on GitHub if you’re interested in contributing :smile:! Also have a look at our Contributors Guide to figure out how you can help and get started :rocket:.

:warning: Upcoming deprecations

  • v0.15.0
    • pygmt.clib: Remove the open_virtual_file method, use open_virtualfile instead (FutureWarning raised since PyGMT v0.11.0)
    • pygmt.clib: Remove the virtualfile_from_data method, use virtualfile_in instead
  • v0.16.0
    • pygmt.clib: The virtualfile_from_vectors methods takes a sequence of vectors as its single argument, rather than passing multiple vectors as positional arguments (FutureWarning raised since PyGMT v0.14.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 for GMT, Python, and the required core package dependencies NumPy, pandas, and Xarray is listed at Minimum Supported Versions β€” PyGMT, so make sure you keep things up to date!

:world_map: Conference presentations/workshops/sprints

GMT/PyGMT preworkshop PyGMT talk
GMT/PyGMT preworkshop PyGMT talk

P.S. Share the word on Instagram @genericmappingtools :camera_with_flash: and ResearchGate!

1 Like