Replies: 4 comments 2 replies
-
I second this just because I come from an ecosystem that uses semVer so major release is "just another release" on GitHub. But otherwise I don't see it as a big deal |
Beta Was this translation helpful? Give feedback.
-
After the mistake with Uproot 3 → 4, the PyPI package and GitHub repo have not changed. Uproot 4 and Uproot 5 will use the same PyPI package and do use the same GitHub repo as each other; only the major version number changes. The GitHub repo name was changed from " (Incidentally, there was reasoning behind the Uproot 3 → 4 mistake, though on the whole it was a bad thing to do. Having two PyPI names made it possible to load both major versions in the same Python session, a feature that I already needed and could not get with Uproot 4 → 5 because I'm following this best practice. Of course, giving up on that is the lesser of two evils. The git repo was changed in Uproot 3 → 4 because Uproots 1 → 2 → 3 had too many commits, some of them involving large files, and that made cloning the repo slow. That problem could have been better fixed by manipulating git history, which I generally try to avoid.) But anyway, this is not a trend because Uproot 4 → 5 does not change PyPI names or git repos. |
Beta Was this translation helpful? Give feedback.
-
It does change the git repos:
Maybe people are unaware, but GitHub now has an entirely new repository and only an HTML 301 web redirect, nothing else. No repo mirroring is happening. And I'm afraid this will have more yet unforeseen side effects. This v5 should have been a branch, not a new repo, a rename, or something else of this sort. I raised the same issue when this project was in its infancy and again when the messy 2->3 and 3-4 versions happened, and at no point, the reasons or even the final goal justified this sort of thing. Git branches and package versioning exist for a reason. |
Beta Was this translation helpful? Give feedback.
-
Firstly, I understand all that and am glad about the bits that didn't happen this time. However, I feel like I am misrepresenting what I mean. I am not looking for an explanation. Forgive me for being blunt. I guess I must be in order to get my point across. I am a member of Scikit-HEP with a package of my own, so I know how organisation adoption works. That's not the issue at the moment. Secondly, I am not disagreeing with the methods employed to rename the repo. My point is that this should not be done at all, and I can see no justification for why it is being done. For example, when Scikit-HEP adds a repo, it changes the repo owner; it does not change the name from Thirdly, I do not particularly care about the URL itself. The issue is deeper and more conceptual. Finally, the idea that |
Beta Was this translation helpful? Give feedback.
-
I've noticed a trend that changing the major version of the
uproot
library results in repo name changes, source tree name changes, packaging changes, hardcoded test string changes and others, which is unnecessary and makes it very difficult to work with the package.I don't see why
uproot
doesn't just do what every other package, whether Python or not, does - major versions with breaking changes are listed, and people who rely on it limit their requirements.This is also extensively covered in PEP rules.
On top of all that, it goes against the principles behind having a centralised version control system. Major version histories get disconnected, it's impossible to follow the changes, etc. But I think the biggest, in my opinion, is it discourages people from contributing because it's cumbersome.
Even complete rewrites across major versions do not necessitate new repositories if it's the same project. It would make life much easier for users and contributors if
uproot
remaineduproot
everywhere and only its version was changed. :)Beta Was this translation helpful? Give feedback.
All reactions