mcfletch / pyopengl

Repository for the PyOpenGL Project
Other
318 stars 101 forks source link

Source tarball for PyOpenGL-accelerate 3.1.6 missing on PyPI #78

Closed swt2c closed 1 year ago

swt2c commented 2 years ago

The source tarball for PyOpenGL-accelerate 3.1.6 is missing on PyPI. Wheels are present, but no source.

EpicWink commented 2 years ago

Current workaround is to install from GitHub with Git:

pip install git+https://github.com/mcfletch/pyopengl.git@227f9c66976d9f5dadf62b9a97e6beaec84831ca

And for pyopengl-accelerate:

pip install git+https://github.com/mcfletch/pyopengl.git@227f9c66976d9f5dadf62b9a97e6beaec84831ca#subdirectory=accelerate
ChrisBarker-NOAA commented 2 years ago

well, yes, but that's less than ideal.

Also, there are no version tags on gitHub, so it's kinda hard to get an actual release. There's another issue on that:

77

@mcfletch: I'd be glad to do some of this bookkeeping for you if you like -- it would be nice to make this easier to work with.

NOTE: At the moment, I'm trying to get a conda-forge package set up, but it's tricky without a simple way to get a source tarball.

Either a source tarball on PyPi and/or a tag to pull from on gitHub would be great.

EpicWink commented 2 years ago

Future releases could include sdists by default if #84 or #85 are merged

ChrisBarker-NOAA commented 2 years ago

yes -- that's a good idea.

Note -- a decision shold be made about accelerate as well -- I think it should become a default part of the package -- but if not, it needs its own sdist and wheels, etc.

ChrisBarker-NOAA commented 2 years ago

@mcfletch: ping! I'd really like to get conda packages built for this -- again, I, and others would be glad to help with the release bookkeeping if you want. @EpicWink has updated the configuration, so it should be pretty straightforward.

dcnieho commented 2 years ago

I hope this can be fixed. In my requirements.txt i now have to put a direct dependency, like git+https://github.com/mcfletch/pyopengl.git@227f9c66976d9f5dadf62b9a97e6beaec84831ca#subdirectory=accelerate&egg=PyOpenGL-accelerate , when building a wheel and trying to push that to PyPI, it gets rejected with

HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/        
         Invalid value for requires_dist. Error: Can't have direct dependency:  
         'PyOpenGL-accelerate @                                                 
         git+https://github.com/mcfletch/pyopengl.git@227f9c66976d9f5dadf62b9a97
         e6beaec84831ca#subdirectory=accelerate'

Without the source tarball, 3.1.6 can't build on linux and macos, and 3.1.5 doesn't work either because it generates a bunch of compile errors (apparently its using deprecated types/functions).

So in sum, not having the source tarball means that my package, which depends on PyOpenGL-accelerate 3.1.6 can't be published on PyPI. I assume that others, like @khimaros with p5py (see https://github.com/p5py/p5/issues/395), will run into this too.

tushar5526 commented 1 year ago

Yes, we faced the same issue. pypi doesn't let you have a direct dependency and we need 3.1.6. I hope @mcfletch fixes this.

Has anyone got any other workarounds for this?

EpicWink commented 1 year ago

Has anyone got any other workarounds for this?

@dcnieho @tushar5526 you can build the sdist yourself, then upload it to a public Python package index, and tell your users to use that index (with --extra-index-url).

swt2c commented 1 year ago

The source tarball was finally uploaded in January. :-)