From 6ab0ecb1e8425d0287cb47f9d5c0c1f30087d55a Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Fri, 17 Jul 2026 09:15:45 +0800 Subject: [PATCH 1/4] Figure.directional_rose/Figure.magnetic_rose: Fix compatibility with upcoming GMT 6.7.0 --- pygmt/src/directional_rose.py | 14 +++----------- pygmt/src/magnetic_rose.py | 14 +++----------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/pygmt/src/directional_rose.py b/pygmt/src/directional_rose.py index 909353acea3..5fc9b7988cf 100644 --- a/pygmt/src/directional_rose.py +++ b/pygmt/src/directional_rose.py @@ -5,10 +5,9 @@ from collections.abc import Sequence from typing import Literal -from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session, __gmt_version__ +from pygmt.clib import Session from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position from pygmt.src._common import _parse_position @@ -84,15 +83,8 @@ def directional_rose( """ self._activate_figure() - # The default position is set to "TR" since GMT 6.7.0, which has no default value - # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. - position = _parse_position( - position, - default=None - if Version(__gmt_version__) > Version("6.6.0") - else Position("TR", cstype="inside"), - ) + # Set the default position to "TR", consistent with GMT 6.7.0 and later versions. + position = _parse_position(position, default=Position("TR", cstype="inside")) aliasdict = AliasSystem( F=Alias(box, name="box"), diff --git a/pygmt/src/magnetic_rose.py b/pygmt/src/magnetic_rose.py index 9f64a8df422..4efedaebe8b 100644 --- a/pygmt/src/magnetic_rose.py +++ b/pygmt/src/magnetic_rose.py @@ -5,10 +5,9 @@ from collections.abc import Sequence from typing import Literal -from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session, __gmt_version__ +from pygmt.clib import Session from pygmt.exceptions import GMTParameterError from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position @@ -109,15 +108,8 @@ def magnetic_rose( # noqa: PLR0913 """ self._activate_figure() - # The default position is set to "TR" since GMT 6.7.0, which has no default value - # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. - position = _parse_position( - position, - default=None - if Version(__gmt_version__) > Version("6.6.0") - else Position("TR", cstype="inside"), - ) + # Set the default position to "TR", consistent with GMT 6.7.0 and later versions. + position = _parse_position(position, default=Position("TR", cstype="inside")) if declination_label is not None: if declination is None: From 2bd166eecc1a013c66cb83bfc4967ef73feb7dda Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Fri, 17 Jul 2026 09:22:36 +0800 Subject: [PATCH 2/4] Revert "Figure.directional_rose/Figure.magnetic_rose: Fix compatibility with upcoming GMT 6.7.0" This reverts commit 6ab0ecb1e8425d0287cb47f9d5c0c1f30087d55a. --- pygmt/src/directional_rose.py | 14 +++++++++++--- pygmt/src/magnetic_rose.py | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/pygmt/src/directional_rose.py b/pygmt/src/directional_rose.py index 5fc9b7988cf..909353acea3 100644 --- a/pygmt/src/directional_rose.py +++ b/pygmt/src/directional_rose.py @@ -5,9 +5,10 @@ from collections.abc import Sequence from typing import Literal +from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session +from pygmt.clib import Session, __gmt_version__ from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position from pygmt.src._common import _parse_position @@ -83,8 +84,15 @@ def directional_rose( """ self._activate_figure() - # Set the default position to "TR", consistent with GMT 6.7.0 and later versions. - position = _parse_position(position, default=Position("TR", cstype="inside")) + # The default position is set to "TR" since GMT 6.7.0, which has no default value + # in GMT 6.6.0 and earlier versions. + # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. + position = _parse_position( + position, + default=None + if Version(__gmt_version__) > Version("6.6.0") + else Position("TR", cstype="inside"), + ) aliasdict = AliasSystem( F=Alias(box, name="box"), diff --git a/pygmt/src/magnetic_rose.py b/pygmt/src/magnetic_rose.py index 4efedaebe8b..9f64a8df422 100644 --- a/pygmt/src/magnetic_rose.py +++ b/pygmt/src/magnetic_rose.py @@ -5,9 +5,10 @@ from collections.abc import Sequence from typing import Literal +from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session +from pygmt.clib import Session, __gmt_version__ from pygmt.exceptions import GMTParameterError from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position @@ -108,8 +109,15 @@ def magnetic_rose( # noqa: PLR0913 """ self._activate_figure() - # Set the default position to "TR", consistent with GMT 6.7.0 and later versions. - position = _parse_position(position, default=Position("TR", cstype="inside")) + # The default position is set to "TR" since GMT 6.7.0, which has no default value + # in GMT 6.6.0 and earlier versions. + # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. + position = _parse_position( + position, + default=None + if Version(__gmt_version__) > Version("6.6.0") + else Position("TR", cstype="inside"), + ) if declination_label is not None: if declination is None: From badaee81892148029b0217218d85e2905c210630 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Fri, 17 Jul 2026 09:23:53 +0800 Subject: [PATCH 3/4] Figure.directional_rose/Figure.magnetic_rose: Fix compatibility with upcoming GMT 6.7.0 --- pygmt/src/directional_rose.py | 4 ++-- pygmt/src/magnetic_rose.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pygmt/src/directional_rose.py b/pygmt/src/directional_rose.py index 909353acea3..68d1e7ed804 100644 --- a/pygmt/src/directional_rose.py +++ b/pygmt/src/directional_rose.py @@ -86,10 +86,10 @@ def directional_rose( # The default position is set to "TR" since GMT 6.7.0, which has no default value # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. + # TODO(GMT>6.6.0): Set 'default=True' after GMT 6.7.0. position = _parse_position( position, - default=None + default=True # Use GMT default position but need to set to True to activate -Td if Version(__gmt_version__) > Version("6.6.0") else Position("TR", cstype="inside"), ) diff --git a/pygmt/src/magnetic_rose.py b/pygmt/src/magnetic_rose.py index 9f64a8df422..76cfb3efb31 100644 --- a/pygmt/src/magnetic_rose.py +++ b/pygmt/src/magnetic_rose.py @@ -111,10 +111,10 @@ def magnetic_rose( # noqa: PLR0913 # The default position is set to "TR" since GMT 6.7.0, which has no default value # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=None' after GMT 6.7.0. + # TODO(GMT>6.6.0): Set 'default=True' after GMT 6.7.0. position = _parse_position( position, - default=None + default=True # Use GMT default position but need to set to True to activate -Tm if Version(__gmt_version__) > Version("6.6.0") else Position("TR", cstype="inside"), ) From fce133515fa326fd61ce1d4ca45e126f1ff6df6b Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Sat, 18 Jul 2026 14:19:00 +0800 Subject: [PATCH 4/4] Set the default to TR --- pygmt/src/directional_rose.py | 14 +++----------- pygmt/src/magnetic_rose.py | 14 +++----------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/pygmt/src/directional_rose.py b/pygmt/src/directional_rose.py index 68d1e7ed804..6856850081e 100644 --- a/pygmt/src/directional_rose.py +++ b/pygmt/src/directional_rose.py @@ -5,10 +5,9 @@ from collections.abc import Sequence from typing import Literal -from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session, __gmt_version__ +from pygmt.clib import Session from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position from pygmt.src._common import _parse_position @@ -84,15 +83,8 @@ def directional_rose( """ self._activate_figure() - # The default position is set to "TR" since GMT 6.7.0, which has no default value - # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=True' after GMT 6.7.0. - position = _parse_position( - position, - default=True # Use GMT default position but need to set to True to activate -Td - if Version(__gmt_version__) > Version("6.6.0") - else Position("TR", cstype="inside"), - ) + # Set the default position to "TR" to be consistent with the behavior in GMT 6.7.0 + position = _parse_position(position, default=Position("TR", cstype="inside")) aliasdict = AliasSystem( F=Alias(box, name="box"), diff --git a/pygmt/src/magnetic_rose.py b/pygmt/src/magnetic_rose.py index 76cfb3efb31..f4b873fcee0 100644 --- a/pygmt/src/magnetic_rose.py +++ b/pygmt/src/magnetic_rose.py @@ -5,10 +5,9 @@ from collections.abc import Sequence from typing import Literal -from packaging.version import Version from pygmt._typing import AnchorCode from pygmt.alias import Alias, AliasSystem -from pygmt.clib import Session, __gmt_version__ +from pygmt.clib import Session from pygmt.exceptions import GMTParameterError from pygmt.helpers import build_arg_list, fmt_docstring from pygmt.params import Box, Position @@ -109,15 +108,8 @@ def magnetic_rose( # noqa: PLR0913 """ self._activate_figure() - # The default position is set to "TR" since GMT 6.7.0, which has no default value - # in GMT 6.6.0 and earlier versions. - # TODO(GMT>6.6.0): Set 'default=True' after GMT 6.7.0. - position = _parse_position( - position, - default=True # Use GMT default position but need to set to True to activate -Tm - if Version(__gmt_version__) > Version("6.6.0") - else Position("TR", cstype="inside"), - ) + # Set the default position to "TR" to be consistent with the behavior in GMT 6.7.0 + position = _parse_position(position, default=Position("TR", cstype="inside")) if declination_label is not None: if declination is None: