You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve reporting the GMT version via "pygmt.show_versions()" #4812
Currently, pygmt.show_versions() reports the GMT version in two different ways: version and binary version. In the example below, version says 6.7.0. So one may think GMT 6.7.0 is successfully installed. However, binary version says 6.7.0_8931e47_2026.01.12. This indicates that the installed GMT version is actually GMT 6.6.0 with changes towards 6.7.0 but not the finally released GMT 6.7.0. I feel this can be misleading. In contrast, for PyGMT, we have v0.20.0.dev62 under version. So, it's directly clear that this is v0.19.0 with changes towards v0.20.0 and not the finally released v0.20.0. When running gmt --version I get 6.7.0_8931e47_2026.01.12, which is the same output as listed for binary version.
Beside this, I personally find it confusing to write v0.20.0.dev62 for v0.19.0 with changes towards v0.20.0 (or v0.19.1). At the beginning I thought that the latest release is v0.20.0 with 62 changes towards the next release. Thus, I think it would be more intuitive to write v0.19.0.dev62. But probably doing it in the current way is the common practice. So better not changing this.
Beside this, I personally find it confusing to write v0.20.0.dev62 for v0.19.0 with changes towards v0.20.0 (or v0.19.1). At the beginning I thought that the latest release is v0.20.0 with 62 changes towards the next release. Thus, I think it would be more intuitive to write v0.19.0.dev62. But probably doing it in the current way is the common practice. So better not changing this.
v0.20.0.dev62 means the 62nd development release for v0.20.0, rather than 62 changes since v0.20.0.
We can't change it to something like v0.19.0.dev62, as shown below:
>>> from packaging.version import Version
>>> Version("0.19.0") > Version("0.19.0.dev62")
True
>>> Version("0.19.0") > Version("0.20.0.dev62")
False
In the example below, version says 6.7.0. So one may think GMT 6.7.0 is successfully installed. However, binary version says 6.7.0_8931e47_2026.01.12. This indicates that the installed GMT version is actually GMT 6.6.0 with changes towards 6.7.0 but not the finally released GMT 6.7.0. I feel this can be misleading.
There are two version strings in GMT, the binary version and the library version. The library version string is obtained from the GMT API function GMT_Get_Version, which must be in the major.minor.patch form. The binary version comes from gmt --version.
Perhaps we should change "version" to "library version"?
Perhaps we should change "version" to "library version"?
And maybe we can move binary version to the top and library version to the end, as I feel binary version provides the more complete version information.
Activity
seisman commentedon Aug 10, 2026
v0.20.0.dev62means the 62nd development release for v0.20.0, rather than 62 changes since v0.20.0.We can't change it to something like
v0.19.0.dev62, as shown below:seisman commentedon Aug 10, 2026
There are two version strings in GMT, the binary version and the library version. The library version string is obtained from the GMT API function
GMT_Get_Version, which must be in the major.minor.patch form. The binary version comes fromgmt --version.Perhaps we should change "version" to "library version"?
yvonnefroehlich commentedon Aug 10, 2026
And maybe we can move
binary versionto the top andlibrary versionto the end, as I feelbinary versionprovides the more complete version information.seisman commentedon Aug 10, 2026
Maybe update it to:
The reasons are: