-
-
Notifications
You must be signed in to change notification settings - Fork 268
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
release wheels for python 3.9 #823
Comments
Dear @avalentino, @tomkooij, @PyTables and @numfocus, first things first: Thank you so much for conceiving and maintaining PyTables. Binary wheels for Python 3.9 for all of lxml, h5py, Pandas and Numpy are already available on PyPI these days. At @earthobservations, we just have been able to upgrade to their most recent releases on Wetterdienst and it works like a charm, see earthobservations/wetterdienst#202 (comment). For NumExpr, we also just outlined the situation at pydata/numexpr#367. It would be awesome if you could also build and upload With kind regards, |
OK i managed to build wheels for linux locally. |
Dear Antonio, thanks a bunch already. While I am just getting started to learn about the package publishing infrastructure behind the different Python packages for scientific computing, there is nothing that I could really contribute here other than pointing out what others are doing, especially in the light of switching away from Rackspace and staging packages through either AppVeyor/Travis/Anaconda or GitHub Actions these days. In this manner, the discussion over at pydata/numexpr#367 has progressed and you might want to look into what @robbmcleod and @mattip (thank you!) have been doing / are suggesting there. Specifically, cibuildwheel by @joerick, @YannickJadoul and contributors seems to be a nice way to build wheels these days and supports the full stack of Python versions and CI platforms. With kind regards, |
Dear Andreas, |
Dear Antonio, well, I will be happy to provide a wheel for macOS 10.13.6 using Python 3.9.0. Saying that, I am a newcomer here so I will probably have to learn from you first. I just familiarized myself a little bit with the matter by cloning the repository, building it and running the tests on Python 3.8.6. It worked fine so far. Now, I ran a build using Do you believe using the internal blosc sources (see below) is fine? With kind regards,
|
Hi again,
I am in the same situation, but maybe I can spare some time for that. At pydata/numexpr#367 (comment), @mattip shared some recommendations. While he said that NumPy uses Travis CI, numpy/numpy#17738 shows that all Linux x86 jobs moved to GHA already and they are also planning to do this for the Windows/macOS builds. Should PyTables go the same route and maybe already use cibuildwheel for that job? With kind regards, |
Just to clarify: my intention in the comment you linked to was to point out that NumPy still uses travis-ci for some non-x86 platforms. |
All right, thanks for clarifying this, Matti! I believe that ARM64/AArch64 will gain more popularity in the future and I am looking forward to learn how to build packages for this by reusing what you are doing at NumPy [1]. Thanks for all your suggestions! From looking at the NumPy repository, am I right to assume you are not using |
Not a lot of times to get into a library/build process that I don't know, but if there are questions about Apart from the cibuildwheel docs, I'd suggest just starting out with the examples and seeing what goes wrong. If |
Thanks for your encouragement, Yannick! As the whole build machinery of @numpy looks rather complex, I believe it might not yet be possible to easily go along with So, I will be happy to apply the |
Dear @mattip, accidentally, I just discovered how SQLAlchemy runs tests and builds wheels for ARM64/AArch64 on GHA through Docker/QEMU, see sqlalchemy/sqlalchemy#5480 by @odidev. With kind regards, |
Dear @YannickJadoul and @mattip, through tornadoweb/tornado#2923, I also just discovered the Run-On-Arch GitHub Action by @uraimo, which promises to execute commands on armv6, armv7, aarch64, s390x and ppc64le. At its core, it also uses non-x86 emulation in Docker via QEMU. However, @bdarnell said at tornadoweb/tornado#2923 (comment) that
Maybe this is something you could look into, Yannick? With kind regards, |
Dear @amotl personally I think that GHA + cibuildwheel is the way to go. The key point for PyTables builds is the setup of C/C++ libraries necessary to build.
must be installed on the system before building wheels. Fro linux I just used
For osx it seems to me that pytables-wheels uses brew, My recommendation is to go by steps: setting up the base PR with linux only (please mark it as [WIP]), and then adding other OSs and architectures gradually (eventually also in separate PRs). Thanks a lot for your effort. |
Dear Antonio, thanks again for your suggestions. According to [1], Homebrew is also available within GHA for easily installing out of band dependencies on macOS as well as Chocolatey for Windows environments, see also [2]. With kind regards, [1] https://www.edwardthomson.com/blog/github_actions_4_installing_tools.html |
Very nice! |
That should be pretty straightforward to do with The mentioned C libraries are potentially a bit more tricky, but should still work similarly. The issue might be on how to package these into a wheel for Windows (since Windows doesn't have an
That's pretty cool, thanks! Maybe this is worth opening a cibuildwheel issue for (or add this to an already existing issue, like pypa/cibuildwheel#364?). It should not be all too hard to enable |
Dear Antonino and Yannick,
Sure, sorry for hijacking this thread a bit. But there have been so much valuable information coming together with nice people caring about these topics (thanks!), so I believed it to be a good idea to share these findings with you within this very context.
Sure, will do.
Now, I will actually have to find some spare time to work on the low hanging fruits into the direction we are aiming at ;]. With kind regards, |
FYI I have setup a basic GHA workflow for building wheels on linux. It would be nice to have also builds for windows and macosx. |
Hi again, based on @eumiro's #834 and @avalentino's b71ca54 (thanks!), I wanted to let you know that I am currently working on adding build targets for macOS and Windows on behalf of [1]. The outcome is promising so far [2], I hope to be able to submit a patch soon after cleaning up and documenting the workflow a bit more. With kind regards, [1] master...daq-tools:gha-macos-windows-ci |
Any news regarding the wheels for windows / macOS? Not having these makes using tables (with python 3.9) on these platforms a real pain. |
@amotl Ok, this is a VERY late reply. I just stumbled upon this. I invited you (and antonio as he is the only owner with an account on pypi-test). Sorry about not replying to this. Hope this still is usefull. |
Thanks @tomkooij. |
How is this issue coming along any help needed? Would it make sense to manually upload Chris Golhke's wheels to PyPi until this is resolved? |
Add support for Windows: - [x] Make extra compile arguments compatible - [x] Add Windows to build platforms in cibuildwheel action - [x] Update readme Extra: - [x] Made `HCD` model name synonymous to `HCD2021` for backwards compatibility - [x] Fixed build for macOS: Missing XGBoost dependency in build environment: `libomp` - [x] Avoid extra test runs due to `on: [push, pull_request]` by specifying push branch Caveats for compiled wheels: - 32bit platforms not built, as XGBoost wheels are missing - Python 3.9 and 3.10 not built, as pyTables wheels are missing: PyTables/PyTables#823
Hi. |
To people looking for an update on this issue, @xmatthias has done some great work already to get 3.9 and 3.10 wheels:
Currently, open issues are: |
@xmatthias since #923 is now merged I think that this issue can be closed. |
@avalentino Hi. The 3.9 Windows wheels are not published at https://pypi.org/project/tables/3.6.1/#files . |
The machinery to generate wheels is now fixed. |
- 3.9/3.10: Blocking upstream issue (PyTables/PyTables#823) fixed (#126) - 3.6: End-of-life
Currently, pypi does not contain wheels for python 3.9.
I know python 3.9 just came out - but it would be great if the last release (or a new release - considering the last release has been over a year ago) could be updated to include Wheels for python 3.9 to simplify installation.
The text was updated successfully, but these errors were encountered: