Skip to content

Add PLEP 8 on switching to calendar versioning #39

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

Merged
merged 25 commits into from
Jan 11, 2023

Conversation

namurphy
Copy link
Member

This PR follows up on a discussion in #38 and elsewhere in the plasmapythoniverse about switching from semantic versioning to date-based versioning. There's a discussion of the tradeoffs in #38.

I'm basing the scheme in the first draft on Ubuntu's, which has versions like 22.04 and 22.10, which were the releases from April and October 2022. The year format is concise, and it's more clear with the zero-padded month that it actually represents a month. (I got confused earlier today with pip v21.3, since I thought that the minor version number meant the month when it actually didn't.)

This new PLEP would repeal PLEP 5, but since it's a complete rewrite, I decided on doing a new PLEP so as to make the history more apparent.

Closes #38.

@namurphy namurphy changed the title Add PLEP 8 on switching to calendar versioning Add PLEP on switching to calendar versioning Nov 22, 2022
@namurphy namurphy force-pushed the amend-plep-5-date-based-versioning branch from 5e21dd4 to 8d7a48d Compare November 30, 2022 19:41
@namurphy namurphy marked this pull request as ready for review November 30, 2022 19:46
@namurphy namurphy requested a review from rocco8773 November 30, 2022 19:53
PLEP-0008.rst Outdated
+-------------------+---------------------------------------------+
| status | discussion |
+-------------------+---------------------------------------------+
| DOI | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update with reserved DOI

PLEP-0008.rst Outdated
Advantages of adopting calendar versioning
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* The age of a release can be gauged directly from the version number.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure the best way to make the comment, but also easier to traceback the version when cited in a journal article.

Copy link
Member

@rocco8773 rocco8773 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A section of our strategy for a long-term support version.

A comment on how the proposed version scheme is better suited to a perpetual-development package like PlasmaPy.

namurphy and others added 2 commits December 8, 2022 16:04
@StanczakDominik
Copy link
Member

StanczakDominik commented Dec 12, 2022

I'd just like to bring dask/community#100 (comment) to your attention on the zero-padding discussion! The important points:

20.01.01 / 2020.01.01 are valid PEP 440 versions.

Overall, the choice between 0Y/0M/0D vs YY/MM/DD is purely a aesthetic one -- either will work with basically every Python Packaging tool that follows the standards.

I'm weakly in favor of zero-padding, but don't mind much either way.


and then they went ahead and removed the zero-padding in dask/community#249, so I'm now all for going padless.

@namurphy namurphy requested a review from rocco8773 December 14, 2022 21:50
@namurphy
Copy link
Member Author

I decided against discussing our LTS strategy since we don't have plans to do that in the near future, and I'd rather have a separate PLEP on that which we can do when we decide to do the LTS releases.

Other than that, I think I addressed all suggestions. @rocco8773 — if this looks good to you, please feel free to merge.

PLEP-0000.rst Outdated
Comment on lines 93 to 96
+========+=====================================+========================+============+===========================+
| 5 | `PlasmaPy Versioning and Releases`_ | Nicholas A. Murphy and | process | `10.5281/zenodo.1451974`_ |
| | | Stuart J. Mumford | | |
+--------+--------------------------------------+------------------------+-----------+---------------------------+
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to fix table!

PLEP-0005.rst Outdated
@@ -257,3 +260,5 @@ Semantic versioning is a well-defined versioning scheme that provides
users with useful information about whether or not there were any
backward incompatible changes. This scheme is well-suited to a core
scientific software package that will require stability.

.. |PLEP 8| replace:: https://github.com/PlasmaPy/PlasmaPy-PLEPs/blob/main/PLEP-0007.rst
Copy link
Member

@rocco8773 rocco8773 Jan 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. |PLEP 8| replace:: https://github.com/PlasmaPy/PlasmaPy-PLEPs/blob/main/PLEP-0007.rst
.. |PLEP 8| replace:: https://github.com/PlasmaPy/PlasmaPy-PLEPs/blob/main/PLEP-0008.rst

PLEP-0008.rst Outdated
Comment on lines 30 to 32
.. note::

This PLEP supersedes |PLEP 5|, which is no longer in effect.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[optional change] admonitions don't get stylized with GitHub rendering

README.rst Outdated
@@ -38,3 +38,6 @@ convenience, an abbreviated index of PLEPs is provided below.
| 7 | `Structure of Top-Level Sub-Packages <./PLEP-0007.rst>`__ | .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3774573.svg |
| | | :target: http://doi.org/10.5281/zenodo.3774573 |
+--------+----------------------------------------------------------------------------------+--------------------------------------------------------------------+
| 8 | `Calendar Versioning <./PLEP-0008.rst>`__ | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a DOI to put here now?

PLEP-0000.rst Outdated
+--------+--------------------------------------------------------------+----------------------+------------+---------------------------+
| 6 | `A New General-Purpose Plasma Object`_ | Andrew J. Leonard | standard | `10.5281/zenodo.1460976`_ |
+--------+--------------------------------------------------------------+----------------------+------------+---------------------------+
| 7 | `Structure of Top-Level Sub-Packages`_ | Erik T. Everson, | standard | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is missing its DOI.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hasn't been uploaded to Zenodo, so it does not yet have a DOI.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I lied. It does have one, which I'll add.

  • Do ↑

@namurphy namurphy changed the title Add PLEP on switching to calendar versioning Add PLEP 8 on switching to calendar versioning Jan 11, 2023
@namurphy namurphy merged commit 0f4080a into PlasmaPy:main Jan 11, 2023
@namurphy namurphy deleted the amend-plep-5-date-based-versioning branch January 11, 2023 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Amend PLEP 5 with updated versioning scheme
3 participants