-
Notifications
You must be signed in to change notification settings - Fork 45
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
Python libraries all build using the same generic name #350
Comments
Follow up small issue on this run: ERROR HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
Binary wheel 'bdkpython-0.28.1-cp310-cp310-linux_x86_64.whl' has an
unsupported platform tag 'linux_x86_64'. Attempting the |
Follow up issue on this run: ERROR HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
Binary wheel
'bdkpython-0.28.2-cp310-cp310-manylinux_2_17_x86_64_manylinux2014_x86_6
4.whl' has an unsupported platform tag
'manylinux_2_17_x86_64_manylinux2014_x86_64'. Note that our old libraries for Linux were called with the following convention: bdkpython-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bdkpython-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bdkpython-0.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Which includes the double platform tag bdkpython-0.28.2-cp310-cp310-manylinux_2_17_x86_64_manylinux2014_x86_64.whl This last part is not a valid platform name, hence the error. Why the double platform naming?After wondering about whether the naming could be simplified I figured I'd ask ChatGPT what the naming structure represented and why both were needed (or not). This is the answer: Me:
ChatGPT:
Me
ChatGPT:
Proposed solutionFrom the above answer, it feels to me like using the |
These fixes worked for the 0.28.3 release (see workflow here). |
I am now building separate libraries with different names for the macOS arm64 and x86_64 architectures. The library names are as follows: # arm64
bdkpython-0.30.0.dev0-cp310-cp310-macosx_11_0_arm64
# x86_64
bdkpython-0.30.0.dev0-cp310-cp310-macosx_11_0_x86_64 |
The attempt at the publishing of the
0.28.0
release of bdkpython failed.This is because the new, cleaner build workflow built libraries that all had the same name, and their upload to PyPI therefore failed (you can't publish more than one library with the same name). The library they all attempted to upload was
Whereas the names we're looking for (from previous versions) are similar to the following:
After exploring solutions, the cleanest approach seems to be what is described here.
The one slight issue with that is that for macOS, even if you build a universal wheel, it still names it according to the platform onto which is was built. This is fixed by specifying the command line flag
--plat-name macosx_12_0_universal2
.I created this issue to explain how I came to the fix I used for the 0.28.0 release, and will link to this issue in the script that uses the trick.
The text was updated successfully, but these errors were encountered: