Closed allemangD closed 4 months ago
Using
zip
archive and hash allows pip to cache the distribution
This is a great trick!
I'm not sure of a way to allow version resolution here.
I don't understand... aren't you already achieving version resolution by specifying the v1.0.0 tag that you created?
I don't understand... aren't you already achieving version resolution by specifying the v1.0.0 tag that you created?
The version is pinned, not resolved. If we push a v1.0.1
or v1.1.0
then there's no way for users to upgrade downgrade the package, it's locked to the thing. Really the way it is currently is more like a submodule where the content of the package is directly locked to the content of this repo. Maybe for us that's actually desirable, but I'm not certain.
In any case I don't think it's a problem unless we want to consider actually pushing our hd-bet fork to pypi, and we're not there yet. I'm focusing on io now and will add details in that issue later today.
The version is pinned, not resolved. If we push a
v1.0.1
orv1.1.0
then there's no way for users to upgrade downgrade the package, it's locked to the thing. Really the way it is currently is more like a submodule where the content of the package is directly locked to the content of this repo. Maybe for us that's actually desirable, but I'm not certain.
Ah I see, so you want to be able to specify the dependency as at least v1.0.0, which can be resolved to the most recent compatible version beyond v1.0.0, rather than "==v1.0.0". Got it. But yeah I agree that this is unimportant. Pinning is okay for this package.
Using
zip
archive and hash allows pip to cache the distribution, and allows installation ifgit
is unavailable for some reason.I'm not sure of a way to allow version resolution here. I think for that the package must published on pypi or some private index. It seems bad etiquette to publish the package from the fork so I wouldn't do that, certainly not on the
HD-BET
name. Maybe we use a name that clearly indicates it is a fork and not upstream? I'm not sure what best practice is but it's probably not reasonable to ask the current maintainer to overhaul their distribution just for our integration to Slicer. It is Apache license so we are allowed to distribute, but I don't want to sit on the name. Installing from the GitHub archive should work well enough for now.https://github.com/brain-microstructure-exploration-tools/HD-BET
I did create a tag v1.0.0 of upstream at the time of fork.