jetperch / pyjoulescope

Joulescope driver and utilities
https://www.joulescope.com
Apache License 2.0
38 stars 11 forks source link

Consider using setuptools-scm for streamlined version control #2

Closed markcampanelli closed 7 months ago

markcampanelli commented 5 years ago

I have had some good results using https://pypi.org/project/setuptools-scm/ to version control python libraries using the git (or mercurial) tag as the single source of truth for the version. This integrates very well (almost magically!) with setup.py. If you make local changes, then the version returned by python setup.py --version is automatically updated to reflect that "development" changes have been made since the tag commit.

mliberty1 commented 7 months ago

Thanks for the recommendation @markcampanelli !

I just took another look at setuptools-scm. I see some advantage of automatically versioning slightly modified changes. However, this only affects developers working on the pacakge who can edit the version manually. git log tells the real story.

For our formal releases, we already have to maintain the version in the changelog and GitHub releases. Updating the version is one small step. For jls, joulescope_driver and pyjoulescope_ui, we have a little script that updates the version based on the changelog.

While I can see how setuptools-scm can be nice, I will continue using a manually maintained changelog. It really has not been too much of a burden over the last five years ;)

Closing as will not do.