PyGMT v0.13.0 released

Announcing PyGMT v0.13.0, with improved support for non-ASCII characters and two new tutorials!

The PyGMT team is pushing forward with version v0.13.0! Here are some of the highlights :tada::

Read through the changelog for the full list of changes. Installation/upgrade :arrow_up: instructions are at Installing β€” PyGMT! Note that this version is cross-compatible with GMT 6.3 - 6.5, but it requires Python 3.10+ :snake:, NumPy 1.24+, Pandas 1.5+, and Xarray 2022.09+ following SPEC 0. Go try it online at try-gmt :rocket:.

Nice enhancements :sparkles::

  • Non-ASCII characters in ISO-8859-x can be used directly in PyGMT arguments and text strings passed to Figure.text (#3310)
  • Tables of supported Fonts and Encodings and Non-ASCII Characters that you can copy and paste in your scripts.

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: Updates on Intros, Tutorials, and Gallery examples

Draping a dataset on top of a topographic surface Typesetting non-ASCII characters
Draping a dataset on top of a topographic surface Typesetting non-ASCII characters

:railway_track: Roadmap to v0.14.0

While the team has been busy refactoring the internals of PyGMT in recent releases, 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 clip, coupe, earthtide, fitcircle, movie, polar, and sac
    • Implement high-level methods of Figure.plot and Figure.plot3d (#2797): Figure.scatter, Figure.hlines (#923) and Figure.vlines (#670), 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:!

:warning: Upcoming deprecations

  • v0.14.0
    • Minimum Supported Versions: Dropping of GMT 6.3.0
    • Figure.grdcontour: Disallow passing list[str] arguments to the annotation parameter (e.g. [100, "e", "f10p", "gred"]), pass in a string like 100+e+f10p+gred instead (FutureWarning raised since PyGMT v0.12.0)
    • pygmt.helpers: Remove the build_arg_string function, use build_arg_list instead (FutureWarning raised since PyGMT v0.12.0)
    • Remove the sequence_plus converter, only used for the annotation parameter of Figure.grdcontour (FutureWarning raised since PyGMT v0.12.0)
  • 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
    • Figure.grdcontour: Remove parameter interval, use levels instead (FutureWarning raised since PyGMT v0.12.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, so make sure you keep things up to date!

:world_map: Conference presentations/workshops/sprints

The GMT and PyGMT teams are organizing an AGU pre-conference workshop for GMT and PyGMT :computer: in Washington D.C. :classical_building: on 2024-12-08, so mark your calendars :date:! β€œPREWS9 Mastering Geospatial Visualizations with GMT/PyGMT at AGU Fall Meeting 2024” will be an in-person, full-day workshop, for details have a look at Workshops β€” The Generic Mapping Tools.

Besides this there will be an union-wide memorial session for Paul Wessel β€œU019 - The impact of GMT in the Earth, Ocean and Space sciences: What’s next?” during the AGU fall meeting, with eight invited talks and likely some poster presentations on various topics of the GMT world.

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

6 Likes