cookiecutter-pylibrary
cookiecutter-pylibrary copied to clipboard
Versioning packages
Bumpversion is not maintained anymore. There's a fork called https://github.com/c4urself/bump2version
People seem to like versioneer. https://github.com/warner/python-versioneer Perhaps that could be added?
We could have an option so people can use whatever they like. There's also setuptools_scm for this stuff.
@ionelmc can you elaborate on setuptools_scm ? I was not so happy with bumpversion automagically setup with this cookiecutter. Especially when SIGTERMing bumpversion all kinds of weird stuff happened. that was somewhat annoying. I'd opt for versioneer as well. But maybe setuptools_scm has something in stock, I am not aware of.
There could be an option to have setuptools_scm configured (some extra stuff in setup.py
, no .bumpversion.cfg
file and some usage guide somewhere - in README.rst
I guess?).
The idea with setuptools_scm is that you tag versions yourself and then everything flows automatically from that, as opposed to using a tool to automate everything like bumpversion. It has some problems when pip installing stuff from github zip archive tho.
But what's wrong with bumpversion? Elaborate the sigterm issue.
PS. https://github.com/c4urself/bump2version
@psteinb so it looks like you know versioneer a bit - can you point me to some projects using it?
FWIW, looks like a migration from bumpversion to bump2version (endorsed by the original bumpversion author) is firming up: Discussion: PyPI name transfer · Issue #86 · c4urself/bump2version
If the user bails mid-update (e.g. via sigterm) does bumpversion guarantee that either all files are changed, and commits and tags are updated, or that none of them are? If not, I'm wondering if the "sigterm" concern might relate to that.
And I do like the idea of an option for setuptools_scm and/or versioneer if folks endorse those. All I know is that versioning can be much trickier than one would think!
I just noticed this awesome project and browsed through the issues. It appears to me that versioneer is unmaintained as well, isn't it? It was well maintained until then, but this suddenly came to an end pretty much three years ago.
~~An option to choose between setuptools_scm, the bumpversion successors or maybe python-semantic-release would be nice I suppose. I will dive deeper into your ideas and maybe propose something.~~
There is an option to use setuptools_scm. Bumpversion has a new maintainer, there are fresh releases: https://pypi.org/project/bumpversion/#history
I think the current choices are fine for now.
There is tbump support since sometime.