github-actions
released this
31 Dec 16:47
·
22 commits
to refs/heads/main
since this release
Release v0.14.0 (2024/12/31)
Highlights
- ๐ Fourteenth minor release of PyGMT ๐
- Bump minimum supported version to GMT>=6.4.0 (#3450)
- Two new plotting methods and six new functions to access more GMT remote datasets
- PyArrow as an optional dependency and improved support of PyArrow data types (#3592)
New Features
- Add Figure.hlines for plotting horizontal lines (#923)
- Add Figure.vlines for plotting vertical lines (#3726)
- Add load_black_marble to load "Black Marble" dataset (#3469)
- Add load_blue_marble to load "Blue Marble" dataset (#2235)
- Add load_earth_deflection to load "IGPP Earth east-west and north-south deflection" datasets (#3728)
- Add load_earth_dist to load "GSHHG Earth distance to shoreline" dataset (#3706)
- Add load_earth_mean_dynamic_topography to load "CNES Earth Mean Dynamic Topography" dataset (#3718)
- Add load_earth_mean_sea_surface to load "CNES Earth Mean Sea Surface" dataset (#3717)
- load_earth_free_air_anomaly: Add "uncertainty" parameter to load the "IGPP Earth free-air anomaly uncertainty" dataset (#3727)
Enhancements
- Figure.plot: Add the "symbol" parameter to support plotting data points with varying symbols (#1117)
- Figure.plot3d: Add the "symbol" parameter to support plotting data points with varying symbols (#3559)
- Figure.legend: Support passing a StringIO object as the legend specification (#3438)
- load_tile_map: Add parameter "crs" to set the CRS of the returned dataarray (#3554)
- PyArrow: Support pyarrow arrays with string/large_string/string_view types (#3619)
- Support 1-D/2-D numpy arrays with longlong and ulonglong dtype (#3566)
- GMT_IMAGE: Implement the to_dataarray method for 3-band images (#3128)
- Ensure non-ASCII characters are typeset correctly even if PS_CHAR_ENCODING is not "ISOLatin1+" (#3611)
- Add enums GridRegistration and GridType for grid registration and type (#3693)
Deprecations
- SPEC 0: Bump minimum supported versions to Python 3.11, NumPy 1.25, pandas>=2.0 and xarray>=2023.04 (#3460, #3606, #3697)
- clib.Session.virtualfile_from_vectors: Now takes a sequence of vectors as its single argument (Passing multiple arguments will be unsupported in v0.16.0) (#3522)
- Remove the deprecated build_arg_string function (deprecated since v0.12.0) (#3427)
- Figure.grdcontour: Remove the deprecated syntax for the 'annotation' parameter (deprecated since v0.12.0) (#3428)
Bug Fixes
- launch_external_viewer: Use full path when opening the file in a web browser (#3647)
- PyArrow: Map date32[day]/date64[ms] dtypes in pandas objects to np.datetime64 with correct date/time units (#3617)
- clib.session: Add the GMT_SESSION_NOGDALCLOSE flag to keep GDAL open (#3672)
- Set the "Conventions" attribute to "CF-1.7" for netCDF grids only (#3463)
- Fix the conversion error for pandas.Series with missing values in pandas<=2.1 (#3505, #3596)
- GeoPandas: Explicitly convert columns with overflow integers to avoid OverflowError with fiona 1.10 (#3455)
- Figure.plot/Figure.plot3d: Improve the check of the "style" parameter for "v" or "V" (#3603)
- Correctly reserve the grid data dtype by converting ctypes array to numpy array with np.ctypeslib.as_array (#3446)
- Breaking: Figure.text: Fix typesetting of integers when mixed with floating-point values (#3493)
Documentation
- Add basic tutorial "Plotting polygons" (#3593)
- Update the gallery example for plotting lines with LineString/MultiLineString geometry (#3711)
- Add the PyGMT ecosystem page (#3475)
- Document the support policy for optional packages (#3616)
- Document the environment variables that can affect the behavior of PyGMT (#3432)
- Document the built-in patterns in the Technical Reference section (#3466)
- Document Continuous Benchmarking in Maintainers Guides (#3631)
- Add instructions for installing optional dependencies (#3506)
- Update "PyData Ecosystem" to "Scientific Python Ecosystem" (#3447)
- Figure.savefig: Clarify that the "transparent" parameter also works for the PNG file associated with the KML format (#3579)
- Add the PyGMT talk at AGU24 to the "Overview" section (#3685)
- Add the GMT/PyGMT pre-conference workshop at AGU24 to the "External resources" section (#3689)
- Add TODO comments in the maintainers guides and update the release checklist (#3724)
Maintenance
- Breaking: data_kind: data is None and required now returns the "empty" kind (#3482)
- Breaking: data_kind: Now "matrix" represents a 2-D numpy array and unrecognized data types fall back to "vectors" (#3351)
- Add Support for Python 3.13 (#3490)
- Add the Session.virtualfile_from_stringio method to allow StringIO input for certain functions/methods (#3326)
- Add "geodatasets" as a dependency for docs and update the choropleth example (#3719)
- PyArrow: Check compatibility of pyarrow.array with string type (#2933)
- Rename sphinx-gallery's README.txt to GALLERY_HEADER.rst and require Sphinx-Gallery>=0.17.0 (#3348)
- clib.conversion: Remove the as_c_contiguous function and use np.ascontiguousarray instead (#3492)
- Use TODO comments to track deprecations and workarounds (#3722)
- Move Figure.psconvert into a separate file (#3553)
- Improve the data type checking for 2-D arrays passed to the GMT C API (#3563)
- Enable ruff's TD (flake8-todos), COM (flake8-commas), TRY (tryceratops), and EM (flake8-errmsg) rules (#3723, #3531, #3665, #3661)
- CI: Install pyarrow-core instead of pyarrow from conda-forge (#3698)
- CI: Ensure no hyphens in Python file and directory names in the "Style Checks" workflow (#3703)
- Bump to ruff>=0.8.0 and rename rule TCH to TC (#3662)
- Bump to Ghostscript 10.04.0 (#3443)
- Add enums GridFormat for GMT grid format ID (#3449)
Full Changelog: v0.13.0...v0.14.0