-
Notifications
You must be signed in to change notification settings - Fork 0
autover compared to setuptools_scm #47
Comments
Unfortunately we have not yet documented autover; we are still rolling it out across our own projects. autover was created to replace versioneer in our own projects, after evaluating that versioneer and alternatives were unsuitable for our own particular use case. I'm not sure if the evaluation has been recorded, but I agree it would be a useful thing to make available (I think there are many choices in the space, with various trade-offs). |
Sorry not to answer your questions (which are good questions!), but your question's prompted me to record various versioning tools I know about. I guess our docs should include comparisons with some of the following (possibly categorizing the various alternative approaches, because they probably fall into a few different groups):
Some of those do more than just versioning. (And I'm sure there are more I've forgotten...) |
That's a useful list. Given how long it is, my suggestion would be to take our list of very-strict criteria that we had when looking for a versioning system, and make a matrix showing which tools support which of those criteria. It's ok for a given cell in the matrix to be blank (not known), but in many cases we do know whether the tool supports what we need, and in each case there was at least one major omission that made the tool unsuitable for our purposes. E.g. criteria like "adds only a few lines of code to a new project's repository", "provides a meaningful version under condition X" (where we have a long list of conditions X), "can be embedded without introducing any dependencies to the project", "supports automatic releasing on a git tag", etc. |
Reviving this old discussion as I've started to look at how to fully convert the HoloViz projects to To keep on using Before any change like that is done, I wanted to check whether there was an alternative out there that could be a good candidate to replace The landscape of versioning tools is pretty wild and users seem to have very strong opinions on how it should be done. I personally really don't have any, so to those here who do, please chime in and enlighten me! That would greatly help. A good source of information is this page on the documentation of |
The ability to tell you a version without having to add tens of thousands of lines of impenetrable (and horrific if you actually try to understand what it is doing!) code to your codebase. That said, I've given up on sanity so you are welcome to switch to whatever other (almost certainly insane) tool you prefer! Maybe there is something good now since autover was created, I still despise versioneer but I've come to the conclusion that I will put up with it, as long as I never ever need to look at it or touch it in any way. You would think that generating a version string is a simple task, but like many things in python packaging, it is just another path to madness :-) |
If you were to switch to another tool, here are a few main things that I think are mandatory:
I would be very happy if we could find something to replace autover that satisfies our needs, but I am not hopeful. The default alternative is to use versioneer just because it is commonly used elsewhere (horrible as it is). |
The 'classic' vendored mode of versioneer is all that existed when |
Thanks, that's a very useful list!
I actually seriously doubt that. I don't see it being used much, particularly not in new projects. At about 150k downloads/month on PyPIStats, compared to e.g. 16M downloads/month for setuptools-scm, I believe it's just old tech at this stage. |
Good to hear! I know nothing about |
I think this is at least partly an artifact of how these solutions work. Versioneer for the longest time worked via vendoring, i.e. while setuptools-scm gets installed every time someone builds the package, versioneer is vendored into the library only once. These days versioneer supports both. The overall point that setuptools_scm is the recommended and canonical approach is true though. |
Right! The download stats are probably because the projects using versioneer have vendored it in.
I noticed Bokeh doesn't seem to have a |
Bokeh switched to |
Ok, this docstring is outdated then. |
setuptools_scm does seem worth evaluating; if it could replace autover, I'd be happy to forget autover existed! The main criteria are listed in my comment above; I was only meaning to list examples of the criteria, but I think those are actually the important things. |
The text was updated successfully, but these errors were encountered: