jarun / buku

:bookmark: Personal mini-web in text
GNU General Public License v3.0
6.49k stars 294 forks source link

4.8 release missing from PyPI #685

Closed branchvincent closed 1 month ago

branchvincent commented 1 year ago

I'm updating buku in Homebrew at https://github.com/Homebrew/homebrew-core/pull/129347, and I noticed the release is missing from PyPI. Was this intentional?

jarun commented 1 year ago

@rachmadaniHaryono can you please upload the latest?

jarun commented 1 year ago

@rachmadaniHaryono is out for a while.

I tried to upload the package and seeing this error:

Uploading buku-4.8-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.0/224.0 kB • 00:02 • 394.0 kB/s
WARNING  Error during upload. Retry with the --verbose option for more details.                                         
ERROR    HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/                                                
         Invalid value for requires_dist. Error: Can't have direct dependency: "flask-reverse-proxy-fix @               
         https://github.com/rachmadaniHaryono/flask-reverse-proxy-fix/archive/refs/tags/v0.2.3.zip ; extra ==           
         'reverse_proxy'"

@LeXofLeviafan any ideas?

LeXofLeviafan commented 1 year ago

He made a fork of the stale flask-reverse-proxy-fix package but never published it to PyPI. The current policy is that if you want a dependency in a PyPI package, it has to be published on PyPI as well. (That's what generally happens to years-old stale packages: someone releases a fork and begins maintaining it, while others gradually migrate to it.)

This topic had been raised a few times before, including here (unfortunately neither of their repos have issues tabs enabled, so this is the most adequate option we've got for such a discussion). There has been no response since February though (and no activity on pull-requests in this repo from him either, incidentally), so there's no telling how long it may take to deal with this issue.

jarun commented 1 year ago

Is there a way to work around the dependency? Otherwise, can we drop the feature that requires it?

LeXofLeviafan commented 1 year ago

The dependency itself appears to be implementing a workaround for a bug(?) in the Flask implementation of reverse-proxy support. AFAIK it's a fork of a (no longer maintained) PyPI package which fixes a bug in it (and I'm guessing this fix is important for bukuserver, and is likely implemented for its sake).

I'm not sure how much importance does the reverse-proxy support hold for most bukuserver users (me, I don't care much since I'm not hosting it on any server), but I'm guessing you could do something like this:

jarun commented 1 year ago

How about the opposite? Remove reverse proxy support from the default branch and have a local branch revproxy?

LeXofLeviafan commented 1 year ago

I mean, that's a temporary workaround – normally you'd want the "full" version to be the go-to option (except for where it's simply not usable). And there's no reason to have such a temporary workaround in the primary commits history.

Doing it the other way around sounds like basically dropping support for what might be a crucial feature for a WebUI… (unless the user knows there had been support for it and takes the effort to find out if there's still an up-to-date version that doesn't discard it somewhere in the repo instead of just thinking it's dropped for good, which sounds like quite a stretch TBH)

DiagonalArg commented 1 year ago

Ok, just chiming in with the same request, that I actually made a year ago, and came back here to check in on. Thanks for wrestling with it.

Remiol commented 11 months ago

Indeed 4.8 is missing. buku 4.7.1 is the latest release https://pypi.org/project/buku/#history

jarun commented 1 month ago

Please use v4.9 which is the latest release and available in PyPi.