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
How to handel to leading "v" in the PyGMT release number? #4790
Tian, D., Leong, W. J., Fröhlich, Y., Grund, M., Schlitzer, W., Jones, M., Toney, L., Yao, J., Tong, J.-H., Magen, Y., Materna, K., Belem, A., Newton, T., Anant, A., Ziebarth, M., Quinn, J., He, X., Uieda, L.& Wessel, P. (2026). PyGMT: A Python interface for the Generic Mapping Tools (Version v0.19.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.19398871
We should think about whether we want to drop the "v" completely or, if not, where (and why) we still want to use it. Also need to update the Maintainers Guide afterward correspondently.
it is out of scope how tags are setup for the different version control systems.
And: Each developer team can use any kind of tag scheme for their version control system, e.g. "v1.2.3" or "release-1.2.3" or "v1.2.3-foo" as long as the embedded SemVer tuple conforms to the SemVer spec.
Using the bare SemVer Tuple is just an easy to parse and also the most simple option. But using a prefix like 'v' can help to "just disambiguates (it) a little more than the straight version number by itself."
GitHub also recommends a leading v in tags (Click the "Draft a new release" button on the Release page, then you'll see the message on the right side):
It’s common practice to prefix your version names with the letter v. Some good tag names might be v1.0.0 or v2.3.4.
So, from what I understand, 0.19.0 is the version number that follows SemVer, while v0.19.0 is the version string to refer to the software tag or release.
Currently, the PyGMT version is used in the following places (feel free to make edits if you find more).
The "Correctness" column indicates whether the current version string follows the strict definition mentioned above. ✅ means correct; ❌ means incorrect; ❓ means unsure or doens't matter.
Use 0.19.0 in "Minimum Supported Version" [Because the column title is "PyGMT version"]
Ok for these ones. I checked a few other libraries (numpy, pandas, xarray, rioxarray) and their __version__ method doesn't return the v prefix.
Use 0.19.0 in Zenodo version field
Ok for this too, I see at https://blog.zenodo.org/2017/11/02/version-field/ that they "strongly suggest that [you] use semantic versioning for machine-readability" as @yvonnefroehlich mentioned above. But do we keep the v in the zip file name? Also, do we want to backport the v prefix removal for old Zenodo versions, or just v0.20.0 going forward?
The ZIP file downloaded from GitHub Released has a file name like pygmt-0.19.0.zip, and we renamed it to pygmt-v0.19.0.zip manually before uploading to Zenodo. I think we should not add v to the ZIP file.
Also, do we want to backport the v prefix removal for old Zenodo versions, or just v0.20.0 going forward?
I'm OK with either. It would good to fix all records.
Activity
seisman commentedon Aug 9, 2026
Just want to add some more background here.
In SemVer v1.0.0, it's clear that it recommended tagging a release with a leading
v(xref: https://semver.org/spec/v1.0.0.html#tagging-specification-semvertag). This tagging recommendation was later removed in SemVer v2.0.0 mainly because (semver/semver.org#1):GitHub also recommends a leading
vin tags (Click the "Draft a new release" button on the Release page, then you'll see the message on the right side):So, from what I understand,
0.19.0is the version number that follows SemVer, whilev0.19.0is the version string to refer to the software tag or release.Currently, the PyGMT version is used in the following places (feel free to make edits if you find more).
The "Correctness" column indicates whether the current version string follows the strict definition mentioned above. ✅ means correct; ❌ means incorrect; ❓ means unsure or doens't matter.
v0.19.0v2.5.2; pandas:v3.0.5; xarray:v2026.07.0v0.19.03.0.5, numpy:v2.5.1 (July 4, 2026), xaray:v2026.07.0v0.19.02.1, numpy:2.5, xarray:v2026.07.0pygmt.__version__v0.19.0orv0.19.0.dev5+gabcdef2.1.0, numpy:2.5.1, xarray:2026.7.0v0.19.0v?versionfield inCITATION.cff0.19.0versionfiled indoc/citing.md0.19.0v0.19.0vto be more consistent with version string of other packages?Release v0.19.0NumPy 2.5.0 Release Notes; pandas:Version 3.0; xarray:v2026.07.0 (Jul 9, 2026)pygmt.egg-info/scm_version.json'stagfield0.19.00.19.00.19.00.20.0.dev600.19.0versionfield on Zenodov0.19.0Based on the above observations, I suggest:
0.19.0inpygmt.__version__Follow Semantic Versioning and remove the leading v from version string #48380.19.0in deprecation messages Follow Semantic Versioning and remove the leading v from version string #4838UseCan't update it, as explained in Follow Semantic Versioning and remove the leading v from version string #4838 (comment).0.19.0in "Minimum Supported Version" [Because the column title is "PyGMT version"]0.19.0in Zenodoversionfieldseisman commentedon Aug 13, 2026
Ping @GenericMappingTools/pygmt-maintainers for comments on the proposed changes.
weiji14 commentedon Aug 13, 2026
Ok for these ones. I checked a few other libraries (numpy, pandas, xarray, rioxarray) and their
__version__method doesn't return thevprefix.Ok for this too, I see at https://blog.zenodo.org/2017/11/02/version-field/ that they "strongly suggest that [you] use semantic versioning for machine-readability" as @yvonnefroehlich mentioned above. But do we keep the
vin the zip file name? Also, do we want to backport thevprefix removal for old Zenodo versions, or just v0.20.0 going forward?seisman commentedon Aug 14, 2026
The ZIP file downloaded from GitHub Released has a file name like
pygmt-0.19.0.zip, and we renamed it topygmt-v0.19.0.zipmanually before uploading to Zenodo. I think we should not addvto the ZIP file.I'm OK with either. It would good to fix all records.
seisman commentedon Aug 14, 2026
Better to work on this issue after #4824.
seisman commentedon Aug 22, 2026
I've uploaded the
versionfield for all Zenodo records. Closing.yvonnefroehlich commentedon Aug 22, 2026
Should we also update the titles of the ResearchGate uploads and maybe of the announcements on the GMT forum.
seisman commentedon Aug 22, 2026
I don't think it's worth the time
yvonnefroehlich commentedon Aug 24, 2026
It's probably not (easy) possible to change the text shown on the badges:
Also the GMT repo has the leading "v" in the badges text: