Changelog
Release v0.6.1 (2022/04/11)
Highlights
Bug Fixes
Fix pathlib support for plot and plot3d (#1831)
Documentation
Maintenance
NEP29: Run PyGMT tests and docs build on Python 3.10 (#1868)
Let pygmt.show_versions() report geopandas version (#1846)
Refactor build_arg_string to also deal with infile and outfile (#1837)
Migrate build system settings to pyproject.toml following pep517 and pep518 (#1845)
Use the build package to build sdist and wheel distributions (#1823)
Let slash command /test-gmt-dev report job URL (#1866)
Contributors
Release v0.6.0 (2022/03/14)
Highlights
New Features
Enhancements
Deprecations
Figure.plot/plot3d: Remove parameter “sizes”, use “size” instead (#1809)
Figure.contour/plot/plot3d/rose: Remove parameter “columns”, use “incols” instead (#1806)
Figure.psconvert: Add new aliases and deprecate parameter “icc_gray” (remove in v0.8.0) (#1673)
NEP29: Set minimum required version to Python 3.8+ (#1676)
NEP29: Set minimum required version to NumPy 1.19+ (#1675)
Bug Fixes
Allow passing arguments containing spaces into pygmt functions (#1487)
Fix the spacing parameter processing for many modules (#1805)
Fix missing gcmt convention keys in pygmt.meca (#1611)
Fix the spacing parameter and check required parameters in xyz2grd (#1804)
Fix UnicodeDecodeError with shapefiles for plot and plot3d (#1695)
Documentation
Add a shorter video introduction to the home page (#1769)
Add Liam’s 2021 ROSES video to learning resources (#1760)
Add quick conda install instructions in main README (#1717)
Add instructions for reporting upstream bugs to contributing.md (#1610)
List key development dependencies to install for new contributors (#1783)
Update Code of Conduct to v2.1 (#1754)
Update the contributing guide about pushing changes to dvc and git (#1776)
Update dataset links to the new remote-datasets site (#1785)
Add more sections to the API docs (#1643)
Add an “add a title” to starter tutorial (#1688)
Reorganize tutorial section in the documentation sidebar (#1603)
Update the starter tutorial introduction (#1607)
Add gallery example to showcase blockmean (#1598)
Add gallery example to showcase project (#1696)
Update text symbol gallery example (#1648)
Add inline example for blockmean (#1729)
Add inline example for blockmedian (#1730)
Add inline example for blockmode (#1731)
Add inline example for grd2xyz (#1713)
Add inline example for grdclip (#1711)
Add inline example for grdcut (#1689)
Add inline example for grdgradient (#1720)
Add inline example for grdlandmask (#1721)
Add inline example for grdproject (#1722)
Add inline example for grdsample (#1724)
Add inline example for grdtrack (#1725)
Add inline example for select (#1756)
Add inline example for sph2grd (#1718)
Add inline example for xyz2grd (#1719)
Maintenance
Add a test to make sure the incols parameter works for pandas.DataFrame (#1771)
Add load_static_earth_relief function for internal testing (#1727)
Migrate pylint settings from .pylintrc to pyproject.toml (#1755)
NEP29: Test PyGMT on NumPy 1.22 (#1701)
Replace pkg_resources with importlib.metadata (#1674)
Update deprecated -g common option syntax (#1670)
Update deprecated -JG syntax (#1659)
Use pytest-doctestplus to skip some inline doctests (#1790)
Use Python 3.10 in Continuous Integration tests (#1577)
Contributors
Release v0.5.0 (2021/10/29)
Highlights
New Features
Wrap blockmode (#1456)
Wrap gmtselect (#1429)
Wrap grd2xyz (#1284)
Wrap grdproject (#1377)
Wrap grdsample (#1380)
Wrap grdvolume (#1299)
Wrap nearneighbor (#1379)
Wrap project (#1122)
Wrap sph2grd (#1434)
Wrap sphdistance (#1383)
Wrap sphinterpolate (#1418)
Wrap xyz2grd (#636)
Add function to import seafloor crustal age dataset (#1471)
Add pygmt.load_dataarray function (#1439)
Enhancements
Expand table-like input options for Figure.contour (#1531)
Expand table-like input options for pygmt.surface (#1455)
Raise GMTInvalidInput exception when required z is missing (#1478)
Add support for passing pathlib.Path objects as filenames (#1382)
Allow passing a list to the ‘incols’ parameter for blockm, grdtrack and text (#1475)
Plot square or cube by default for OGR/GMT files with Point/MultiPoint types (#1438)
Plot square or cube by default for geopandas Point/MultiPoint types (#1405)
Add area_thresh to COMMON_OPTIONS (#1426)
Add function to import Mars dataset (#1420)
Add function to import hotspot dataset (#1386)
Deprecations
pygmt.blockm*: Reorder input parameters to ‘data, x, y, z’ (#1565)
pygmt.surface: Reorder input parameters to ‘data, x, y, z’ (#1562)
Figure.contour: Reorder input parameters to ‘data, x, y, z’ (#1561)
Figure.plot3d: Reorder input parameters to ‘data, x, y, z’ (#1560)
Figure.plot: Reorder input parameters to “data, x, y” (#1547)
Figure.rose: Reorder input parameters to ‘data, length, azimuth’ (#1546)
Figure.wiggle: Reorder input parameter to ‘data, x, y, z’ (#1548)
Figure.histogram: Deprecate parameter “table” to “data” (remove in v0.7.0) (#1540)
pygmt.info: Deprecate parameter “table” to “data” (remove in v0.7.0) (#1538)
Figure.wiggle: Deprecate parameter “columns” to “incols” (remove in v0.7.0) (#1504)
pygmt.surface: Deprecate parameter “outfile” to “outgrid” (remove in v0.7.0) (#1458)
NEP29: Set minimum required version to NumPy 1.18+ (#1430)
Bug Fixes
Documentation
Add CITATION.cff file for PyGMT (#1592)
Update region and projection standard docstrings (#1510)
Document gmtwhich -Ga option to download to appropriate cache folder (#1554)
Add gallery example showing the usage of text symbols (#1522)
Add gallery example for grdgradient (#1428)
Add gallery example for grdlandmask (#1469)
Add missing aliases to pygmt.grdgradient (#1515)
Add missing aliases to pygmt.sphdistance (#1516)
Add missing aliases to pygmt.blockmean and pygmt.blockmedian (#1500)
Add missing aliases to pygmt.Figure.wiggle (#1498)
Add missing aliases to pygmt.Figure.velo (#1497)
Add missing aliases to pygmt.surface (#1501)
Add missing aliases to pygmt.Figure.plot3d (#1503)
Add missing aliases to pygmt.grdlandmask (#1423)
Add missing aliases to pygmt.grdtrack (#1499)
Add missing aliases to pygmt.Figure.plot (#1502)
Add missing aliases to pygmt.Figure.text (#1448)
Add missing aliases to pygmt.Figure.histogram (#1451)
Add missing alias to pygmt.Figure.legend (#1453)
Add missing aliases to pygmt.Figure.rose (#1452)
Add missing alias to pygmt.Figure.grdview (#1450)
Add missing aliases to pygmt.Figure.image.py (#1449)
Add missing common options to contour (#1446)
Add missing ‘incols’ alias to info (#1476)
Maintenance
Add support for Python 3.10 (#1591)
Make IPython partially optional on CI to increase test coverage of figure.py (#1496)
Use mamba to install Continuous Integration dependencies (#841)
Remove deprecated codecov dependency from CI (#1494)
Add the use of Flake8 to check examples and fix warnings (#1477)
Contributors
Release v0.4.1 (2021/08/07)
Highlights
🎉 Patch release with multiple gallery examples 🎉
Change default GitHub branch name from “master” to “main” to increase inclusivity (#1360)
Add a “PyGMT Team” page (#1308)
Enhancements
Add common alias “verbose” (V) to grdlandmask and savefig (#1343)
Bug Fixes
Documentation
Combine documentation and compatibility sections in README.rst (#1415)
Add a gallery example for grdclip (#1396)
Add a gallery example for different colormaps in subplots (#1394)
Add a gallery example for the contour method (#1387)
Add a gallery example showing individual custom symbols (#1348)
Add common option aliases to COMMON_OPTIONS in decorators.py (#1407)
Add return statement to grdclip and grdgradient docstring (#1390)
Restructure contributing.md to separate docs/general info from contributing code section (#1339)
Maintenance
Contributors
Release v0.4.0 (2021/06/20)
Highlights
New Features
Wrap blockmean (#1092)
Wrap grdclip (#1261)
Wrap grdfill (#1276)
Wrap grdgradient (#1269)
Wrap grdlandmask (#1273)
Wrap histogram (#1072)
Wrap rose (#794)
Wrap solar (#804)
Wrap velo (#525)
Wrap wiggle (#1145)
Add new function to load fractures sample data (#1101)
Allow load_earth_relief() to load the original land-only 01s or 03s SRTM tiles (#976)
Handle geopandas and shapely geometries via geo_interface link (#1000)
Support passing string type numbers, geographic coordinates and datetimes (#975)
Enhancements
Allow passing an array as intensity for plot3d (#1109)
Allow passing an array as intensity for plot (#1065)
Allow passing xr.DataArray as shading to grdimage (#750)
Allow x/y/z input for blockmedian and blockmean (#1319)
Allow pygmt.which to accept a list of filenames as input (#1312)
Refactor blockm* to use virtualfile_from_data and improve i/o (#1280)
Refactor grdtrack to use virtualfile_from_data and improve i/o to pandas.DataFrame (#1189)
Add parameters to histogram (#1249)
Add alias ‘aspatial’ to methods blockmedian, info, plot, plot3d, surface (#1090)
Add alias ‘registration’ to methods blockmean, info, grdfilter, surface (#1089)
Add incols to COMMON_OPTIONS, blockmean, and blockmedian (#1300)
Improve Figure.show for displaying previews in Jupyter notebooks and external viewers (#529)
Let Figure.savefig recommend .eps or .pdf when .ps extension is used (#1307)
Deprecations
Figure.contour: Deprecate parameter “columns” to “incols” (remove in v0.6.0) (#1303)
Figure.plot: Deprecate parameter “sizes” to “size” (remove in v0.6.0) (#1254)
Figure.plot: Deprecate parameter “columns” to “incols” (remove in v0.6.0) (#1298)
Figure.plot3d: Deprecate parameter “sizes” to “size” (remove in v0.6.0) (#1258)
Figure.plot3d: Deprecate parameter “columns” to “incols” (remove in v0.6.0) (#1040)
Figure.rose: Deprecate parameter “columns” to “incols” (remove in v0.6.0) (#1306)
NEP29: Set minimum required versions to NumPy 1.17+ and Python 3.7+ (#1074)
Raise a warning for the use of short-form parameters when long-forms are available (#1316)
Bug Fixes
Documentation
Add histogram gallery example (#1272)
Add a gallery example showing individual basic geometric symbols (#1211)
Specify rectangle’s width and height via style parameter in multi-parameter symbols example (#1325)
Update the inset gallery example (#1287)
Add categorical colorbars for plot, plot3d and line colors gallery examples (#1267)
Apply NIST SI unit convention to some gallery examples (#1194)
Use colorblind-friendly colors in the scatter plots gallery example (#1013)
Added documentation for three oblique mercator projections (#1251)
Add a list of external PyGMT resources (#1210)
Complete documentation for grdtrack (#1190)
Add projection and region to grdview docstring (#1295)
Add common alias spacing (-I) for specifying grid increments (#1288)
Standardize docstrings for table-like inputs (#1186)
Clarify that the “transparency” parameter in plot/plot3d/text can be 1d array (#1265)
Clarify that the “color” parameter in plot/plot3d can be 1d array (#1260)
Clarify interplay of spacing and per_column in info (#1127)
Remove the “full test” section from installation guide (#1206)
Clarify position of deprecate_parameter decorator to be above use_alias (#1302)
Add guidelines for managing issues to maintenance.md (#1301)
Add alias name convention to CONTRIBUTING.md (#1256)
Move contributing guide details to website and rename two sections (#1335)
Update the check_figures_equal testing section in CONTRIBUTING.md (#1108)
Revise Pull Request review process in CONTRIBUTING.md (#1119)
Maintenance
Add a workflow to upload baseline images as a release asset (#1317)
Add regression test for grdimage plotting an xarray.DataArray grid subset (#1314)
Add download_test_data to download data files used in tests (#1310)
Remove xfails and workarounds for datetime inputs into pygmt.info (#1236)
Improve the DVC image diff workflow to support side-by-side comparison of modified images (#1219)
Document the deprecation policy and add the deprecate_parameter decorator to deprecate parameters (#1160)
Convert booleans arguments in build_arg_string, not in kwargs_to_strings (#1125)
Create Github Action workflow for reporting DVC image diffs (#1104)
Update “GMT Dev Tests” workflow to test macOS-11.0 and pre-release Python packages (#1105)
Initialize data version control for managing test images (#1036)
Separate workflows for running tests and building documentation (#1033)
Contributors
Release v0.3.1 (2021/03/14)
Highlights
Enhancements
Support passing a sequence to the spacing parameter of pygmt.info() (#1031)
Bug Fixes
Fix issues in loading GMT’s shared library (#977)
Let pygmt.info load datetime columns into a str dtype array (#960)
Check invalid combinations of resolution and registration in load_earth_relief() (#965)
Open figures using the associated application on Windows (#952)
Fix bug that stops Figure.coast from plotting with only dcw parameter (#910)
Documentation
Add a gallery example showing different line front styles (#1022)
Add a gallery example for a double y-axes graph (#1019)
Add a gallery example of inset map showing a rectangle region (#1020)
Add a gallery example to show coloring of points by categories (#1006)
Add gallery example showing different polar projection use cases (#955)
Add underscore guideline to CONTRIBUTING.md (#1034)
Add instructions to upgrade installed PyGMT version (#1029)
Improve the docstring of the pygmt package (#1016)
Add common alias coltypes (-f) for specifying i/o data types (#994)
Expand documentation linking in CONTRIBUTING.md (#802)
Write changelog in markdown using MyST (#941)
Update web font to Atkinson Hyperlegible (#938)
Improve the gallery example for datetime inputs (#919)
Maintenance
Refactor plot and plot3d to use virtualfile_from_data (#990)
Explicitly exclude unnecessary files in source distributions (#999)
Refactor grd modules to use virtualfile_from_data (#992)
Refactor info and grdinfo to use virtualfile_from_data (#961)
Onboarding maintainer checklist (#773)
Add comprehensive tests for pygmt.clib.loading.clib_full_names (#872)
Add a workflow checking links in plaintext and HTML files (#634)
Remove nbsphinx extension (#931)
Improve the error message for loading an old version of the GMT library (#925)
Move requirements-dev.txt dependencies to environment.yml (#812)
Ensure proper non-dev version string when publishing to PyPI (#900)
Run tests in a single CI job (Ubuntu + Python 3.9) for draft PRs (#906)
Contributors
Release v0.3.0 (2021/02/15)
Highlights
New Features
Enhancements
Let load_earth_relief support the ‘region’ parameter for all resolutions (#873)
Improve how PyGMT finds the GMT library (#702)
Add common alias panel (-c) to all plotting functions (#853)
Add alias shading to Figure.colorbar (#752)
Add alias annotation (A) to Figure.contour (#883)
Wrap Figure.grdinfo aliases (#799)
Add aliases frame and cmap to Figure.colorbar (#709)
Add alias frame to Figure.grdview (#707)
Improve the error message when PyGMT fails to load the GMT library (#814)
Add GMTInvalidInput error to Figure.coast (#787)
Documentation
Add authorship policy (#726)
Update PyGMT development installation instructions (#865)
Add a tutorial for adding a map title (#720)
Add a tutorial for plotting Earth relief (#712)
Add a tutorial for 3D perspective image (#743)
Add a tutorial for contour maps (#705)
Add a tutorial for plotting lines (#741)
Add a tutorial for the region argument (#800)
Add a gallery example for datetime inputs (#779)
Add a gallery example for Figure.logo (#823)
Add a gallery example for plotting multi-parameter symbols (#772)
Add a gallery example for Figure.image (#777)
Add a gallery example for setting line colors with a custom CPT (#774)
Add more gallery examples for projections (#761, #721, #757, #723, #762, #742, #728, #727)
Update the docstrings in the plotting modules (#881)
Update the docstrings in the non-plotting modules (#882)
Update Figure.coast docstrings (#798)
Update the docstrings of common aliases (#862)
Add sphinx-copybutton extension to easily copy codes (#838)
Choose the best figures in tutorials for thumbnails (#826)
Update axis label explanation in frames tutorial (#820)
Add guidelines for types of tests to write (#796)
Recommend using SI units in documentation (#795)
Add a table for compatibility of PyGMT with Python and GMT (#763)
Add description for the “columns” arguments (#766)
Add a table of the available projections (#753)
Add projection description for Lambert Azimuthal Equal-Area (#760)
Change text when GMTInvalidInput error is raised for basemap (#729)
Bug Fixes
Maintenance
Add dependabot to keep GitHub Actions up to date (#861)
Skip workflows in PRs if only non-source-code files are changed (#839)
Add slash command ‘/test-gmt-dev’ to test GMT dev version (#831)
Check files for UNIX-style line breaks and 644 permission (#736)
Rename vercel configuration file from now.json to vercel.json (#738)
Add a CI job testing GMT master branch on Windows (#756)
Migrate documentation deployment from Travis CI to GitHub Actions (#713)
Move Figure.meca into a standalone module (#686)
Move plotting functions to separate modules (#808)
Move non-plotting modules to separate modules (#832)
Add isort to sort imports alphabetically (#745)
Convert relative imports to absolute imports (#754)
Switch from versioneer to setuptools-scm (#695)
Add docformatter to format plain text in docstrings (#642)
Migrate pytest configurations to pyproject.toml (#725)
Migrate coverage configurations to pyproject.toml (#667)
Show test execution times in pytest (#835)
Add tests for grdfilter (#809)
Add tests for GMTInvalidInput of Figure.savefig and Figure.show (#810)
Add args_in_kwargs function (#791)
Add a Makefile target ‘distclean’ for deleting project metadata files (#744)
Add a test for Figure.basemap map_scale (#739)
Use args_in_kwargs for Figure.basemap error raising (#797)
Contributors
Release v0.2.1 (2020/11/14)
Highlights
🎉 Patch release with more tutorials and gallery examples! 🎉
🐍 Support Python 3.9 (#689)
📹 Add Liam’s ROSES 2020 PyGMT talk (#643)
New Features
Enhancements
Tutorials & Gallery
Documentation Improvements
doc: Fix the description of grdcontour -G option (#681)
Refresh Code of Conduct from v1.4 to v2.0 (#673)
Add PyGMT Zenodo BibTeX entry to main README.md (#678)
Complete most of documentation for makecpt (#676)
Complete documentation for plot (#666)
Add “no_clip” to plot, text, contour and meca (#661)
Add common alias “verbose” (V) to all functions (#662)
Improve documentation of Figure.logo() (#651)
Add mini-galleries for methods and functions (#648)
Complete documentation of grdimage (#620)
Add common alias perspective (p) for plotting 3D illustrations (#627)
Add common aliases xshift (X) and yshift (Y) (#624)
Add common alias cores (x) for grdimage and other multi-threaded modules (#625)
Enable switching different versions of documentation (#621)
Add common alias transparency (-t) to all plotting functions (#614)
Bug Fixes
Disallow passing arguments like -XNone to GMT (#639)
Maintenance
Migrate PyPI release to GitHub Actions (#679)
Upload artifacts showing diff images on test failure (#675)
Add slash command “/format” to automatically format PRs (#646)
Add instructions to run specific tests (#660)
Add more tests for xarray grid shading (#650)
Refactor xfail tests to avoid storing baseline images (#603)
Add blackdoc to format Python codes in docstrings (#641)
Check and lint sphinx configuration file doc/conf.py (#630)
Improve Makefile to clean
__pycache__
directory recursively (#611)Update release process and checklist template (#602)
Contributors
Release v0.2.0 (2020/09/12)
Highlights
🎉 Second minor release of PyGMT 🎉
Minimum required GMT version is now 6.1.1 or newer (#577)
Plotting xarray grids using grdimage and grdview should not crash anymore and works for most cases (#560)
Easier time-series plots with support for datetime-like inputs to plot (#464) and the region argument (#562)
New Features
Enhancements
Allow passing in pandas dataframes to x2sys_cross (#591)
Sensible array outputs for pygmt info (#575)
Allow pandas.DataFrame table and 1D/2D numpy array inputs into pygmt.info (#574)
Add auto-legend feature to grdcontour and contour (#568)
Add common alias verbose (V) (#550)
Let load_earth_relief() support all resolutions and optional subregion (#542)
Allow load_earth_relief() to load pixel or gridline registered data (#509)
Documentation
Bug Fixes
Maintenance
Add a test for xarray shading (#581)
Remove expected failures on grdview tests (#589)
Redesign check_figures_equal testing function to be more explicit (#590)
Cut Windows CI build time in half to 15 min (#586)
Add a test for Session.write_data() writing netCDF grids (#583)
Add a test to make sure shift_origin does not crash (#580)
Add testing.check_figures_equal to avoid storing baseline images (#555)
Eliminate unnecessary jobs from Travis CI (#567) and Azure Pipelines (#513)
Improve the workflow to test both GMT master (#485) and 6.1 branches (#554)
Automatically cancel in-progress CI runs of old commits (#544)
Remove the Stickler CI configuration file (#538), run style checks using GitHub Actions (#519)
Cache GMT remote data as artifacts on GitHub (#530)
Let pytest generate both HTML and XML coverage reports (#512)
Run Continuous Integration tests on GitHub Actions (#475)
Contributors
Release v0.1.2 (2020/07/07)
Highlights
Patch release in preparation for the SciPy 2020 sprint session
Last version to support GMT 6.0, future PyGMT versions will require GMT 6.1 or newer
New Features
Enhancements
Documentation
Bug Fixes
Fix a bug when passing data to GMT in Session.open_virtual_file() (#490)
Maintenance
Temporarily expect failures for some grdcontour and grdview tests (#503)
Fix several failures due to updates of earth relief data (#498)
Unpin pylint version and fix some lint warnings (#484)
Separate tests of gmtinfo and grdinfo (#461)
Fix the test for GMT_COMPATIBILITY=6 (#454)
Update baseline images for updates of earth relief data (#452)
Simplify PyGMT Release process (#446)
Contributors
Release v0.1.1 (2020/05/22)
Highlights
🏁Windows users rejoice, this bugfix release is for you!🏁
Let PyGMT work with the conda GMT package on Windows (#434)
Enhancements
Handle setting special parameters without default settings for config (#411)
Documentation
Bug Fixes
Maintenance
Contributors
Release v0.1.0 (2020/05/03)
Highlights
New Features
Enhancements
Allow text accepting “frame” as an argument (#385)
Allow for grids with negative lat/lon increments (#369)
Allow passing in list to ‘region’ argument in surface (#378)
Allow passing in scalar number to x and y in plot (#376)
Implement default position/box for legend (#359)
Add sequence_space converter in kwargs_to_string (#325)
Documentation
Update PyPI install instructions and API disclaimer message (#421)
Fix the link to GMT documentation (#419)
Use napoleon instead of numpydoc with sphinx (#383)
Document using a list for repeated arguments (#361)
Add legend gallery entry (#358)
Update instructions to set GMT_LIBRARY_PATH (#324)
Fix the link to the GMT homepage (#331)
Split projections gallery by projection types (#318)
Fix the link to GMT/Matlab API in the README (#297)
Use shinx extlinks for linking GMT docs (#294)
Comment about country code in projection examples (#290)
Add an overview page listing presentations (#286)
Bug Fixes
Maintenance
Quickfix Zeit Now miniconda installer link to anaconda.com (#413)
Fix GitHub Pages deployment from Travis (#410)
Update and clean TravisCI configuration (#404)
Quickfix min elevation for new SRTM15+V2.1 earth relief grids (#401)
Wrap docstrings to 79 chars and check with flake8 (#384)
Update continuous integration scripts to 1.2.0 (#355)
Use Zeit Now to deploy doc builds from PRs (#344)
Move gmt from requirements.txt to CI scripts instead (#343)
Change py.test to pytest (#338)
Add Google Analytics to measure site visitors (#314)
Register mpl_image_compare marker to remove PytestUnknownMarkWarning (#323)
Enable Mac and Windows CI on Azure Pipelines (#312)
Fixes for using GMT 6.0.0rc1 (#311)
Assign authorship to “The PyGMT Developers” (#284)