Changelog¶
Release v0.3.0 (2021/02/15)¶
Highlights
🎉 Third minor release of PyGMT 🎉
Wrap inset (#788) for making overview maps and subplot (#822) for multi-panel figures
Apply standardized formatting conventions (#775) across most documentation pages
Drop Python 3.6 support (#699) so PyGMT now requires Python 3.7 or newer
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
Fix a bug of Figure.text when “text” is a non-string array (#724)
Fix the error message when IPython is not available (#701)
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
Allow np.object dtypes into virtualfile_from_vectors (#684)
Let plot() accept record-by-record transparency (#626)
Refactor info to allow datetime inputs from xarray.Dataset and pandas.DataFrame tables (#619)
Tutorials & Gallery
Add tutorial for pygmt.config (#482)
Add a gallery example for varying transparent points (#654)
Add tutorial for pygmt.Figure.text (#480)
Add an example for scatter plots with auto legends (#607)
Improve colorbar gallery example (#596)
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)
This release contains contributions from:
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:
Wrap GMT_Put_Strings to pass str columns into GMT C API directly (#520)
Wrap meca (#516)
Wrap x2sys_init and x2sys_cross (#546)
Let grdcut() accept xarray.DataArray as input (#541)
Initialize a GMTDataArrayAccessor (#500)
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:
Link to try-gmt binder repository (#598)
Improve docstring of data_kind() to include xarray grid (#588)
Improve the documentation of Figure.shift_origin() (#536)
Add shading to grdview gallery example (#506)
Bug Fixes:
Ensure surface and grdcut loads GMTDataArray accessor info into xarray (#539)
Raise an error if short- and long-form arguments coexist (#537)
Fix the grdtrack example to avoid crashes on macOS (#531)
Properly allow for either pixel or gridline registered grids (#476)
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:
Wrap grdcut (#492)
Add show_versions() function for printing debugging information used in issue reports (#466)
Enhancements:
Change load_earth_relief()’s default resolution to 01d (#488)
Enhance text with extra functionality and aliases (#481)
Documentation:
Add gallery example for grdview (#502)
Turn all short aliases into long form (#474)
Update the plotting example using the colormap generated by pygmt.makecpt (#472)
Add instructions to view the test coverage reports locally (#468)
Update the instructions for testing pygmt install (#459)
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:
Update install instructions (#430)
Add PyGMT AGU 2019 poster to website (#425)
Redirect www.pygmt.org to latest, instead of dev (#423)
Bug Fixes:
Set GMT_COMPATIBILITY to 6 when pygmt session starts (#432)
Improve how PyGMT finds the GMT library (#440)
Maintenance:
This release contains contributions from:
Release v0.1.0 (2020/05/03)¶
Highlights:
🎉 First official release of PyGMT 🎉
Python 3.8 is now supported (#398)
PyGMT now uses the stable version of GMT 6.0.0 by default (#363)
Use sphinx-gallery to manage examples and tutorials (#268)
New features:
Wrap blockmedian (#349)
Add pygmt.config() to change gmt defaults locally and globally (#293)
Wrap grdview (#330)
Wrap grdtrack (#308)
Wrap colorbar (#332)
Wrap text (#321)
Wrap legend (#333)
Wrap makecpt (#329)
Add a new method to shift plot origins (#289)
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:
Let surface return xr.DataArray instead of xr.Dataset (#408)
Update GMT constant GMT_STR16 to GMT_VF_LEN for GMT API change in 6.1.0 (#397)
Properly trigger pytest matplotlib image comparison (#352)
Use uuid.uuid4 to generate unique names (#274)
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)
Deprecations:
Remove mention of gitter.im (#405)
Remove portrait (-P) from common options (#339)
Remove require.js since WorldWind was dropped (#278)
Remove Web WorldWind support (#275)
This release contains contributions from: