Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing wheels for diplib 3.5.2: windows+python3.13, linux+python3.12/3.13 #194

Closed
anntzer opened this issue Jan 28, 2025 · 7 comments
Closed

Comments

@anntzer
Copy link
Contributor

anntzer commented Jan 28, 2025

Component
PyDIP

Describe the problem that this feature would solve
Wheels for some OS/python combos appear to be missing from https://pypi.org/project/diplib/3.5.2/#files: windows+python3.13, linux+python3.12/3.13.

Describe your suggested solution to the problem
Provide the missing wheels. Thanks!

Additional context
N/A

@crisluengo
Copy link
Member

crisluengo commented Jan 28, 2025

Thanks @anntzer for reporting this.

The GitHub action succeeds if it's able to upload any wheels, it doesn't fail if some of the wheels fail to build. I have to not rely on the green check mark, but manually check that all the files are there.

It looks like GitHub runners don't have Python 13 on their Windows runners: actions/runner-images#11330
I don't know how to solve for this issue right now.

The two wheels missing for Linux are because some packages don't come pre-installed for Python >=12 (though this wasn't a problem for the previous release, where there is a Python 12 wheel?). I'm building those two wheels now, I expect this to complete successfully: https://github.com/DIPlib/diplib/actions/runs/13014880046/job/36301450318

Edit: second try: https://github.com/DIPlib/diplib/actions/runs/13015110153

Edit: a new version of wheel metadata is causing a lot of trouble. I find lots of bug reports online because of this, but no solutions that work for me. I'm using the latest packages to make the wheels, and the latest twine, but it keeps complaining about "Invalid distribution metadata: unrecognized or malformed field 'license-file'".

@anntzer
Copy link
Contributor Author

anntzer commented Jan 28, 2025

Regarding twine: does force-upgrading packaging help? (python -m pip install -U packaging just before or after

run: python3 -m pip install twine
(and likewise for the other OSes) as suggested in pypa/twine#1216)

@crisluengo
Copy link
Member

I tried that, didn’t change anything.

We’re on the latest version of twine, packaging, setuptools and wheel. Maybe there’s some other package that needs to be updated?

69fb594

@crisluengo
Copy link
Member

crisluengo commented Jan 28, 2025

Even when setting license_files=['LICENSE.txt], I get a line License-File: LICENSE.txt in the METADATA file in the wheel. License-File is obsolete, we're supposed to use License-Files (plural). I don't know why setuptools is doing this. When I set it to an empty array, there's no License-File entry:

license_files=[], # Leaving this empty makes it so that there's no license-file entry in the METADATA file, which causes twine to balk.

Hopefully the wheels upload this time.

... of course now there's no LICENSE.TXT file in the wheel, but I at this point I don't care about that any more.

@crisluengo
Copy link
Member

Yes, that worked! The Linux wheels are now all available on PyPI.

Still missing is the wheel for Windows and Python 3.13. Maybe there's a way to install this version of Python?

@anntzer
Copy link
Contributor Author

anntzer commented Jan 29, 2025

Normally you can use the setup-python action (https://github.com/actions/setup-python); see https://github.com/matplotlib/mplcairo/blob/main/.github/workflows/build.yml for a personal example.

@crisluengo
Copy link
Member

Thank you, that worked.

I have not modified the deploy script in the master branch for this last Windows issue, in the hope that GitHub will have Python 3.13 installed by default by the next time we roll a release. We'll have to double-check that this is indeed the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants