Skip to content

v0.12.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 May 11:14
· 38 commits to refs/heads/main since this release
3986056

Release v0.12.0 (2024/05/01)

Digital Object Identifier for PyGMT v0.12.0

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

Deprecations

  • Figure.plot/plot3d/rose: Remove deprecated parameter "color", use "fill" instead (deprecated since v0.8.0) (#3032)
  • Figure.velo: Remove deprecated parameters "color"/"uncertaintycolor", use "fill"/"uncertaintyfill" instead (deprecated since v0.8.0) (#3034)
  • Figure.wiggle: Remove deprecated parameter "color", use "fillpositive"/"fillnegative" instead (deprecated since v0.8.0) (#3035)
  • Figure.grdimage: Remove deprecated parameter "bit_color", use "bitcolor" instead (deprecated since v0.8.0) (#3036)
  • Figure: Remove deprecated "xshift" ("X") and "yshift" ("Y") parameters, use "Figure.shift_origin" instead (deprecated since v0.8.0) (#3044)
  • Figure: Remove deprecated "timestamp" ("U") parameter, use "Figure.timestamp" instead (deprecated since v0.9.0) (#3045)
  • clib: Rename the "virtualfile_from_data" method to "virtualfile_in" (#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)
  • 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)
  • Figure.grdcontour: Deprecate parameter "interval" to "levels" (FutureWarning since v0.12.0, will be removed in v0.16.0) (#3209)

Documentation

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

Maintenance

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

Full Changelog: v0.11.0...v0.12.0

Contributors