v0.11.0
github-actions
released this
01 Feb 13:34
·
576 commits
to refs/heads/main
since this release
Release v0.11.0 (2024/02/01)
Highlights
- π Eleventh minor release of PyGMT π
- Tutorial for table inputs (#2722) and gallery example for choropleth map (#2796)
- Easy access to planetary relief datasets (Mercury, Venus, Moon, Mars, Pluto) (#3028, #2906, #2674, #2847, #3027)
- Faster PyGMT by ~0.1 seconds for each module call (#2930)
New Features
- Support timedelta64 dtype as input (#2884)
- Figure.text: Support passing in a list of angle/font/justify values (#2720)
- Figure.savefig: Support saving figures in PPM (.ppm) format (#2771)
- Figure.savefig: Support generating GeoTIFF file (with extension '.tiff') (#2698)
- Figure.savefig: Add the 'worldfile' parameter to write a companion world file for raster images (#2766)
Enhancements
- geopandas: Correctly handle columns with integer values bigger than the largest 32-bit integer (#2841)
- pyarrow: Support date32[day] and date64[ms] dtypes in pandas objects (#2845)
- datasets.load_tile_map and Figure.tilemap: Add "zoom_adjust" parameter (#2934)
- grdlandmask: Add common alias "cores" for "x" (#2944)
- Figure.coast: Add alias "box" for "-F" (#2823)
- Improve the error messages for unsupported numpy dtypes (#2856)
- Set GMT_SESSION_NAME to a unique name on Windows for multiprocessing support (#2938)
- Figure.savefig: Support .jpeg as JPEG image extension (#2691)
- Figure.savefig: Support uppercase file extensions (e.g., PNG, PDF) (#2697)
Deprecations
- Rename API function Session.open_virtual_file to Session.open_virtualfile (remove in v0.15.0) (#2996)
- NEP29: Set minimum required version to NumPy 1.23+ (#2991)
- Figure.timestamp: Deprecate parameter 'justification' to 'justify' (remove in v0.13.0) (#3002)
- Figure.grdimage: Remove the unsupported 'img_out'/'A' parameter (#2907)
Bug Fixes
- pygmt.which: Fix the bug when passing multiple files (#2726)
- pygmt.filter1d: Fix the bug that the first line is read as headers (#2780)
- clib: Fix the bug when passing multiple columns of strings with variable lengths to the GMT C API (#2719)
- Let kwargs_to_strings work with default values and positional arguments (#2826)
- Figure.meca: Fix typo pricipal_axis -> principal_axis (#2940)
Documentation
- Add gallery example "Scale bar" (#2822)
- Add gallery example for plotting connection lines ("connection" parameter of Figure.plot) (#2999)
- Add gallery example showing how to adjust line segment ends (caps and joints) (#3015)
- Gallery example "Legend": Update regarding input data and multi-column legends (#2762)
- Add the Japanese "PyGMT-HOWTO" tutorial to "External Resources" (#2743)
- Figure.plot: Update docstring for "connection" parameter to GMT 6.5 (#2994)
- Use consistent description for the "outgrid" parameter (#2874)
- Improve the onboarding access checklist for contributors, maintainers and administrators (#2656)
- Recommend Miniforge instead of Mambaforge (#2833)
Maintenance
- pyarrow: Check compatibility of pyarrow-backed pandas objects with numeric dtypes (#2774)
- Switch away from Stamen basemaps (#2717)
- Add the "validate_output_table_type" function to check the "output_type" parameter (#2772)
- Create "skip_if_no" helper function to skip tests when missing a package (#2883)
- Fix "fixture_xr_image" to open "earth_day_01d_p" directly with rioxarray (#2963)
- Improve the way to import optional modules (#2809)
- Move variable
__gmt_version__
to pygmt.clib to avoid cyclic-import errors (#2713) - Refactor the internal "_load_remote_dataset function" to simplify datasets' definitions (#2917)
- Benchmark grdsample, grdfilter and sph2grd with fixed cores (#2945)
- Setup Continuous Benchmarking workflow with pytest-codspeed (#2908)
- Update output shape and mean values from some x2sys_cross tests (#2986)
- Bump the GMT version in CI to 6.5.0 (#2962)
- Bump ghostscript to 10.02.1 (#2694)
- Add support for Python 3.12 (#2711)
- NEP29: Test PyGMT on NumPy 1.26 (#2692)
- CI: Trigger the cache_data workflow in PRs if cache files are added/deleted/updated (#2939)
- CI: Test GMT dev version on Windows by building from source (#2773)
- CI: Set cache-downloads to false to speedup the "Setup Micromamba" step (#2946)
- CI: Run certain GitHub Actions workflows on official repo only (#2951)
- CI: Run benchmarks if PR is labeled with "run/benchmark" (#2958)
- CI: Run "GMT Dev Tests" if PR is labeled with "run/test-gmt-dev" (#2960)
- CI: Require at least one code block separator for example files in the Style Checks workflow (#2810)
- Add Mypy for static type checking (#2808)
- TYP: Improve the doc style for type hints (#2813)
- TYP: Add type hints support for pygmt.datasets.load_sample_data (#2859)
- TYP: Add type hints for the "registration" parameter in pygmt.datasets.load_* functions (#2867)
- TYP: Add type hints for "data_source" in load_earth_relief and load_earth_magnetic_anomaly functions (#2849)
- TYP: Add type hints for parameters of Figure.timestamp(#2890)
- TYP: Add type hints for "terminator" in Figure.solar and simplify codes (#2881)
- TYP: Add type hints for parameters of Figure.shift_origin, improve docstrings, and add inline examples (#2879)
- doc: Convert the installation guides source code from ReST to Markdown (#2992)
- doc: Convert overview source code from ReST to Markdown (#2953)
- doc: Move compatibility table from README to separate file (#2862)
- Enable the PDF format documentation in the ReadTheDocs site (#2876)
- Add the full changelog link to the release drafter template (#2838)
- Release Drafter: Automatically replace GitHub handles with names and links (#2777)
- Exclude CODE_OF_CONDUCT.md, AUTHORSHIP.md and pygmt/tests directory from distributions (#2957)
- Add Zenodo's GMT community to the maintainer's onboarding list (#2761)
- Use ruff to lint and format codes, and remove flakeheaven/isort/black/blackdoc (#2741)
- Use codespell to check common misspellings (#2673)
- Use "# %%" as code block separators in examples (#2662)
Full Changelog: v0.10.0...v0.11.0