Pygmt

Latest version: v0.13.0

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

0.13.0

[![Digital Object Identifier for PyGMT v0.13.0](https://zenodo.org/badge/DOI/10.5281/zenodo.13679420.svg)](https://doi.org/10.5281/zenodo.13679420)

Highlights

* 🎉 **Thirteenth minor release of PyGMT** 🎉
* Add new documentation section "Technical Reference" and document the supported encodings and fonts
* Tutorial for "Draping a dataset on top of a topographic surface" ([3316](https://github.com/GenericMappingTools/pygmt/pull/3316))
* Tutorial for "Typesetting non-ASCII characters" ([3389](https://github.com/GenericMappingTools/pygmt/pull/3389))

New Features

* Wrap the GMT API function GMT_Read_Data to read data into GMT data containers ([3324](https://github.com/GenericMappingTools/pygmt/pull/3324))
* Wrap GMT's standard data type GMT_IMAGE for images ([3338](https://github.com/GenericMappingTools/pygmt/pull/3338))

Enhancements

* **Breaking**: pygmt.x2sys_cross: Refactor to use virtualfiles for output tables ([3182](https://github.com/GenericMappingTools/pygmt/pull/3182))
* pygmt.show_versions: Warn about incompatible Ghostscript versions ([3244](https://github.com/GenericMappingTools/pygmt/pull/3244))
* pygmt.show_versions: Show GDAL version ([3364](https://github.com/GenericMappingTools/pygmt/pull/3364), [#3376](https://github.com/GenericMappingTools/pygmt/pull/3376))
* pygmt.datasets.load_*: Add autocompletion support for the 'resolution' parameter ([3260](https://github.com/GenericMappingTools/pygmt/pull/3260))
* clib.Session: Refactor the `__getitem__` special method to avoid calling API function GMT_Get_Enum repeatedly ([3261](https://github.com/GenericMappingTools/pygmt/pull/3261))
* clib: Refactor to avoid checking GMT version repeatedly and only check once when loading the GMT library ([3254](https://github.com/GenericMappingTools/pygmt/pull/3254))
* Support non-ASCII characters in ISO-8859-x charsets ([3310](https://github.com/GenericMappingTools/pygmt/pull/3310))
* Refactor to improve the user experience with non-ASCII characters ([3206](https://github.com/GenericMappingTools/pygmt/pull/3206))

Deprecations

* SPEC 0: Bump minimum supported version to xarray 2022.09 ([3372](https://github.com/GenericMappingTools/pygmt/pull/3372))
* SPEC 0: Bump minimum supported version to NumPy 1.24 ([3286](https://github.com/GenericMappingTools/pygmt/pull/3286))
* clib: Deprecate API function 'Session.virtualfile_from_data', use 'Session.virtualfile_in' instead (will be removed in v0.15.0) ([3225](https://github.com/GenericMappingTools/pygmt/pull/3225))
* Remove the unused pygmt.print_clib_info function ([3257](https://github.com/GenericMappingTools/pygmt/pull/3257))
* Figure.timestamp: Remove deprecated parameter 'justification', use 'justify' instead (deprecated since v0.11.0) ([3222](https://github.com/GenericMappingTools/pygmt/pull/3222))

Bug Fixes

* pygmt.set_display: Fix the bug that `method=None` doesn't reset to the default display method ([3396](https://github.com/GenericMappingTools/pygmt/pull/3396))
* load_tile_map: Register the rio accessor by importing rioxarray, so the returned raster has CRS ([3323](https://github.com/GenericMappingTools/pygmt/pull/3323))
* load_tile_map: Fix the raster band indexing, should start from 1 ([3322](https://github.com/GenericMappingTools/pygmt/pull/3322))
* load_tile_map: Replace deprecated rio.set_crs with rio.write_crs ([3321](https://github.com/GenericMappingTools/pygmt/pull/3321))
* PYGMT_USE_EXTERNAL_DISPLAY should NOT disable image display in Jupyter notebook environment ([3418](https://github.com/GenericMappingTools/pygmt/pull/3418))

Documentation

* External Resources: Add tutorial in Portuguese and using PyGMT in Google Colab ([3360](https://github.com/GenericMappingTools/pygmt/pull/3360))
* Remove the non-official GMT wrappers from README ([3413](https://github.com/GenericMappingTools/pygmt/pull/3413))
* Give recommendations about GMT-Ghostscript incompatibility and the testing example ([3249](https://github.com/GenericMappingTools/pygmt/pull/3249))
* Document the supported 35 standard Postscript fonts in the Technical Reference section ([3378](https://github.com/GenericMappingTools/pygmt/pull/3378))
* Add an offboarding access checklist for maintainers ([3411](https://github.com/GenericMappingTools/pygmt/pull/3411))
* Update the onboarding access checklist in Maintainers Guides ([3404](https://github.com/GenericMappingTools/pygmt/pull/3404))
* Add sphinx extension myst-nb to enable writing executable Markdown notebooks ([3379](https://github.com/GenericMappingTools/pygmt/pull/3379))

Maintenance

* pygmt.grd2cpt & pygmt.makecpt: Simplify the logic for dealing with CPT output ([3334](https://github.com/GenericMappingTools/pygmt/pull/3334))
* geopandas: Use io.StringIO to read geojson data and handle compatibility with geopandas v0.x and v1.x ([3247](https://github.com/GenericMappingTools/pygmt/pull/3247))
* Simplify the "Minimum Supported Versions" page using MyST customized URL schemes ([3383](https://github.com/GenericMappingTools/pygmt/pull/3383))
* build_arg_list: Raise an exception if an invalid output file name is given ([3336](https://github.com/GenericMappingTools/pygmt/pull/3336))
* sphinx-gallery: Temporarily pin to < 0.17.0 ([3350](https://github.com/GenericMappingTools/pygmt/pull/3350))
* Run pytest with `--color=yes` to force GitHub Actions logs to have color ([3330](https://github.com/GenericMappingTools/pygmt/pull/3330))
* Patch the callback print function to suppress the UnicodeDecodeError ([3367](https://github.com/GenericMappingTools/pygmt/pull/3367))
* Move Will from Active Maintainers to Distinguished Contributors ([3388](https://github.com/GenericMappingTools/pygmt/pull/3388))
* Enable ruff's unspecified-encoding (PLW1514) rule and fix violations ([3319](https://github.com/GenericMappingTools/pygmt/pull/3319))
* Enable ruff's literal-membership (PLR6201) rule and fix violations ([3317](https://github.com/GenericMappingTools/pygmt/pull/3317))
* Determine the minimum required versions of dependencies from package metadata for docs ([3380](https://github.com/GenericMappingTools/pygmt/pull/3380))
* CI: Use OIDC token for codecov uploading ([3163](https://github.com/GenericMappingTools/pygmt/pull/3163))
* CI: Test NumPy 2.1 in the GMT Tests workflow ([3401](https://github.com/GenericMappingTools/pygmt/pull/3401))
* CI: Set GMT_ENABLE_OPENMP to TRUE to enable OpenMP support on macOS ([3266](https://github.com/GenericMappingTools/pygmt/pull/3266))
* CI: Fix the name of the 'build' package to 'python-build' on conda-forge ([3408](https://github.com/GenericMappingTools/pygmt/pull/3408))
* CI: Bump to ubuntu-24.04 and mambaforge-23.11 in ReadTheDocs ([3296](https://github.com/GenericMappingTools/pygmt/pull/3296))
* CI: Build GMT dev source code with OpenMP enabled on Linux and GThreads enabled on Linux/macOS ([3011](https://github.com/GenericMappingTools/pygmt/pull/3011))
* CI: Add pytest plugins pytest-xdist and pytest-rerunfailures ([3193](https://github.com/GenericMappingTools/pygmt/pull/3193), [#3267](https://github.com/GenericMappingTools/pygmt/pull/3267))
* Add pre-commit config with pre-commit-hooks and enable pre-commit.ci to update hooks quarterly ([3283](https://github.com/GenericMappingTools/pygmt/pull/3283), [#3414](https://github.com/GenericMappingTools/pygmt/pull/3414))
* Add a test to make sure PyGMT works with paths that contain non-ASCII characters ([3280](https://github.com/GenericMappingTools/pygmt/pull/3280))

**Full Changelog**: <https://github.com/GenericMappingTools/pygmt/compare/v0.12.0...v0.13.0>

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Wei Ji Leong](https://github.com/weiji14)
* [Michael Grund](https://github.com/michaelgrund)
* [Andre L. Belem](https://github.com/andrebelem)

---

0.12.0

[![Digital Object Identifier for PyGMT v0.12.0](https://zenodo.org/badge/DOI/10.5281/zenodo.11062720.svg)](https://doi.org/10.5281/zenodo.11062720)

Highlights

* 🎉 **Twelfth minor release of PyGMT** 🎉
* 🚀 Almost all module wrappers (with a few exceptions) now use in-memory GMT *virtual files* instead of intermediate temporary files to improve performance ([2730](https://github.com/GenericMappingTools/pygmt/issues/2730))
* Almost all module wrappers (with a few exceptions) now have consistent behavior for table-like output ([1318](https://github.com/GenericMappingTools/pygmt/issues/1318))
* Adopt [SPEC 0](https://scientific-python.org/specs/spec-0000/) policy for minimum supported versions of GMT, Python, and other core dependencies

Enhancements

* pygmt.project: Add 'output_type' parameter for output in pandas/numpy/file formats ([3110](https://github.com/GenericMappingTools/pygmt/pull/3110))
* pygmt.grdtrack: Add 'output_type' parameter for output in pandas/numpy/file formats ([3106](https://github.com/GenericMappingTools/pygmt/pull/3106))
* pygmt.blockm*: Add 'output_type' parameter for output in pandas/numpy/file formats ([3103](https://github.com/GenericMappingTools/pygmt/pull/3103))
* Figure.grdcontour: Adjust processing arguments passed to "annotation" and "interval" parameters ([3116](https://github.com/GenericMappingTools/pygmt/pull/3116))
* Figure.contour: Adjust processing arguments passed to "annotation" and "levels" parameters ([2706](https://github.com/GenericMappingTools/pygmt/pull/2706))
* clib: Wrap the GMT API function GMT_Read_VirtualFile ([2993](https://github.com/GenericMappingTools/pygmt/pull/2993))
* clib: Add virtualfile_to_dataset method for converting virtualfile to a dataset ([3083](https://github.com/GenericMappingTools/pygmt/pull/3083), [#3140](https://github.com/GenericMappingTools/pygmt/pull/3140), [#3157](https://github.com/GenericMappingTools/pygmt/pull/3157),
[3117](https://github.com/GenericMappingTools/pygmt/pull/3117))
* clib: Add the virtualfile_out method for creating output virtualfile ([3057](https://github.com/GenericMappingTools/pygmt/pull/3057))
* Wrap GMT_Inquire_VirtualFile to get the family of virtualfiles ([3152](https://github.com/GenericMappingTools/pygmt/pull/3152))
* Wrap GMT's standard data type GMT_GRID for grids ([2398](https://github.com/GenericMappingTools/pygmt/pull/2398))
* Wrap GMT's standard data type GMT_DATASET for table inputs ([2729](https://github.com/GenericMappingTools/pygmt/pull/2729), [#3131](https://github.com/GenericMappingTools/pygmt/pull/3131), [#3174](https://github.com/GenericMappingTools/pygmt/pull/3174))
* Wrap GMT's data structure GMT_GRID_HEADER for grid/image/cube headers ([3127](https://github.com/GenericMappingTools/pygmt/pull/3127), [#3134](https://github.com/GenericMappingTools/pygmt/pull/3134))
* Session.call_module: Support passing a list of argument strings ([3139](https://github.com/GenericMappingTools/pygmt/pull/3139))
* Refactor the _load_remote_dataset function to load tiled and non-tiled grids in a consistent way ([3120](https://github.com/GenericMappingTools/pygmt/pull/3120))
* Refactor all wrappers to pass an argument list to Session.call_module ([3132](https://github.com/GenericMappingTools/pygmt/pull/3132))
* Add function build_arg_list for building arguments list from keyword dictionaries ([3149](https://github.com/GenericMappingTools/pygmt/pull/3149))
* Support left/right single quotation marks in text and arguments ([3192](https://github.com/GenericMappingTools/pygmt/pull/3192))
* non_ascii_to_octal: Return the input string if it only contains printable ASCII characters ([3199](https://github.com/GenericMappingTools/pygmt/pull/3199))

Deprecations

* SPEC 0: Set minimum supported versions to Python>=3.10, pandas>=1.5 and xarray>=2022.06 ([3043](https://github.com/GenericMappingTools/pygmt/pull/3043), [#3039](https://github.com/GenericMappingTools/pygmt/pull/3039), [#3151](https://github.com/GenericMappingTools/pygmt/pull/3151))
* Figure.plot/plot3d/rose: Remove deprecated parameter "color", use "fill" instead (deprecated since v0.8.0) ([3032](https://github.com/GenericMappingTools/pygmt/pull/3032))
* Figure.velo: Remove deprecated parameters "color"/"uncertaintycolor", use "fill"/"uncertaintyfill" instead (deprecated since v0.8.0) ([3034](https://github.com/GenericMappingTools/pygmt/pull/3034))
* Figure.wiggle: Remove deprecated parameter "color", use "fillpositive"/"fillnegative" instead (deprecated since v0.8.0) ([3035](https://github.com/GenericMappingTools/pygmt/pull/3035))
* Figure.grdimage: Remove deprecated parameter "bit_color", use "bitcolor" instead (deprecated since v0.8.0) ([3036](https://github.com/GenericMappingTools/pygmt/pull/3036))
* Figure: Remove deprecated "xshift" ("X") and "yshift" ("Y") parameters, use "Figure.shift_origin" instead (deprecated since v0.8.0) ([3044](https://github.com/GenericMappingTools/pygmt/pull/3044))
* Figure: Remove deprecated "timestamp" ("U") parameter, use "Figure.timestamp" instead (deprecated since v0.9.0) ([3045](https://github.com/GenericMappingTools/pygmt/pull/3045))
* clib: Rename the "virtualfile_from_data" method to "virtualfile_in" ([3068](https://github.com/GenericMappingTools/pygmt/pull/3068))
* Deprecate the "build_arg_string" function, use build_arg_list instead (deprecated since v0.12.0, will be removed in v0.14.0) ([3184](https://github.com/GenericMappingTools/pygmt/pull/3184))
* Deprecate the "sequence_plus" converter, only used for the "annotation" parameter of Figure.grdcontour (deprecated since v0.12.0, will be removed in v0.14.0) ([3207](https://github.com/GenericMappingTools/pygmt/pull/3207))
* Figure.grdcontour: Deprecate parameter "interval" to "levels" (FutureWarning since v0.12.0, will be removed in v0.16.0) ([3209](https://github.com/GenericMappingTools/pygmt/pull/3209))

Documentation

* External Resources: Add repository "gmt-pygmt-plotting" ([3213](https://github.com/GenericMappingTools/pygmt/pull/3213))
* Gallery example "Custom symbols": Mention own custom symbols ([3186](https://github.com/GenericMappingTools/pygmt/pull/3186))
* Intro "04 Table inputs": Document that a list of file names, pathlib.Path objects, URLs, or remote files is supported ([3214](https://github.com/GenericMappingTools/pygmt/pull/3214))
* Tutorial "Plotting text": Rewrite to improve structure, explain more parameters, show list input ([2760](https://github.com/GenericMappingTools/pygmt/pull/2760))

Maintenance

* pygmt.filter1d: Improve performance by storing output in virtual files ([3085](https://github.com/GenericMappingTools/pygmt/pull/3085))
* pygmt.grdvolume: Refactor to store output in virtual files instead of temporary files ([3102](https://github.com/GenericMappingTools/pygmt/pull/3102))
* pygmt.grdhisteq.compute_bins: Refactor to store output in virtual files instead of temporary files ([3109](https://github.com/GenericMappingTools/pygmt/pull/3109))
* pygmt.grd2xyz: Improve performance by storing output in virtual files ([3097](https://github.com/GenericMappingTools/pygmt/pull/3097))
* pygmt.select: Improve performance by storing output in virtual files ([3108](https://github.com/GenericMappingTools/pygmt/pull/3108))
* pygmt.triangulate.delaunay_triples: Improve performance by storing output in virtual files ([3107](https://github.com/GenericMappingTools/pygmt/pull/3107))
* pygmt.which: Refactor to get rid of temporary files ([3148](https://github.com/GenericMappingTools/pygmt/pull/3148))
* Use consistent names (vintbl and vingrd) for input virtual files ([3082](https://github.com/GenericMappingTools/pygmt/pull/3082))
* Add sequence_to_ctypes_array to convert a sequence to a ctypes array ([3136](https://github.com/GenericMappingTools/pygmt/pull/3136))
* Add strings_to_ctypes_array to convert a sequence of strings into a ctypes array ([3137](https://github.com/GenericMappingTools/pygmt/pull/3137))
* Figure.psconvert: Ignore the unrecognized "metadata" parameter added by pytest-mpl v0.17.0 ([3054](https://github.com/GenericMappingTools/pygmt/pull/3054))
* Remote Datasets: Adjust attributes - remove "title", use default of "name" and "long_name", introduce "description" ([3048](https://github.com/GenericMappingTools/pygmt/pull/3048))
* Adopt SPEC 0 policy and drop NEP 29 policy ([3037](https://github.com/GenericMappingTools/pygmt/pull/3037))
* Document the support policy for minimum required GMT versions ([3070](https://github.com/GenericMappingTools/pygmt/pull/3070))
* Bump to ghostscript 10.03.0 ([3112](https://github.com/GenericMappingTools/pygmt/pull/3112))
* Bump to ruff 0.3.0 ([3081](https://github.com/GenericMappingTools/pygmt/pull/3081))
* Enable ruff's PTH (flake8-use-pathlib) rules and fix violations ([3129](https://github.com/GenericMappingTools/pygmt/pull/3129))
* Change the dev dependency "matplotlib" to "matplotlib-base" to reduce environment size ([3158](https://github.com/GenericMappingTools/pygmt/pull/3158))
* Migrate from os.path to pathlib ([3119](https://github.com/GenericMappingTools/pygmt/pull/3119))
* CI: Use "gh release" to upload assets to release ([3187](https://github.com/GenericMappingTools/pygmt/pull/3187))
* CI: Consistently use github.token instead of secrets.GITHUB_TOKEN ([3189](https://github.com/GenericMappingTools/pygmt/pull/3189))
* CI: Configure workflows to run on "workflow_dispatch" event ([3133](https://github.com/GenericMappingTools/pygmt/pull/3133))
* Switch to official GitHub action for managing app tokens ([3165](https://github.com/GenericMappingTools/pygmt/pull/3165))

**Full Changelog**: <https://github.com/GenericMappingTools/pygmt/compare/v0.11.0...v0.12.0>

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Michael Grund](https://github.com/michaelgrund)
* [Wei Ji Leong](https://github.com/weiji14)

0.11.0

[![Digital Object Identifier for PyGMT v0.11.0](https://zenodo.org/badge/DOI/10.5281/zenodo.10578540.svg)](https://doi.org/10.5281/zenodo.10578540)

Highlights

* 🎉 **Eleventh minor release of PyGMT** 🎉
* Tutorial for table inputs ([2722](https://github.com/GenericMappingTools/pygmt/pull/2722)) and gallery example for choropleth map ([#2796](https://github.com/GenericMappingTools/pygmt/pull/2796))
* Easy access to planetary relief datasets (Mercury, Venus, Moon, Mars, Pluto) ([3028](https://github.com/GenericMappingTools/pygmt/pull/3028), [#2906](https://github.com/GenericMappingTools/pygmt/pull/2906), [#2674](https://github.com/GenericMappingTools/pygmt/pull/2674), [#2847](https://github.com/GenericMappingTools/pygmt/pull/2847), [#3027](https://github.com/GenericMappingTools/pygmt/pull/3027))
* Faster PyGMT by ~0.1 seconds for each module call ([2930](https://github.com/GenericMappingTools/pygmt/pull/2930))

New Features

* Support timedelta64 dtype as input ([2884](https://github.com/GenericMappingTools/pygmt/pull/2884))
* Figure.text: Support passing in a list of angle/font/justify values ([2720](https://github.com/GenericMappingTools/pygmt/pull/2720))
* Figure.savefig: Support saving figures in PPM (.ppm) format ([2771](https://github.com/GenericMappingTools/pygmt/pull/2771))
* Figure.savefig: Support generating GeoTIFF file (with extension '.tiff') ([2698](https://github.com/GenericMappingTools/pygmt/pull/2698))
* Figure.savefig: Add the 'worldfile' parameter to write a companion world file for raster images ([2766](https://github.com/GenericMappingTools/pygmt/pull/2766))

Enhancements

* geopandas: Correctly handle columns with integer values bigger than the largest 32-bit integer ([2841](https://github.com/GenericMappingTools/pygmt/pull/2841))
* pyarrow: Support date32[day] and date64[ms] dtypes in pandas objects ([2845](https://github.com/GenericMappingTools/pygmt/pull/2845))
* datasets.load_tile_map and Figure.tilemap: Add "zoom_adjust" parameter ([2934](https://github.com/GenericMappingTools/pygmt/pull/2934))
* grdlandmask: Add common alias "cores" for "x" ([2944](https://github.com/GenericMappingTools/pygmt/pull/2944))
* Figure.coast: Add alias "box" for "-F" ([2823](https://github.com/GenericMappingTools/pygmt/pull/2823))
* Improve the error messages for unsupported numpy dtypes ([2856](https://github.com/GenericMappingTools/pygmt/pull/2856))
* Set GMT_SESSION_NAME to a unique name on Windows for multiprocessing support ([2938](https://github.com/GenericMappingTools/pygmt/pull/2938))
* Figure.savefig: Support .jpeg as JPEG image extension ([2691](https://github.com/GenericMappingTools/pygmt/pull/2691))
* Figure.savefig: Support uppercase file extensions (e.g., PNG, PDF) ([2697](https://github.com/GenericMappingTools/pygmt/pull/2697))

Deprecations

* Rename API function Session.open_virtual_file to Session.open_virtualfile (remove in v0.15.0) ([2996](https://github.com/GenericMappingTools/pygmt/pull/2996))
* NEP29: Set minimum required version to NumPy 1.23+ ([2991](https://github.com/GenericMappingTools/pygmt/pull/2991))
* Figure.timestamp: Deprecate parameter 'justification' to 'justify' (remove in v0.13.0) ([3002](https://github.com/GenericMappingTools/pygmt/pull/3002))
* Figure.grdimage: Remove the unsupported 'img_out'/'A' parameter ([2907](https://github.com/GenericMappingTools/pygmt/pull/2907))

Bug Fixes

* pygmt.which: Fix the bug when passing multiple files ([2726](https://github.com/GenericMappingTools/pygmt/pull/2726))
* pygmt.filter1d: Fix the bug that the first line is read as headers ([2780](https://github.com/GenericMappingTools/pygmt/pull/2780))
* clib: Fix the bug when passing multiple columns of strings with variable lengths to the GMT C API ([2719](https://github.com/GenericMappingTools/pygmt/pull/2719))
* Let kwargs_to_strings work with default values and positional arguments ([2826](https://github.com/GenericMappingTools/pygmt/pull/2826))
* Figure.meca: Fix typo pricipal_axis -> principal_axis ([2940](https://github.com/GenericMappingTools/pygmt/pull/2940))

Documentation

* Add gallery example "Scale bar" ([2822](https://github.com/GenericMappingTools/pygmt/pull/2822))
* Add gallery example for plotting connection lines ("connection" parameter of Figure.plot) ([2999](https://github.com/GenericMappingTools/pygmt/pull/2999))
* Add gallery example showing how to adjust line segment ends (caps and joints) ([3015](https://github.com/GenericMappingTools/pygmt/pull/3015))
* Gallery example "Legend": Update regarding input data and multi-column legends ([2762](https://github.com/GenericMappingTools/pygmt/pull/2762))
* Add the Japanese "PyGMT-HOWTO" tutorial to "External Resources" ([2743](https://github.com/GenericMappingTools/pygmt/pull/2743))
* Figure.plot: Update docstring for "connection" parameter to GMT 6.5 ([2994](https://github.com/GenericMappingTools/pygmt/pull/2994))
* Use consistent description for the "outgrid" parameter ([2874](https://github.com/GenericMappingTools/pygmt/pull/2874))
* Improve the onboarding access checklist for contributors, maintainers and administrators ([2656](https://github.com/GenericMappingTools/pygmt/pull/2656))
* Recommend Miniforge instead of Mambaforge ([2833](https://github.com/GenericMappingTools/pygmt/pull/2833))

Maintenance

* pyarrow: Check compatibility of pyarrow-backed pandas objects with numeric dtypes ([2774](https://github.com/GenericMappingTools/pygmt/pull/2774))
* Switch away from Stamen basemaps ([2717](https://github.com/GenericMappingTools/pygmt/pull/2717))
* Add the "validate_output_table_type" function to check the "output_type" parameter ([2772](https://github.com/GenericMappingTools/pygmt/pull/2772))
* Create "skip_if_no" helper function to skip tests when missing a package ([2883](https://github.com/GenericMappingTools/pygmt/pull/2883))
* Fix "fixture_xr_image" to open "earth_day_01d_p" directly with rioxarray ([2963](https://github.com/GenericMappingTools/pygmt/pull/2963))
* Improve the way to import optional modules ([2809](https://github.com/GenericMappingTools/pygmt/pull/2809))
* Move variable `__gmt_version__` to pygmt.clib to avoid cyclic-import errors ([2713](https://github.com/GenericMappingTools/pygmt/pull/2713))
* Refactor the internal "_load_remote_dataset function" to simplify datasets' definitions ([2917](https://github.com/GenericMappingTools/pygmt/pull/2917))
* Benchmark grdsample, grdfilter and sph2grd with fixed cores ([2945](https://github.com/GenericMappingTools/pygmt/pull/2945))
* Setup Continuous Benchmarking workflow with pytest-codspeed ([2908](https://github.com/GenericMappingTools/pygmt/pull/2908))
* Update output shape and mean values from some x2sys_cross tests ([2986](https://github.com/GenericMappingTools/pygmt/pull/2986))
* Bump the GMT version in CI to 6.5.0 ([2962](https://github.com/GenericMappingTools/pygmt/pull/2962))
* Bump ghostscript to 10.02.1 ([2694](https://github.com/GenericMappingTools/pygmt/pull/2694))
* Add support for Python 3.12 ([2711](https://github.com/GenericMappingTools/pygmt/pull/2711))
* NEP29: Test PyGMT on NumPy 1.26 ([2692](https://github.com/GenericMappingTools/pygmt/pull/2692))
* CI: Trigger the cache_data workflow in PRs if cache files are added/deleted/updated ([2939](https://github.com/GenericMappingTools/pygmt/pull/2939))
* CI: Test GMT dev version on Windows by building from source ([2773](https://github.com/GenericMappingTools/pygmt/pull/2773))
* CI: Set cache-downloads to false to speedup the "Setup Micromamba" step ([2946](https://github.com/GenericMappingTools/pygmt/pull/2946))
* CI: Run certain GitHub Actions workflows on official repo only ([2951](https://github.com/GenericMappingTools/pygmt/pull/2951))
* CI: Run benchmarks if PR is labeled with "run/benchmark" ([2958](https://github.com/GenericMappingTools/pygmt/pull/2958))
* CI: Run "GMT Dev Tests" if PR is labeled with "run/test-gmt-dev" ([2960](https://github.com/GenericMappingTools/pygmt/pull/2960))
* CI: Require at least one code block separator for example files in the Style Checks workflow ([2810](https://github.com/GenericMappingTools/pygmt/pull/2810))
* Add Mypy for static type checking ([2808](https://github.com/GenericMappingTools/pygmt/pull/2808))
* TYP: Improve the doc style for type hints ([2813](https://github.com/GenericMappingTools/pygmt/pull/2813))
* TYP: Add type hints support for pygmt.datasets.load_sample_data ([2859](https://github.com/GenericMappingTools/pygmt/pull/2859))
* TYP: Add type hints for the "registration" parameter in pygmt.datasets.load_* functions ([2867](https://github.com/GenericMappingTools/pygmt/pull/2867))
* TYP: Add type hints for "data_source" in load_earth_relief and load_earth_magnetic_anomaly functions ([2849](https://github.com/GenericMappingTools/pygmt/pull/2849))
* TYP: Add type hints for parameters of Figure.timestamp([2890](https://github.com/GenericMappingTools/pygmt/pull/2890))
* TYP: Add type hints for "terminator" in Figure.solar and simplify codes ([2881](https://github.com/GenericMappingTools/pygmt/pull/2881))
* TYP: Add type hints for parameters of Figure.shift_origin, improve docstrings, and add inline examples ([2879](https://github.com/GenericMappingTools/pygmt/pull/2879))
* doc: Convert the installation guides source code from ReST to Markdown ([2992](https://github.com/GenericMappingTools/pygmt/pull/2992))
* doc: Convert overview source code from ReST to Markdown ([2953](https://github.com/GenericMappingTools/pygmt/pull/2953))
* doc: Move compatibility table from README to separate file ([2862](https://github.com/GenericMappingTools/pygmt/pull/2862))
* Enable the PDF format documentation in the ReadTheDocs site ([2876](https://github.com/GenericMappingTools/pygmt/pull/2876))
* Add the full changelog link to the release drafter template ([2838](https://github.com/GenericMappingTools/pygmt/pull/2838))
* Release Drafter: Automatically replace GitHub handles with names and links ([2777](https://github.com/GenericMappingTools/pygmt/pull/2777))
* Exclude CODE_OF_CONDUCT.md, AUTHORSHIP.md and pygmt/tests directory from distributions ([2957](https://github.com/GenericMappingTools/pygmt/pull/2957))
* Add Zenodo's GMT community to the maintainer's onboarding list ([2761](https://github.com/GenericMappingTools/pygmt/pull/2761))
* Use ruff to lint and format codes, and remove flakeheaven/isort/black/blackdoc ([2741](https://github.com/GenericMappingTools/pygmt/issues/2741))
* Use codespell to check common misspellings ([2673](https://github.com/GenericMappingTools/pygmt/pull/2673))
* Use " %%" as code block separators in examples ([2662](https://github.com/GenericMappingTools/pygmt/pull/2662))

**Full Changelog**: <https://github.com/GenericMappingTools/pygmt/compare/v0.10.0...v0.11.0>

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Wei Ji Leong](https://github.com/weiji14)
* [Michael Grund](https://github.com/michaelgrund)
* [Max Jones](https://github.com/maxrjones)

---

0.10.0

[![Digital Object Identifier for PyGMT v0.10.0](https://zenodo.org/badge/DOI/10.5281/zenodo.8303186.svg)](https://doi.org/10.5281/zenodo.8303186)

Highlights

* 🎉 **Tenth minor release of PyGMT** 🎉
* Support non-ASCII characters in Figure.text ([2638](https://github.com/GenericMappingTools/pygmt/pull/2638)) and other method arguments ([#2584](https://github.com/GenericMappingTools/pygmt/pull/2584))
* Three new tutorials and seven new gallery examples

Enhancements

* Figure.colorbar: Add alias for "Q" ([2608](https://github.com/GenericMappingTools/pygmt/pull/2608))
* Figure.grdimage: Allow passing RGB xarray.DataArray images ([2590](https://github.com/GenericMappingTools/pygmt/pull/2590))
* Figure.image: Add alias for "G" ([2615](https://github.com/GenericMappingTools/pygmt/pull/2615))
* Figure.meca: Add aliases for "L", "T", and "Fr" ([2546](https://github.com/GenericMappingTools/pygmt/pull/2546))
* clib.Session: Wrap the GMT_Get_Common API function ([2500](https://github.com/GenericMappingTools/pygmt/pull/2500))
* pygmt.grdfill: Add alias for "N" ([2618](https://github.com/GenericMappingTools/pygmt/pull/2618))
* pygmt.select: Add aliases for "C", "F", and "L" ([2466](https://github.com/GenericMappingTools/pygmt/pull/2466))
* pygmt.show_versions: Show versions of IPython and rioxarray ([2492](https://github.com/GenericMappingTools/pygmt/pull/2492))
* Better handling of optional virtual files (e.g., shading in Figure.grdimage) ([2493](https://github.com/GenericMappingTools/pygmt/pull/2493))

Deprecations

* Remove the unused pygmt.test() function ([2652](https://github.com/GenericMappingTools/pygmt/pull/2652))
* Figure.grdimage: Deprecate parameter "bit_color" to "bitcolor" (remove in v0.12.0) ([2635](https://github.com/GenericMappingTools/pygmt/pull/2635))
* Figure.text: Remove the deprecated "incols" parameter (deprecated since v0.8.0) ([2473](https://github.com/GenericMappingTools/pygmt/pull/2473))
* NEP29: Set minimum required version to Python 3.9+ ([2487](https://github.com/GenericMappingTools/pygmt/pull/2487))
* NEP29: Set minimum required version to NumPy 1.22+ ([2586](https://github.com/GenericMappingTools/pygmt/pull/2586))

Bug Fixes

* load_earth_mask: Keep data's encoding to correctly infer data's registration and gtype information ([2632](https://github.com/GenericMappingTools/pygmt/pull/2632))
* Geopandas integration: Mapping int/int64 to int32 for OGR_GMT format ([2592](https://github.com/GenericMappingTools/pygmt/pull/2592))
* Figure.meca: Let the "scale" parameter accept int/float/str values ([2566](https://github.com/GenericMappingTools/pygmt/pull/2566))
* Figure.meca: Fix beachball offsetting for ndarray input (requires GMT>6.4.0) ([2576](https://github.com/GenericMappingTools/pygmt/pull/2576))

Documentation

* Document the default CPT for GMT remote datasets ([2573](https://github.com/GenericMappingTools/pygmt/pull/2573))
* Add tutorial to explain naming of PyGMT figure elements ([2383](https://github.com/GenericMappingTools/pygmt/pull/2383))
* Add tutorial to show interactive data visualization via `panel` ([2498](https://github.com/GenericMappingTools/pygmt/pull/2498))
* Add tutorial for cartesian histograms ([2445](https://github.com/GenericMappingTools/pygmt/pull/2445))
* Add gallery example to show usage of dcw parameter in Figure.coast ([2428](https://github.com/GenericMappingTools/pygmt/pull/2428))
* Add gallery example to show usage of tile maps ([2585](https://github.com/GenericMappingTools/pygmt/pull/2585))
* Add gallery example showing how to build an envelope around a curve ([2587](https://github.com/GenericMappingTools/pygmt/pull/2587))
* Add gallery example for plotting an RGB image from an xarray.DataArray ([2641](https://github.com/GenericMappingTools/pygmt/pull/2641))
* Add gallery example "Quoted lines" (`style="q"`) ([2563](https://github.com/GenericMappingTools/pygmt/pull/2563))
* Add gallery example "Decorated lines" (`style="~"`) ([2564](https://github.com/GenericMappingTools/pygmt/pull/2564))
* Add gallery example "Cross-section along a transect" ([2515](https://github.com/GenericMappingTools/pygmt/pull/2515))

Maintenance

* Use substitutions to show the minimum required Python and GMT versions dynamically in installation guides ([2488](https://github.com/GenericMappingTools/pygmt/pull/2488))
* Use np.asarray to convert a 1-D array to datetime type in array_to_datetime ([2481](https://github.com/GenericMappingTools/pygmt/pull/2481))
* Use consistent docstrings for test files ([2578](https://github.com/GenericMappingTools/pygmt/pull/2578))
* Use concurrency to cancel previous runs ([2589](https://github.com/GenericMappingTools/pygmt/pull/2589))
* Set date_format to ISO8601 to silence pandas 2.0 UserWarning on read_csv ([2569](https://github.com/GenericMappingTools/pygmt/pull/2569))
* Remove dummy_context and use contextlib.nullcontext instead ([2491](https://github.com/GenericMappingTools/pygmt/pull/2491))
* NEP29: Test PyGMT on NumPy 1.25 ([2581](https://github.com/GenericMappingTools/pygmt/pull/2581))
* Fix tests for Aug 2023 updated remote datasets ([2636](https://github.com/GenericMappingTools/pygmt/pull/2636))
* Figure.meca: Refactor the two tests for offsetting beachballs ([2572](https://github.com/GenericMappingTools/pygmt/pull/2572))
* Figure.meca: Refactor tests for plotting multiple focal mechanisms ([2565](https://github.com/GenericMappingTools/pygmt/pull/2565))
* Figure.meca: Refactor tests for plotting a single focal mechanism ([2533](https://github.com/GenericMappingTools/pygmt/pull/2533))
* Figure.meca: Add a test for passing event names via pandas.DataFrame ([2582](https://github.com/GenericMappingTools/pygmt/pull/2582))
* Exclude bots from contributors in release drafter ([2484](https://github.com/GenericMappingTools/pygmt/pull/2484))
* Exclude DVC files from source/binary distributions ([2634](https://github.com/GenericMappingTools/pygmt/pull/2634))
* CI: Use mamba-org/provision-with-micromamba to setup micromamba ([2435](https://github.com/GenericMappingTools/pygmt/pull/2435))
* CI: Migrate provision-with-micromamba to setup-micromamba ([2536](https://github.com/GenericMappingTools/pygmt/pull/2536))
* CI: Run dev tests on Scientific Python nightly wheels ([2612](https://github.com/GenericMappingTools/pygmt/pull/2612))
* CI: Remove the deprecated cml-publish command from the dvc-diff workflow ([2559](https://github.com/GenericMappingTools/pygmt/pull/2559))
* CI: Fix and simplify the dvc-diff workflow ([2549](https://github.com/GenericMappingTools/pygmt/pull/2549))
* CI: Add the "Doctests" workflow to run doctests weekly ([2456](https://github.com/GenericMappingTools/pygmt/pull/2456))
* CI: Add detailed descriptions in the workflow files and update maintainer guides ([2496](https://github.com/GenericMappingTools/pygmt/pull/2496))
* Add private function _validate_data_input to validate input data ([2595](https://github.com/GenericMappingTools/pygmt/pull/2595))

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Wei Ji Leong](https://github.com/weiji14)
* [Michael Grund](https://github.com/michaelgrund)
* [Jing-Hui Tong](https://github.com/jhtong33)
* [Max Jones](https://github.com/maxrjones)

---

0.9.0

[![Digital Object Identifier for PyGMT v0.9.0](https://zenodo.org/badge/DOI/10.5281/zenodo.7772533.svg)](https://doi.org/10.5281/zenodo.7772533)

Highlights

* 🎉 **Ninth minor release of PyGMT** 🎉
* Add Figure.tilemap to plot XYZ tile maps ([2394](https://github.com/GenericMappingTools/pygmt/pull/2394))
* Add function to load raster tile maps using contextily ([2125](https://github.com/GenericMappingTools/pygmt/pull/2125))
* Eleven new/updated gallery and inline examples

New Features

* Add load_earth_mask function for GSHHG Global Earth Mask dataset ([2310](https://github.com/GenericMappingTools/pygmt/pull/2310))
* Add Figure.timestamp to plot the GMT timestamp logo ([2208](https://github.com/GenericMappingTools/pygmt/pull/2208), [#2425](https://github.com/GenericMappingTools/pygmt/pull/2425))

Enhancements

* pygmt.surface: Add aliases for "C", "L", "M", and "T" ([2321](https://github.com/GenericMappingTools/pygmt/pull/2321))
* Figure.meca: Add aliases for "C", "E", "G", and "W" ([2345](https://github.com/GenericMappingTools/pygmt/pull/2345))
* Figure.colorbar: Add aliases for "L" and "Z" ([2357](https://github.com/GenericMappingTools/pygmt/pull/2357))

Deprecations

* NEP29: Set minimum required version to NumPy 1.21+ ([2389](https://github.com/GenericMappingTools/pygmt/pull/2389))
* Recommend Figure.timestamp and remove timestamp (U) alias from all plotting methods ([2135](https://github.com/GenericMappingTools/pygmt/pull/2135))
* Remove the deprecated load_fractures_compilation function (deprecated since v0.6.0) ([2303](https://github.com/GenericMappingTools/pygmt/pull/2303))
* Remove the deprecated load_hotspots function (deprecated since v0.6.0) ([2309](https://github.com/GenericMappingTools/pygmt/pull/2309))
* Remove the deprecated load_japan_quakes function (deprecated since v0.6.0) ([2301](https://github.com/GenericMappingTools/pygmt/pull/2301))
* Remove the deprecated load_mars_shape function (deprecated since v0.6.0) ([2304](https://github.com/GenericMappingTools/pygmt/pull/2304))
* Remove the deprecated load_ocean_ridge_points function (deprecated since v0.6.0) ([2308](https://github.com/GenericMappingTools/pygmt/pull/2308))
* Remove the deprecated load_sample_bathymetry function (deprecated since v0.6.0) ([2305](https://github.com/GenericMappingTools/pygmt/pull/2305))
* Remove the deprecated load_usgs_quakes function (deprecated since v0.6.0) ([2306](https://github.com/GenericMappingTools/pygmt/pull/2306))
* pygmt.grdtrack: Remove the warning about the incorrect parameter order of 'points, grid' (warned since v0.7.0) ([2312](https://github.com/GenericMappingTools/pygmt/pull/2312))

Bug Fixes

* GMTDataArrayAccessor: Fallback to default grid registration and gtype if the grid source file doesn't exist ([2009](https://github.com/GenericMappingTools/pygmt/pull/2009))
* Figure.subplot: Fix setting "sharex", "sharey", and "frame" in combination with Figure.basemap ([2417](https://github.com/GenericMappingTools/pygmt/pull/2417))
* Figure.subplot: Fix strange positioning issues after exiting subplot ([2427](https://github.com/GenericMappingTools/pygmt/pull/2427))
* pygmt.config: Correctly reset to default values that contain whitespaces ([2331](https://github.com/GenericMappingTools/pygmt/pull/2331))
* pygmt.set_display: Do nothing when the display method is set to 'none' ([2450](https://github.com/GenericMappingTools/pygmt/pull/2450))

Documentation

* GMTDataArrayAccessor: Add inline examples for setting GMT specific properties ([2370](https://github.com/GenericMappingTools/pygmt/pull/2370))
* Document limitations of GMT xarray accessors ([2375](https://github.com/GenericMappingTools/pygmt/pull/2375))
* Revise the notes about registration and gtype of remote datasets ([2384](https://github.com/GenericMappingTools/pygmt/pull/2384))
* Add project keywords to the pyproject.toml file ([2315](https://github.com/GenericMappingTools/pygmt/pull/2315))
* Add inline example for colorbar ([2373](https://github.com/GenericMappingTools/pygmt/pull/2373))
* Add inline example for grdview ([2381](https://github.com/GenericMappingTools/pygmt/pull/2381))
* Add inline example for load_earth_mask ([2355](https://github.com/GenericMappingTools/pygmt/pull/2355))
* Add inline example for load_earth_vertical_gravity_gradient ([2356](https://github.com/GenericMappingTools/pygmt/pull/2356))
* Add inline examples and improve documentation for pygmt.set_display ([2458](https://github.com/GenericMappingTools/pygmt/pull/2458))
* Add gallery example showing how to use patterns via the "fill" parameter (or similar parameters) ([2329](https://github.com/GenericMappingTools/pygmt/pull/2329))
* Add gallery example for scatter plot with histograms on sides ([2410](https://github.com/GenericMappingTools/pygmt/pull/2410))
* Add gallery example showing how to use advanced grdgradient via the "azimuth" & "normalize" parameters ([2354](https://github.com/GenericMappingTools/pygmt/pull/2354))
* Add gallery example for the Figure.timestamp method ([2391](https://github.com/GenericMappingTools/pygmt/pull/2391))
* Expand gallery example "Colorbar" for categorical data ([2395](https://github.com/GenericMappingTools/pygmt/pull/2395))
* Expand gallery example "Focal mechanisms" to use "*fill" and "pen" ([2433](https://github.com/GenericMappingTools/pygmt/pull/2433))
* Add working example to quickstart section of README ([2369](https://github.com/GenericMappingTools/pygmt/pull/2369))
* Recommend Mambaforge and mamba in the installation and contributing guides ([2385](https://github.com/GenericMappingTools/pygmt/pull/2385))

Maintenance

* Add the GMTSampleData class to simplify the load_sample_data and list_sample_data functions ([2342](https://github.com/GenericMappingTools/pygmt/pull/2342))
* Add a new target 'doctest' to run doctests only and simplify Makefile ([2443](https://github.com/GenericMappingTools/pygmt/pull/2443))
* Add a package-level variable `__gmt_version__` for development use ([2366](https://github.com/GenericMappingTools/pygmt/pull/2366))
* Allow printing show_versions() to in-memory buffer to enable testing ([2399](https://github.com/GenericMappingTools/pygmt/pull/2399))
* Accept a dict containing configurable GMT parameters in build_arg_string ([2324](https://github.com/GenericMappingTools/pygmt/pull/2324))
* Publish to TestPyPI and PyPI via OpenID Connect token ([2453](https://github.com/GenericMappingTools/pygmt/pull/2453))
* Remove --sdist --wheel flags from the build command ([2420](https://github.com/GenericMappingTools/pygmt/pull/2420))
* Replace ModuleNotFoundError with the more general ImportError ([2441](https://github.com/GenericMappingTools/pygmt/pull/2441))

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Wei Ji Leong](https://github.com/weiji14)
* [Michael Grund](https://github.com/michaelgrund)
* [Will Schlitzer](https://github.com/willschlitzer)
* [Jing-Hui Tong](https://github.com/jhtong33)
* [Max Jones](https://github.com/maxrjones)

---

0.8.0

[![Digital Object Identifier for PyGMT v0.8.0](https://zenodo.org/badge/DOI/10.5281/zenodo.7481934.svg)](https://doi.org/10.5281/zenodo.7481934)

Highlights

* 🎉 **Eighth minor release of PyGMT** 🎉
* Added support for tab auto-completion for all GMT default parameters ([2213](https://github.com/GenericMappingTools/pygmt/pull/2213))
* Created functions to download GMT remote datasets ([1786](https://github.com/GenericMappingTools/pygmt/issues/1786))
* Wrapped the ternary module ([1431](https://github.com/GenericMappingTools/pygmt/pull/1431))
* Added an intro tutorial for creating contour maps ([2126](https://github.com/GenericMappingTools/pygmt/pull/2126))

New Features

* Add load_earth_free_air_anomaly function for Earth free-air anomaly dataset ([2238](https://github.com/GenericMappingTools/pygmt/pull/2238))
* Add load_earth_geoid function for Earth Geoid dataset ([2236](https://github.com/GenericMappingTools/pygmt/pull/2236))
* Add load_earth_magnetic_anomaly function for Earth magnetic anomaly dataset ([2196](https://github.com/GenericMappingTools/pygmt/pull/2196), [#2239](https://github.com/GenericMappingTools/pygmt/pull/2239), [#2241](https://github.com/GenericMappingTools/pygmt/pull/2241))
* Add load_earth_vertical_gravity_gradient function for Earth vertical gravity gradient dataset ([2240](https://github.com/GenericMappingTools/pygmt/pull/2240))
* load_earth_relief: Add the support of data sources "gebco" , "gebcosi", and "synbath" ([1818](https://github.com/GenericMappingTools/pygmt/pull/1818), [#2162](https://github.com/GenericMappingTools/pygmt/pull/2162), [#2192](https://github.com/GenericMappingTools/pygmt/pull/2192), [#2281](https://github.com/GenericMappingTools/pygmt/pull/2281))
* Wrap ternary ([1431](https://github.com/GenericMappingTools/pygmt/pull/1431))

Enhancements

* Set gridline (if available) as the default grid registration for remote datasets ([2266](https://github.com/GenericMappingTools/pygmt/pull/2266))
* Add ternary sample dataset ([2211](https://github.com/GenericMappingTools/pygmt/pull/2211))
* Figure.ternary: Add parameters "alabel", "blabel", and "clabel" ([2139](https://github.com/GenericMappingTools/pygmt/pull/2139))
* Figure.psconvert: Add a new alias "gs_path" (-G) ([2076](https://github.com/GenericMappingTools/pygmt/pull/2076))
* Figure.psconvert: Check if the given prefix is valid ([2170](https://github.com/GenericMappingTools/pygmt/pull/2170))
* Figure.savefig: Raise a FileNotFoundError if the parent directory doesn't exist ([2160](https://github.com/GenericMappingTools/pygmt/pull/2160))
* Figure.show: Allow keyword arguments passed to Figure.psconvert ([2078](https://github.com/GenericMappingTools/pygmt/pull/2078))
* pygmt.config: Support tab auto-completion for all GMT defaults ([2213](https://github.com/GenericMappingTools/pygmt/pull/2213))
* Rewrite the meca function to support offsetting and labeling beachballs ([1784](https://github.com/GenericMappingTools/pygmt/pull/1784))

Deprecations

* Deprecate xshift (X) and yshift (Y) aliases from all plotting modules (remove in v0.12.0) ([2071](https://github.com/GenericMappingTools/pygmt/pull/2071))
* Figure.plot: Deprecate parameter "color" to "fill" (remove in v0.12.0) ([2177](https://github.com/GenericMappingTools/pygmt/pull/2177))
* Figure.plot3d: Deprecate parameter "color" to "fill" (remove in v0.12.0) ([2178](https://github.com/GenericMappingTools/pygmt/pull/2178))
* Figure.rose: Deprecate parameter color to fill (remove in v0.12.0) ([2181](https://github.com/GenericMappingTools/pygmt/pull/2181))
* Figure.velo: Deprecate parameters "color" to "fill" and "uncertaintycolor" to "uncertaintyfill" (remove in v0.12.0) ([2206](https://github.com/GenericMappingTools/pygmt/pull/2206))
* Figure.wiggle: Deprecate parameter "color" (remove in v0.12.0) and add "fillpositive"/"fillnegative" ([2205](https://github.com/GenericMappingTools/pygmt/pull/2205))
* Figure.psconvert: Remove the deprecated parameter "icc_gray" (deprecated since v0.6.0) ([2267](https://github.com/GenericMappingTools/pygmt/pull/2267))
* Figure.text: Deprecate parameter "incols" to "use_word" (remove in v0.10.0) ([1964](https://github.com/GenericMappingTools/pygmt/pull/1964))

Bug Fixes

* Figure.meca: Fix line and circle of offset parameter for dict/pandas input ([2226](https://github.com/GenericMappingTools/pygmt/pull/2226))
* Figure.meca: Fix beachball offsetting with dict/pandas inputs ([2202](https://github.com/GenericMappingTools/pygmt/pull/2202))
* Figure.meca: Fix the bug when passing a dict of scalar values to the spec parameter ([2174](https://github.com/GenericMappingTools/pygmt/pull/2174))
* Figure.ternary: Fix the crash for pd.DataFrame input with GMT 6.3.0-6.4.0 ([2274](https://github.com/GenericMappingTools/pygmt/pull/2274))

Documentation

* Add intro tutorial section for creating contour map ([2126](https://github.com/GenericMappingTools/pygmt/pull/2126))
* Add gallery example for Figure.ternary method ([2138](https://github.com/GenericMappingTools/pygmt/pull/2138))
* Add gallery example showing the usage of vertical and horizontal bars ([1521](https://github.com/GenericMappingTools/pygmt/pull/1521))
* Add inline example for coast ([2142](https://github.com/GenericMappingTools/pygmt/pull/2142))
* Add inline example for grdcontour ([2148](https://github.com/GenericMappingTools/pygmt/pull/2148))
* Add inline example for grdimage ([2146](https://github.com/GenericMappingTools/pygmt/pull/2146))
* Add inline example for grd2cpt ([2145](https://github.com/GenericMappingTools/pygmt/pull/2145))
* Add inline example for solar ([2147](https://github.com/GenericMappingTools/pygmt/pull/2147))
* Add SciPy 2022 talk to presentations ([2053](https://github.com/GenericMappingTools/pygmt/pull/2053))
* Add instructions to install pygmt kernel for Jupyter users ([2153](https://github.com/GenericMappingTools/pygmt/pull/2153))
* Improve instructions about setting GMT_LIBRARY_PATH env variable ([2136](https://github.com/GenericMappingTools/pygmt/pull/2136))
* Add badges for conda package version, license, and twitter ([2081](https://github.com/GenericMappingTools/pygmt/pull/2081))
* Add PyOpenSci peer reviewed badge to main README ([2112](https://github.com/GenericMappingTools/pygmt/pull/2112))

Maintenance

* Add an internal function to load GMT remote datasets ([2200](https://github.com/GenericMappingTools/pygmt/pull/2200))
* Add support for Python 3.11 ([2172](https://github.com/GenericMappingTools/pygmt/pull/2172))
* NEP29: Test PyGMT on NumPy 1.24 ([2256](https://github.com/GenericMappingTools/pygmt/pull/2256))
* NEP29: Test PyGMT on NumPy 1.23 and 1.21 ([2057](https://github.com/GenericMappingTools/pygmt/pull/2057))
* Bump the GMT version in CI to 6.4.0 ([1990](https://github.com/GenericMappingTools/pygmt/pull/1990))
* Update baseline images for GMT 6.4.0 ([1883](https://github.com/GenericMappingTools/pygmt/pull/1883))
* Migrate Continuous Documentation from Vercel to Readthedocs ([1859](https://github.com/GenericMappingTools/pygmt/pull/1859))
* Set nested_sections to False for Sphinx-Gallery 0.11.0 regarding a correct navgation bar ([2046](https://github.com/GenericMappingTools/pygmt/pull/2046))
* Convert bug report, feature, and module request issue templates into yaml configured forms ([2091](https://github.com/GenericMappingTools/pygmt/pull/2091), [#2214](https://github.com/GenericMappingTools/pygmt/pull/2214), [#2216](https://github.com/GenericMappingTools/pygmt/pull/2216))
* doc: Set different html_baseurl for stable and dev versions ([2158](https://github.com/GenericMappingTools/pygmt/pull/2158))
* Update the instructions for checking README syntax ([2265](https://github.com/GenericMappingTools/pygmt/pull/2265))
* Use longname placeholders in the docstrings for common options ([1932](https://github.com/GenericMappingTools/pygmt/pull/1932))
* Add optional dependencies to pyproject.toml ([2069](https://github.com/GenericMappingTools/pygmt/pull/2069))
* Migrate project metadata from setup.py to pyproject.toml following PEP621 ([1848](https://github.com/GenericMappingTools/pygmt/pull/1848))
* Move blackdoc options to pyproject.toml ([2093](https://github.com/GenericMappingTools/pygmt/pull/2093))
* Move docformatter options from Makefile to pyproject.toml ([2072](https://github.com/GenericMappingTools/pygmt/pull/2072))
* Replace flake8 with flakeheaven ([1847](https://github.com/GenericMappingTools/pygmt/pull/1847))
* Add a workflow and Makefile target to test old GMT versions every Tuesday ([2079](https://github.com/GenericMappingTools/pygmt/pull/2079))
* Check if a module outputs to a temporary file using "Path().stat().st_size > 0" ([2224](https://github.com/GenericMappingTools/pygmt/pull/2224))
* pygmt.show_versions: Show GMT binary version and hide the Python interpreter path ([1838](https://github.com/GenericMappingTools/pygmt/pull/1838))
* Refactor grdview and grdimage to use virtualfile_from_data ([1988](https://github.com/GenericMappingTools/pygmt/pull/1988))
* Use the org-wide code of conduct ([2020](https://github.com/GenericMappingTools/pygmt/pull/2020))

Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Will Schlitzer](https://github.com/willschlitzer)
* [Michael Grund](https://github.com/michaelgrund)
* [Wei Ji Leong](https://github.com/weiji14)
* [Max Jones](https://github.com/maxrjones)

---

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.