·
4 commits
to refs/heads/main
since this release
Release v0.18.0 (2026/01/12)
Highlights
- 🎉 Eighteenth minor release of PyGMT 🎉
- Enhanced GMT embellishment (e.g., scale bar, GMT logo, image) placement and styling with a Pythonic
Positionclass and additional controlling parameters - Five new or updated gallery examples (#4231, #4229, #4228, #4265, #4214)
New Features
- Add the Position class for GMT embellishment placement (#4212)
Enhancements
- AliasSystem: Migrate the 'registration' parameter to the new alias system and support descriptive arguments (#4182)
- pygmt.grdfilter: Let the parameter 'nans' support descriptive arguments (#4310)
- Figure.colorbar: Add position/length/width and more parameters to specify colorbar position and properties (#4048)
- Figure.grdview: Improve parameters plane/facade_fill/facade_pen to set the plane and facade (#4235)
- Figure.histogram: Split parameter bar_width into bar_width and bar_offset (#4316)
- Figure.inset: Add parameters position/width/height to specify inset position and dimensions (#4047)
- Figure.image: Add aliases for -I (invert) and -B (frame) (#4089, #4301)
- Figure.image: Add parameters position/width/height/dpi/replicate to control image position and properties (#4045)
- Figure.legend: Add aliases for -S (scale) and -B (frame) (#4254)
- Figure.legend: Add parameters position/width/height/line_spacing to specify legend position and properties (#4046)
- Figure.logo: Add parameters position/width/height to specify logo position and dimensions (#4014)
- Figure.wiggle: Add parameters position/length/label/label_alignment for the scalebar position and properties (#4049)
Deprecations
- Figure: Remove the deprecated _preprocess method (Deprecated since v0.16.0) (#4146)
- pygmt.grdfill: Deprecate parameters splinefill/constantfill/neighborfill/gridfill to spline_fill/constant_fill/neighbor_fill/grid_fill (Will be removed in v0.20.0) (#4273)
- pygmt.grdlandmask: Deprecate parameters bordervalues/maskvalues to broder_values/mask_values (Will be removed in v0.20.0) (#4281)
- pygmt.grdsample: Deprecate parameter 'translate' to 'toggle' (Will be removed in v0.21.0) (#4187)
- Figure.grdview: Deprecate parameters contourpen/facadepen/meshpen to contour_pen/facade_pen/mesh_pen (Will be removed in v0.20.0) (#4260)
- Figure.grdview: Deprecate parameter drapegrid to drape_grid (Will be removed in v0.20.0) (#4276)
- Figure.histogram: Deprecate parameter barwidth to bar_width (Will be removed in v0.20.0) (#4279)
- Figure.inset: Deprecate parameter margin to clearance (Will be removed in v0.20.0) (#4296)
- Figure.meca: Deprecate parameters compressionfill/extensionfill/labelbox to compression_fill/extension_fill/label_box (Will be removed in v0.20.0) (#4269, #4274)
- pygmt.select: Deprecate parameter gridmask/mask to mask_grid/mask_values (Will be removed in v0.20.0) (#4283, #4288)
- pygmt.surface: Deprecate parameter maxradius to max_radius (Will be removed in v0.20.0) (#4300)
- Figure.velo: Deprecate parameter uncertaintyfill to uncertainty_fill (Will be removed in v0.20.0) (#4272)
- Figure.wiggle: Deprecate parameters fillnegative/fillpositive to negative_fill/positive_fill (Will be removed in v0.20.0) (#4271)
- pygmt.x2sys_cross: Deprecate parameter trackvalues to track_values (Will be removed in v0.20.0) (#4282)
Bug Fixes
- load_earth_relief: Clarify that 03s/01s resolutions are available for IGPP source only (#4192)
- geopandas: Fix UnicodeEncodeError on Windows for geopandas.GeoDataFrame with non-ASCII characters (#4224)
- Figure.grdview: Fix the default z-plane to the grid z minimum when plane is set to True or only facede_fill/facede_pen is set (#4287)
Documentation
- Add example for geopandas point geometry: Use cities in Europe from Natural Earth (#4231)
- Update example for geopandas line geometry: Use Natural Earth dataset, change to Asia (#4229)
- Update example for geopandas polygon geometry: Use the Natural Earth dataset, change to Africa (#4228)
- Advanced tutorial "Legends": Add example for adjusting line spacing (#4265)
- Tutorial "Plotting data points": Add legend for size coding (#4214)
Maintenance
- Add support for Python 3.14 (#4150)
- SPEC 0: Bump minimum supported version to Python 3.12, NumPy 2.0, and Xarray 2024.5 (#4248, #4090)
- DOC: Update naming convention in contributors guide: Separate words in parameter names by underscores (#4284)
- fmt_docstrings: Use string template syntax for docstring placeholders and support curly braces in docstrings (#4210)
- Remove dev dependency on "geodatasets" (#4230)
- CI: Add a new workflow to cache dvc cache (#4184)
- CI: Migrate the welcome bot to GitHub Actions (#4149)
- CI: Test NumPy 2.4 in the GMT Tests workflow (#4319)
- Add an issue template for wrapping GMT modules (#4152)
Full Changelog: v0.17.0...v0.18.0