github-actions
released this
05 Sep 11:54
·
244 commits
to refs/heads/main
since this release
Release v0.13.0 (2024/09/05)
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