Dear Matthias,
Il 11/12/21 20:48, Matthias Voppichler ha scritto:
> Hi Antonio,
>
>> At the moment we have at least 7 issues regarding wheels:
>
> I think this shows that there is a generic need for it.
I totally agree that there is a lot of people asking for wheels.
My point is that the list also shows that there are very specific needs:
#912: Release to support HDF5 1.12.1 and
#884 PyPi wheel for tables 3.6.1 on Python 3.9 bundles (old) libraries
I understand that this is a request of having wheels including HDF5
v1.12.1. At the moment I'm not sure what is the status, but I think that
at least for GNU/Linux it is not the case, and the implementation is not
a matter of pinning a specific version in your package manager.
#776 Build libhdf5 with the --enable-threadsafe flag
Probably this is easy because most of the packagers use that flag AFAIK.
The point here is that I don't even know what is the status on wheels
that are currently produced.
#841 PypI wheel tables 3.6.1 for Python 3.9 has been compiled with AVX2
instructions triggering SIGILL
Also this one should be easy but I don't know what is the status for the
wheels currently built (probably GNU/Linux is already fine).
> That said - i don't think anyone demanded from you (personally or
> otherwise) to add/implement/invest the time to provide such wheels, which i
> fully understand is a time-consuming effort, which sometimes maintainers
> won't have time for.
> Personally, I think it would already help to have some clear points /
> guidelines / summary what is missing, and what will be required to provide
> wheels (at least for the major platforms).
To me the basic point would be to have the build process properly set up
in CI and possibly tests on produced wheels in CI.
Also, produced wheels should be "acceptable" form a technical point of view
At the moment the status is that CI workflows to produce wheels that are
already in the master branch probably require some improvement (e.g. to
use specific HDF5 versions and add testing).
Regarding other platform the workflows are still not in the master
branch and it is not clear to me if e.g. the use of "brew" is considered
or not an acceptable solution.
> In my understanding wheels for the following platforms are currently being
> built as part of CI - and should therefore be considered available:
> * linux (3.6, 3.7, 3.8, 3.9, 3.10) - for i686, x86_64 and aarch64 - all
> built in github CI [3.10 as of tomorrow - assuming my PR get's merged].
> * windows (3.6, 3.7 amd64) - built in appveyor
OK, I have merged you PR, thanks a lot.
Please note, anyway, that the generated Linux wheels are built against
HDF5 v1.8.12, that is quite outdated (see also #912).
> In my calculation - this leaves:
> * windows 3.9 and 3.9 (amd64) - potentially aarch64 (although I'd consider
> this an "exotic" platform which we can neglect for the moment)
> * macOS (x86_64, aarch64) (i think the intend was to build this at least in
> part in travisCI - however travis seems to not have ran in the last 9ish
> months - which might require another look...).
I confirm that Travis is out of the games.
And I agree with you that windows on aarch64 is not fundamental.
In principle Mac builders (at least for x86_64) should be available in GHA.
> Obviously there'll be some manual effort to "scrape together" all the
> wheels as part of the release process - but i think it's not as bad as you
> make it sound, as we've got 1.5 out of 3 platforms already covered in the
> current master branch.
Downloading wheels included in CI artifacts and uploading to PyPi is not
a problem for me.
Anyway I'm not in favor of providing an incomplete set of wheels (e.g.
windows 3.6 and 3.7 but not 3.8, 3.8 and 3.10, or windows but not mac).
The reason is that I'm pretty sure that 5 minutes after the upload users
will start complaining for the missing wheels, and in that scenario it
would make perfectly sense.
By the way I don't want to be the one that puts vetoes.
If also other developers agree to provide partial sets of wheels I have
no problems with it.
Of course I will just ignore any complain form users in that regards.
> Let me know if you think I've forgotten a platform / combination.
>
> Please note: I'm also willing to put in the work (at least for the moment)
> on getting wider wheels supported pretty short-term - obviously assuming
> there is interest from the maintainers to have this in place.
I confirm that form my point of view any contribution in this and other
fields of the PyTables development is very welcome.
If you decide to do some job I will try to support you as much as
possible compatibly with the very limited time that I have to dedicate
to PyTables.
I do not commit to do any activity related to direct implementation,
testing and maintenance of wheels.
Also please consider that I plan to make a new release during the
Christmas break because after that I will not have time to do it.
kind regards
antonio
--
Antonio Valentino