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

PyPI artifacts #616

Open
altendky opened this issue May 29, 2022 · 15 comments
Open

PyPI artifacts #616

altendky opened this issue May 29, 2022 · 15 comments
Labels
help wanted macOS issue affecting macOS / OS X build miniupnpc python issues with the python module / examples

Comments

@altendky
Copy link
Contributor

I have a couple questions and requests regarding the artifacts on PyPI. I would expect to put in my own time to achieve these goals, but I should start by understanding your setup and if there are things you would like to see change.

  1. Was there a specific need for eggs at this point?
  2. 2.2.3 is missing Windows wheels for Python 3.8. https://pypi.org/project/miniupnpc/2.2.3/#files
  3. It would be nice to have Python 3.10 wheels added.
  4. It would be nice to have wheels available for all platforms. Linux, macOS, and Windows.

This should all be doable on just GitHub Actions. I see configuration files for several CI platforms right now. How do you see your present CI setup and do you have plans for its future?

@altendky
Copy link
Contributor Author

I should clarify that I am looking to discuss the Python client. It looks like perhaps @mrx23dot has interest and existing involvement in this as well.

@miniupnp miniupnp added miniupnpc python issues with the python module / examples labels May 31, 2022
@miniupnp
Copy link
Owner

If generating python wheels with github actions is doable, just do it !
#573 is stuck somehow...

@kelsos
Copy link

kelsos commented Jun 20, 2022

It should be doable to build wheels on GitHub Actions using https://cibuildwheel.readthedocs.io/en/stable/

I would also be interested in Python 3.9 wheels for MacOS arm64, x86_64, linux x86_64, aarch64 and win 64, (with the dll packaged if possible)

I am not sure which ones of the above already exists.

@altendky
Copy link
Contributor Author

We have interest in the arm stuff as well, but we only have private runners presently. I think GitHub is working on the macOS ARM runners though, at least. If we get to this then we would be shooting for the best platform coverage we can get. And yes, I would like the package to be all inclusive as is the expectation for Python packages (outside of specific reasonably expected system dependencies, like manylinux formalizes). Though, I don't know if there are special reasons with this project to not have that.

@kelsos
Copy link

kelsos commented Jun 20, 2022

Yes they don't have arm builders at the moment unfortunately, which makes my life really hard.

It is however possible to cross-build arm64 wheels on the x86_64 macOS runners, but it can become really complicated depending the rest of your dependencies.

@miniupnp
Copy link
Owner

3.8 and 3.10 added to https://pypi.org/project/miniupnpc/2.2.3/#files

@miniupnp miniupnp added help wanted macOS issue affecting macOS / OS X build labels Oct 16, 2022
@miniupnp
Copy link
Owner

anyone able to automatically build macOS wheels ?

@kelsos
Copy link

kelsos commented Oct 17, 2022

I have a script to build a universal2 wheel for packaging with PyInstaller.

I am currently traveling, so I don't have access to the mac, but maybe if I have enough time next week, I can try it and create a PR. If the individual and universal2 wheels are published on PyPI, it will also help us simplify the build script.

@altendky
Copy link
Contributor Author

#640 is slightly tweaked from an internal build job we setup. I don't think it's ready, I added some notes in the PR OP, but wanted to get it documented publicly since it was roughly working.

@miniupnp
Copy link
Owner

miniupnp commented May 9, 2024

we still have only windows builds available : https://pypi.org/project/miniupnpc/#files

also :

image

@altendky
Copy link
Contributor Author

altendky commented May 9, 2024

#717 is where I added the actual uploading. I need to make it at least skip if the needed secrets are not set. I'll ping you there in a bit when I think I have that right.

@miniupnp
Copy link
Owner

miniupnp commented May 9, 2024

in #733 I'm trying to add the source .tgz ;)

@altendky
Copy link
Contributor Author

altendky commented May 9, 2024

I have a script to build a universal2 wheel for packaging with PyInstaller.

I am currently traveling, so I don't have access to the mac, but maybe if I have enough time next week, I can try it and create a PR. If the individual and universal2 wheels are published on PyPI, it will also help us simplify the build script.

Is universal2 specifically needed vs. just having both arm and intel wheels available? I'm conflicted about whether I personally would recommend adding it, but if other folks want it, #736 is available for consideration.

@kelsos
Copy link

kelsos commented May 10, 2024

I have a script to build a universal2 wheel for packaging with PyInstaller.
I am currently traveling, so I don't have access to the mac, but maybe if I have enough time next week, I can try it and create a PR. If the individual and universal2 wheels are published on PyPI, it will also help us simplify the build script.

Is universal2 specifically needed vs. just having both arm and intel wheels available? I'm conflicted about whether I personally would recommend adding it, but if other folks want it, #736 is available for consideration.

In our specific use case because we target universal2 with PyInstaller and build on intel mac, for the created executable to be able to run on both arm64 and intel macs, the packaged wheels must also be universal2.

I also don't think it makes sense to provide universal2 wheels anymore.

GitHub Actions now has apple silicon runners available for open-source projects, so the plan is to move away from the approach described above and instead package for each architecture specifically, in which case the separate arm and intel wheels will be enough.

@altendky
Copy link
Contributor Author

Thanks for the explanation. The addition is trivial, at least without testing the result on both archs :], maybe it'll help someone else. But, we'll leave that to miniupnp to either merge or close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted macOS issue affecting macOS / OS X build miniupnpc python issues with the python module / examples
Projects
None yet
Development

No branches or pull requests

3 participants