Skip to content

Commit

Permalink
Merge branch 'main' into load_remote_dataset
Browse files Browse the repository at this point in the history
  • Loading branch information
seisman authored Jan 7, 2025
2 parents aa84d62 + e0f8e84 commit ef2f7c5
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 40 deletions.
18 changes: 7 additions & 11 deletions .github/ISSUE_TEMPLATE/4-release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,15 @@ assignees: ''

**Before release**:

- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and
core package dependencies (NumPy, pandas, Xarray)
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, Xarray)
- [ ] Review the ["PyGMT Team" page](https://www.pygmt.org/dev/team.html)
- [ ] README looks good on TestPyPI. Visit [TestPyPI](https://test.pypi.org/project/pygmt/#history), click the latest pre-release, and check the homepage.
- [ ] Check to ensure that:
- [ ] Deprecated workarounds/codes/tests are removed. Run `grep "# TODO" **/*.py` to find all potential TODOs.
- [ ] All tests pass in the ["GMT Legacy Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_legacy.yaml)
- [ ] All tests pass in the ["GMT Dev Tests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests_dev.yaml)
- [ ] All tests pass in the ["Doctests" workflow](https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_doctests.yaml)
- [ ] Update warnings in `pygmt/_show_versions.py` as well as notes in
[Not working transparency](https://www.pygmt.org/dev/install.html#not-working-transparency)
regarding GMT-Ghostscript incompatibility
- [ ] Update warnings in `pygmt/_show_versions.py` as well as notes in [Not working transparency](https://www.pygmt.org/dev/install.html#not-working-transparency) regarding GMT-Ghostscript incompatibility
- [ ] Reserve a DOI on [Zenodo](https://zenodo.org) by clicking on "New Version"
- [ ] Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference)
- [ ] Run `make codespell` to check common misspellings. If there are any, either fix them or add them to `ignore-words-list` in `pyproject.toml`
Expand All @@ -41,18 +39,16 @@ assignees: ''
- [ ] Edit the draft release notes with the finalized changelog
- [ ] Set the tag version and release title to vX.Y.Z
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from
the release page, and upload the two zip files to https://zenodo.org/deposit,
ensure that they are filed under the correct reserved DOI
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from the release page, and upload the two zip files to https://zenodo.org/deposit, ensure that they are filed under the correct reserved DOI

**After release**:

- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock)
[Done automatically by conda-forge's bot. Remember to pin Python and SPEC0 versions]
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Done automatically by conda-forge's bot. Remember to pin GMT, Python and SPEC0 versions]
- [ ] Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update)
- [ ] Announce the release on:
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! Requires moderator status)
- [ ] [ResearchGate](https://www.researchgate.net) (after forum announcement, add new version as research item via the **code** category, be sure to include the corresponding new Zenodo DOI)
- [ ] [ResearchGate](https://www.researchgate.net) (after forum announcement; download the ZIP file of the new release from the release page and add it as research item via the **code** category, be sure to include the corresponding new Zenodo DOI)
- [ ] Update release checklist template with any additional bullet points that may have arisen during the release

---

Expand Down
4 changes: 4 additions & 0 deletions doc/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
* [Will Schlitzer](https://github.com/willschlitzer)
* [Jiayuan Yao](https://github.com/core-man)

---

## Release v0.13.0 (2024/09/05)

[![Digital Object Identifier for PyGMT v0.13.0](https://zenodo.org/badge/DOI/10.5281/zenodo.13679420.svg)](https://doi.org/10.5281/zenodo.13679420)
Expand Down Expand Up @@ -280,6 +282,8 @@
* [Michael Grund](https://github.com/michaelgrund)
* [Wei Ji Leong](https://github.com/weiji14)

---

## Release v0.11.0 (2024/02/01)

[![Digital Object Identifier for PyGMT v0.11.0](https://zenodo.org/badge/DOI/10.5281/zenodo.10578540.svg)](https://doi.org/10.5281/zenodo.10578540)
Expand Down
49 changes: 36 additions & 13 deletions pygmt/src/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
plot - Plot in two dimensions.
"""

from typing import Literal

from pygmt.clib import Session
from pygmt.exceptions import GMTInvalidInput
from pygmt.helpers import (
Expand Down Expand Up @@ -49,7 +51,15 @@
)
@kwargs_to_strings(R="sequence", c="sequence_comma", i="sequence_comma", p="sequence")
def plot(
self, data=None, x=None, y=None, size=None, symbol=None, direction=None, **kwargs
self,
data=None,
x=None,
y=None,
size=None,
symbol=None,
direction=None,
straight_line: bool | Literal["x", "y"] = False, # noqa: ARG001
**kwargs,
):
r"""
Plot lines, polygons, and symbols in 2-D.
Expand Down Expand Up @@ -98,18 +108,29 @@ def plot(
depending on the style options chosen.
{projection}
{region}
straight_line : bool or str
[**m**\|\ **p**\|\ **x**\|\ **y**].
By default, geographic line segments are drawn as great circle
arcs. To draw them as straight lines, use
``straight_line=True``.
Alternatively, add **m** to draw the line by first following a
meridian, then a parallel. Or append **p** to start following a
parallel, then a meridian. (This can be practical to draw a line
along parallels, for example). For Cartesian data, points are
simply connected, unless you append **x** or **y** to draw
stair-case curves that whose first move is along *x* or *y*,
respectively.
straight_line
By default, line segments are drawn as straight lines in the Cartesian and polar
coordinate systems, and as great circle arcs (by resampling coarse input data
along such arcs) in the geographic coordinate system. The ``straight_line``
parameter can control the drawing of line segments. Valid values are:
- ``True``: Draw line segments as straight lines in geographic coordinate
systems.
- ``"x"``: Draw line segments by first along *x*, then along *y*.
- ``"y"``: Draw line segments by first along *y*, then along *x*.
Here, *x* and *y* have different meanings depending on the coordinate system:
- **Cartesian** coordinate system: *x* and *y* are the X- and Y-axes.
- **Polar** coordinate system: *x* and *y* are theta and radius.
- **Geographic** coordinate system: *x* and *y* are parallels and meridians.
.. attention::
There exits a bug in GMT<=6.5.0 that, in geographic coordinate systems, the
meaning of *x* and *y* is reversed, i.e., *x* means meridians and *y* means
parallels. The bug is fixed by upstream
`PR #8648 <https://github.com/GenericMappingTools/gmt/pull/8648>`__.
{frame}
{cmap}
offset : str
Expand Down Expand Up @@ -206,6 +227,8 @@ def plot(
``x``/``y``.
{wrap}
"""
# TODO(GMT>6.5.0): Remove the note for the upstream bug of the "straight_line"
# parameter.
kwargs = self._preprocess(**kwargs)

kind = data_kind(data)
Expand Down
42 changes: 30 additions & 12 deletions pygmt/src/plot3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
plot3d - Plot in three dimensions.
"""

from typing import Literal

from pygmt.clib import Session
from pygmt.exceptions import GMTInvalidInput
from pygmt.helpers import (
Expand Down Expand Up @@ -58,6 +60,7 @@ def plot3d(
size=None,
symbol=None,
direction=None,
straight_line: bool | Literal["x", "y"] = False, # noqa: ARG001
**kwargs,
):
r"""
Expand Down Expand Up @@ -108,18 +111,31 @@ def plot3d(
zscale/zsize : float or str
Set z-axis scaling or z-axis size.
{region}
straight_line : bool or str
[**m**\|\ **p**\|\ **x**\|\ **y**].
By default, geographic line segments are drawn as great circle
arcs. To draw them as straight lines, use ``straight_line``.
Alternatively, add **m** to draw the line by first following a
meridian, then a parallel. Or append **p** to start following a
parallel, then a meridian. (This can be practical to draw a line
along parallels, for example). For Cartesian data, points are
simply connected, unless you append **x** or **y** to draw
stair-case curves that whose first move is along *x* or *y*,
respectively. **Note**: The ``straight_line`` parameter requires
constant *z*-coordinates.
straight_line
By default, line segments are drawn as straight lines in the Cartesian and polar
coordinate systems, and as great circle arcs (by resampling coarse input data
along such arcs) in the geographic coordinate system. The ``straight_line``
parameter can control the drawing of line segments. Valid values are:
- ``True``: Draw line segments as straight lines in geographic coordinate
systems.
- ``"x"``: Draw line segments by first along *x*, then along *y*.
- ``"y"``: Draw line segments by first along *y*, then along *x*.
Here, *x* and *y* have different meanings depending on the coordinate system:
- **Cartesian** coordinate system: *x* and *y* are the X- and Y-axes.
- **Polar** coordinate system: *x* and *y* are theta and radius.
- **Geographic** coordinate system: *x* and *y* are parallels and meridians.
**NOTE**: The ``straight_line`` parameter requires constant *z*-coordinates.
.. attention::
There exits a bug in GMT<=6.5.0 that, in geographic coordinate systems, the
meaning of *x* and *y* is reversed, i.e., *x* means meridians and *y* means
parallels. The bug is fixed by upstream
`PR #8648 <https://github.com/GenericMappingTools/gmt/pull/8648>`__.
{frame}
{cmap}
offset : str
Expand Down Expand Up @@ -189,6 +205,8 @@ def plot3d(
``x``/``y``/``z``.
{wrap}
"""
# TODO(GMT>6.5.0): Remove the note for the upstream bug of the "straight_line"
# parameter.
kwargs = self._preprocess(**kwargs)

kind = data_kind(data)
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ all = [
]

[project.urls]
homepage = "https://www.pygmt.org"
documentation = "https://www.pygmt.org"
repository = "https://github.com/GenericMappingTools/pygmt"
changelog = "https://www.pygmt.org/latest/changes.html"
"Homepage" = "https://www.pygmt.org"
"Documentation" = "https://www.pygmt.org"
"Source Code" = "https://github.com/GenericMappingTools/pygmt"
"Changelog" = "https://www.pygmt.org/latest/changes.html"
"Issue Tracker" = "https://github.com/GenericMappingTools/pygmt/issues"

[tool.setuptools]
platforms = ["Any"]
Expand Down

0 comments on commit ef2f7c5

Please sign in to comment.