Skip to content

v0.14.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 31 Dec 16:47
· 22 commits to refs/heads/main since this release
2a84b5e

Release v0.14.0 (2024/12/31)

Digital Object Identifier for PyGMT v0.14.0

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

Contributors