Skip to content

v0.13.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 05 Sep 11:54
· 157 commits to refs/heads/main since this release
1ff03a3

Release v0.13.0 (2024/09/05)

Digital Object Identifier for PyGMT v0.13.0

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)
  • Tutorial for "Typesetting non-ASCII characters" (#3389)

New Features

  • Wrap the GMT API function GMT_Read_Data to read data into GMT data containers (#3324)
  • Wrap GMT's standard data type GMT_IMAGE for images (#3338)

Enhancements

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

Deprecations

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

Bug Fixes

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

Documentation

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

Maintenance

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

Full Changelog: v0.12.0...v0.13.0

Contributors