Skip to content

Latest commit

 

History

History
672 lines (520 loc) · 47.6 KB

changes.md

File metadata and controls

672 lines (520 loc) · 47.6 KB

Changelog

Release v0.4.1 (2021/08/07)

Digital Object Identifier for PyGMT v0.4.1

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

  • Change invalid input conditions in grdtrack (#1376)
  • Fix bug so that x2sys_cross accepts dataframes with NaN values (#1369)

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

  • Add tomli as a dependency in GMT Dev Tests (#1401)
  • NEP29: Test PyGMT on NumPy 1.21 (#1355)

Contributors


Release v0.4.0 (2021/06/20)

Digital Object Identifier for PyGMT v0.4.0

Highlights

  • 🎉 Fourth minor release of PyGMT 🎉
  • Add tutorials for datetime data (#1193) and plotting vectors (#1070)
  • Support tab auto-completion in Jupyter (#1282)
  • Minimum required GMT version is now 6.2.0 or newer (#1321)

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

  • Allow pandas.Series inputs to fig.histogram and pygmt.info (#1329)
  • Explicitly use netcdf4 engine in xarray.open_dataarray to read grd files (#1264)
  • Let Figure.savefig support filenames with spaces (#1116)
  • Let Figure.show(method='external') work well in Python scripts (#1062)

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)

Digital Object Identifier for PyGMT v0.3.1

Highlights

  • 🎉 Multiple bug fixes and an improved gallery 🎉
  • Reorganized gallery examples into new categories (#995)
  • Added gallery examples for plotting vectors (#950, #890)
  • Last version to support GMT 6.1.1, future PyGMT versions will require GMT 6.2.0 or newer

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)

Digital Object Identifier for PyGMT v0.3.0

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

  • Wrap grd2cpt (#803)
  • Let Figure.text support record-by-record transparency (#716)
  • Provide basic support for FreeBSD (#700, #878)

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 aliases dcw (#765) and lakes (#781) to Figure.coast
  • 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)

Digital Object Identifier for PyGMT v0.2.1

Highlights

New Features

  • Wrap plot3d (#471)
  • Wrap grdfilter (#616)

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 an example for different line styles (#604, #664)
  • 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)

Contributors


Release v0.2.0 (2020/09/12)

Digital Object Identifier for PyGMT v0.2.0

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)

Digital Object Identifier for PyGMT v0.1.2

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)

Digital Object Identifier for PyGMT v0.1.1

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

  • Finalize fixes on Windows test suite for v0.1.1 (#441)
  • Cache test data on Azure Pipelines (#438)

Contributors


Release v0.1.0 (2020/05/03)

Digital Object Identifier for PyGMT v0.1.0

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)
  • Disable Windows CI builds before PR #313 is merged (#320)
  • 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)

Contributors