Changelog¶
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¶
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)
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)
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)
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)
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¶
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)
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)