From 8a7d55c9a56ff184edb528ba57178784c94920e6 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Tue, 3 Oct 2023 15:48:27 +0800 Subject: [PATCH] Move variable __gmt_version__ to pygmt.clib to avoid cyclic-import errors --- pygmt/__init__.py | 4 ---- pygmt/clib/__init__.py | 3 +++ pygmt/src/ternary.py | 3 +-- pygmt/src/timestamp.py | 3 +-- pygmt/tests/test_accessor.py | 3 ++- pygmt/tests/test_grdfill.py | 3 ++- pygmt/tests/test_meca.py | 3 ++- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pygmt/__init__.py b/pygmt/__init__.py index 5ee1dded30a..76c289bf73d 100644 --- a/pygmt/__init__.py +++ b/pygmt/__init__.py @@ -21,13 +21,9 @@ import sys from importlib.metadata import version -from pygmt import clib - # Get semantic version through setuptools-scm __version__ = f'v{version("pygmt")}' # e.g. v0.1.2.dev3+g0ab3cd78 __commit__ = __version__.split("+g")[-1] if "+g" in __version__ else "" # 0ab3cd78 -with clib.Session() as lib: - __gmt_version__ = lib.info["version"] # Import modules to make the high-level GMT Python API from pygmt import datasets diff --git a/pygmt/clib/__init__.py b/pygmt/clib/__init__.py index c6ac56b27e4..dc985ad34cc 100644 --- a/pygmt/clib/__init__.py +++ b/pygmt/clib/__init__.py @@ -6,3 +6,6 @@ """ from pygmt.clib.session import Session + +with Session() as lib: + __gmt_version__ = lib.info["version"] diff --git a/pygmt/src/ternary.py b/pygmt/src/ternary.py index 08a24ae85a5..c78d337b82a 100644 --- a/pygmt/src/ternary.py +++ b/pygmt/src/ternary.py @@ -3,8 +3,7 @@ """ import pandas as pd from packaging.version import Version -from pygmt import __gmt_version__ -from pygmt.clib import Session +from pygmt.clib import Session, __gmt_version__ from pygmt.helpers import build_arg_string, fmt_docstring, kwargs_to_strings, use_alias diff --git a/pygmt/src/timestamp.py b/pygmt/src/timestamp.py index 1250fa4ba38..eae9b7665ce 100644 --- a/pygmt/src/timestamp.py +++ b/pygmt/src/timestamp.py @@ -4,8 +4,7 @@ import warnings from packaging.version import Version -from pygmt import __gmt_version__ -from pygmt.clib import Session +from pygmt.clib import Session, __gmt_version__ from pygmt.helpers import build_arg_string, is_nonstr_iter __doctest_skip__ = ["timestamp"] diff --git a/pygmt/tests/test_accessor.py b/pygmt/tests/test_accessor.py index 7eb7dc91f93..192cb7012b0 100644 --- a/pygmt/tests/test_accessor.py +++ b/pygmt/tests/test_accessor.py @@ -8,7 +8,8 @@ import pytest import xarray as xr from packaging.version import Version -from pygmt import __gmt_version__, which +from pygmt import which +from pygmt.clib import __gmt_version__ from pygmt.datasets import load_earth_relief from pygmt.exceptions import GMTInvalidInput diff --git a/pygmt/tests/test_grdfill.py b/pygmt/tests/test_grdfill.py index ed6f04a7b66..f0ba5fe9563 100644 --- a/pygmt/tests/test_grdfill.py +++ b/pygmt/tests/test_grdfill.py @@ -7,7 +7,8 @@ import pytest import xarray as xr from packaging.version import Version -from pygmt import __gmt_version__, grdfill, load_dataarray +from pygmt import grdfill, load_dataarray +from pygmt.clib import __gmt_version__ from pygmt.exceptions import GMTInvalidInput from pygmt.helpers import GMTTempFile from pygmt.helpers.testing import load_static_earth_relief diff --git a/pygmt/tests/test_meca.py b/pygmt/tests/test_meca.py index e63f346587c..5143da1a3c3 100644 --- a/pygmt/tests/test_meca.py +++ b/pygmt/tests/test_meca.py @@ -5,7 +5,8 @@ import pandas as pd import pytest from packaging.version import Version -from pygmt import Figure, __gmt_version__ +from pygmt import Figure +from pygmt.clib import __gmt_version__ from pygmt.exceptions import GMTInvalidInput from pygmt.helpers import GMTTempFile