-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xarray versioning to switch to CalVer #6176
Comments
Note that PEP 440 normalizes integers in version strings, so leading zeros are ignored and the version as it appears in PyPI would be On my own packages which I use calver for I have opted to not have leading zeros such that the "canonical" version matches the "normalized" version to avoid any confusion that may cause. |
Interesting insights @ksunden, thanks for sharing! Do others have thoughts here? I would support stripping the leading zeros from the |
I'm in favor of a non-zero-padded version for the benefit of having canonical/normalized versions that also match git tags/history |
No opinion either way here but @jrbourbeau is this something dask has thought about? |
note that PEP440 itself is not really consistent: it mentions both normal and zero-padded CalVer. Also, in the issue in which Edit: I would vote for zero-padding of the months because that will make it actually recognizable as a date. |
I did I do understand the appeal of leading zeros, I started off using them myself, but pypi/setuptools/etc will bring in inconsistencies that you will either need to fight against or give into the consistent way, which is sans leading zero (that is the path I chose) |
Thanks for the ping @Illviljan. Zero-padding dates did come up in the Dask calver discussion starting here dask/community#100 (comment). In a nutshell, there was a slight preference towards using zero-padding (i.e. As pointed out dask/community#100 (comment) either convention is valid from a Python packaging perspective. FWIW I'm not aware of any issues that have come up from Dask using a zero-padded version number. The main thing that comes to mind is when checking out git tags for a specific release (e.g. EDIT: To be clear, I'm not advocating for one convention over the other -- just providing context around Dask's decision |
Using semver can be handy to signal breaking changes. Any thoughts on how xarray will handle breaking changes with calver? Any release can break, or during select periods, after a timeout, etc.? |
Breaking changes will continue to be very rare, and whenever possible will be preceeded by deprecation or future warnings for multiple months. |
Xarray is planning to switch to Calendar versioning (calver). This issue serves as a general announcement.
The idea has come up in multiple developer meetings (#4001) and is part of a larger effort to increase our release cadence (#5927). Today's developer meeting included unanimous consent for the change. Other projects in Xarray's ecosystem have also made this change recently (e.g. dask/community#100). While it is likely we will make this change in the next release or two, users and developers should feel free to voice objections here.
The proposed calver implementation follows the same schema as the Dask project, that is;
YYYY.MM.X
(4 digit year, two digit month, one digit micro zero-indexed version. For example, the code block below provides comparison of the current and future version tags:cc @pydata/xarray
The text was updated successfully, but these errors were encountered: