Releases: GenericMappingTools/pygmt
Releases · GenericMappingTools/pygmt
v0.8.0
Release v0.8.0 (2022/12/30)
Highlights
- 🎉 Eighth minor release of PyGMT 🎉
- Added support for tab auto-completion for all GMT default parameters (#2213)
- Created functions to download GMT remote datasets (#1786)
- Wrapped the ternary module (#1431)
- Added an intro tutorial for creating contour maps (#2126)
New Features
- Add load_earth_free_air_anomaly function for Earth free-air anomaly dataset (#2238)
- Add load_earth_geoid function for Earth Geoid dataset (#2236)
- Add load_earth_magnetic_anomaly function for Earth magnetic anomaly dataset (#2196, #2239, #2241)
- Add load_earth_vertical_gravity_gradient function for Earth vertical gravity gradient dataset (#2240)
- load_earth_relief: Add the support of data sources "gebco" , "gebcosi", and "synbath" (#1818, #2162, #2192, #2281)
- Wrap ternary (#1431)
Enhancements
- Set gridline (if available) as the default grid registration for remote datasets (#2266)
- Add ternary sample dataset (#2211)
- Figure.ternary: Add parameters "alabel", "blabel", and "clabel" (#2139)
- Figure.psconvert: Add a new alias "gs_path" (-G) (#2076)
- Figure.psconvert: Check if the given prefix is valid (#2170)
- Figure.savefig: Raise a FileNotFoundError if the parent directory doesn't exist (#2160)
- Figure.show: Allow keyword arguments passed to Figure.psconvert (#2078)
- pygmt.config: Support tab auto-completion for all GMT defaults (#2213)
- Rewrite the meca function to support offsetting and labeling beachballs (#1784)
Deprecations
- Deprecate xshift (X) and yshift (Y) aliases from all plotting modules (remove in v0.12.0) (#2071)
- Figure.plot: Deprecate parameter "color" to "fill" (remove in v0.12.0) (#2177)
- Figure.plot3d: Deprecate parameter "color" to "fill" (remove in v0.12.0) (#2178)
- Figure.rose: Deprecate parameter color to fill (remove in v0.12.0) (#2181)
- Figure.velo: Deprecate parameters "color" to "fill" and "uncertaintycolor" to "uncertaintyfill" (remove in v0.12.0) (#2206)
- Figure.wiggle: Deprecate parameter "color" (remove in v0.12.0) and add "fillpositive"/"fillnegative" (#2205)
- Figure.psconvert: Remove the deprecated parameter "icc_gray" (deprecated since v0.6.0) (#2267)
- Figure.text: Deprecate parameter "incols" to "use_word" (remove in v0.10.0) (#1964)
Bug Fixes
- Figure.meca: Fix line and circle of offset parameter for dict/pandas input (#2226)
- Figure.meca: Fix beachball offsetting with dict/pandas inputs (#2202)
- Figure.meca: Fix the bug when passing a dict of scalar values to the spec parameter (#2174)
- Figure.ternary: Fix the crash for pd.DataFrame input with GMT 6.3.0-6.4.0 (#2274)
Documentation
- Add intro tutorial section for creating contour map (#2126)
- Add gallery example for Figure.ternary method (#2138)
- Add gallery example showing the usage of vertical and horizontal bars (#1521)
- Add inline example for coast (#2142)
- Add inline example for grdcontour (#2148)
- Add inline example for grdimage (#2146)
- Add inline example for grd2cpt (#2145)
- Add inline example for solar (#2147)
- Add SciPy 2022 talk to presentations (#2053)
- Add instructions to install pygmt kernel for Jupyter users (#2153)
- Improve instructions about setting GMT_LIBRARY_PATH env variable (#2136)
- Add badges for conda package version, license, and twitter (#2081)
- Add PyOpenSci peer reviewed badge to main README.rst (#2112)
Maintenance
- Add an internal function to load GMT remote datasets (#2200)
- Add support for Python 3.11 (#2172)
- NEP29: Test PyGMT on NumPy 1.24 (#2256)
- NEP29: Test PyGMT on NumPy 1.23 and 1.21 (#2057)
- Bump the GMT version in CI to 6.4.0 (#1990)
- Update baseline images for GMT 6.4.0 (#1883)
- Migrate Continuous Documentation from Vercel to Readthedocs (#1859)
- Set nested_sections to False for Sphinx-Gallery 0.11.0 regarding a correct navgation bar (#2046)
- Convert bug report, feature, and module request issue templates into yaml configured forms (#2091, #2214, #2216)
- doc: Set different html_baseurl for stable and dev versions (#2158)
- Update the instructions for checking README syntax (#2265)
- Use longname placeholders in the docstrings for common options (#1932)
- Add optional dependencies to pyproject.toml (#2069)
- Migrate project metadata from setup.py to pyproject.toml following PEP621 (#1848)
- Move blackdoc options to pyproject.toml (#2093)
- Move docformatter options from Makefile to pyproject.toml (#2072)
- Replace flake8 with flakeheaven (#1847)
- Add a workflow and Makefile target to test old GMT versions every Tuesday (#2079)
- Check if a module outputs to a temporary file using "Path().stat().st_size > 0" (#2224)
- pygmt.show_versions: Show GMT binary version and hide the Python interpreter path (#1838)
- Refactor grdview and grdimage to use virtualfile_from_data (#1988)
- Use the org-wide code of conduct (#2020)
Contributors
v0.7.0
Release v0.7.0 (2022/07/01)
Highlights
- 🎉 Seventh minor release of PyGMT 🎉
- Wrapped 3 GMT modules
- Added two new PyGMT tutorials and EGU 2022 short course to external resources page (#1971 and #1935)
New Features
Enhancements
- Support passing data in NumPy int8, int16, uint8 and uint16 dtypes to GMT (#1963)
- inset: Add region and projection aliases and fix two examples (#1931)
- basemap: Plotting frames if required parameters are not given (#1909)
- basemap: Added box alias for F (#1894)
- Add a sample dataset maunaLoa_co2 (#1961)
- Add a sample dataset notre_dame_topography (#1920)
- Add a sample dataset earth_relief_holes (#1921)
Deprecations
- NEP29: Set minimum required version to NumPy 1.20+ (#1985)
- Figure.wiggle: Remove parameter 'columns', use 'incols' instead. (#1977)
- Figure.histogram and pygmt.info: Remove parameter 'table', use 'data' instead (#1975)
- pygmt.surface: Remove parameter 'outfile', use 'outgrid' instead (#1976)
- blockm/contour/plot/plot3d/rose/surface/wiggle: Change the parameter order of data array and input arrays (#1978)
Bug Fixes
- grdtrack: Fix the bug when profile is given (#1867)
- Fix the grid accessor (grid registration and type) for 3D grids (#1913)
Documentation
- Add instructions to install PyGMT using mamba (#1967)
- Improve two gallery examples regarding categorical colormaps (#1934)
- Add inline example to dimfilter (#1956)
- Add inline example to surface (#1953)
- Add inline example to grdfill (#1954)
- Add inline code examples to contributing guidelines (#1924)
- Add thumbnail images to the external resources page (#1941)
- Redesign the team gallery using sphinx-design's card directive (#1937)
Maintenance
- Fix broken 'Improve this page' links using sphinx variable page_source_suffix (#1969)
- Split up functions for loading datasets (#1955)
- Set setuptools_scm fallback_version to follow PEP440 (#1945)
- Refactor text to use virtualfile_from_data (#1121)
- Run full tests only on Wednesday scheduled jobs (#1833)
- Run GMT Dev Tests on Monday, Wednesday and Friday only (#1922)
- Update GMT Dev Tests workflow to test on macOS-12 and ubuntu-22.04 (#1918)
Contributors
v0.6.1
Release v0.6.1 (2022/04/11)
Highlights
- Patch release which allows passing None explicitly to pygmt functions (#1872, #1862, #1857, #1815)
- A new tutorial for grdhisteq (#1821)
Bug Fixes
- Fix pathlib support for plot and plot3d (#1831)
Documentation
- Add inline example for grdvolume (#1726)
- Format author affiliations in CITATION.cff and AUTHORS.md (#1844)
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
v0.6.0
Release v0.6.0 (2022/03/14)
Highlights
- 🎉 Sixth minor release of PyGMT 🎉
- New inline examples for 14 functions!
- Single
pygmt.datasets.load_sample_data
function for loading any sample dataset (#1685) - Minimum required GMT version is now 6.3.0 (#1649)
New Features
Enhancements
- Add alias for blockmean's -S parameter (#1601)
- Allow users to set the waiting time when displaying a preview image using an external viewer (#1618)
- Raise an exception if the given parameter is not recognized and is longer than 2 characters (#1792)
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
v0.5.0
Release v0.5.0 (2021/10/29)
Highlights
- 🎉 Fifth minor release of PyGMT 🎉
- Wrapped 12 GMT modules
- Standardized and reorder table inputs to be 'data, x, y, z' across functions (#1479)
- Added a gallery example showing usage of line objects from a geopandas.GeoDataFrame (#1474)
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
- Allow GMTDataArrayAccessor to work on sliced datacubes (#1581)
- Allow non-string color when input data is a matrix or a file for plot and plot3d (#1526)
- Raise RuntimeWarning instead of an exception for irregular grid spacing (#1530)
- Raise an error for zero increment grid (#1484)
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
v0.4.1
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
- 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
Contributors
v0.4.0
Release v0.4.0 (2021/06/20)
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
- Dongdong Tian
- [Wei ...
v0.3.1
Release v0.3.1 (2021/03/14)
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
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
v0.2.1
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 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)