interest in wheel files?
Hello, would the maintainers of this project be interested in building multi-platform wheels? At the moment, pypi only includes the sources for openslide-python, so users require a compiler. This wouldn't be necessary with pre-compiled wheels.
I would be happy to submit a PR for this. I would plan to use https://github.com/pypa/cibuildwheel (which is maintained by the python packaging authority). Wheels could be built for linux, macos, and windows.
There are definitely wheels on pypi already, see https://pypi.org/project/openslide-python/#files. I think there are only wheels for windows because users on that platform are less likely to have the required toolchain installed.
I hadn't heard of cibuildwheel and it seems interesting. Features like bundling libraries that extensions depend on could solve some of the installation issues people are encountering. As far as I can tell, it would not currently bundle the openslide library because the _convert.c extension doesn't (need to) link to that. I also assume there are issues with bundling libraries without the corresponding source, although similar concerns would apply to the already packaged _convert.c object.
As of now, bundling doesn't seem to be integrated for windows, which, as far as reported issues, has the most issues in this area. But the documentation does mention https://github.com/adang1345/delvewheel as a possible future option for that.
It looks like Benjamin spent some time setting up workflows for Github Actions, so he may have some insight on this.
I'm open to shipping pre-compiled wheels for Linux and macOS. We already build Windows wheels through GitHub Actions (see the release process checklists) but if better tooling is available, I'm in favor. A PR would be great, thanks!
As to bundling OpenSlide into the wheel, I don't think that would be a good idea for a number of reasons. That's a separate discussion, though, and I don't think we need to block on it for purposes of this bug.
There are definitely wheels on pypi already, see https://pypi.org/project/openslide-python/#files. I think there are only wheels for windows because users on that platform are less likely to have the required toolchain installed.
Sorry about that, I do see the wheels for windows.
A PR would be great, thanks!
I will try to submit a PR in the next month.
As to bundling OpenSlide into the wheel, I don't think that would be a good idea for a number of reasons.
Makes sense to me. As @jaharkes mentioned, the _convert.c object doesn't link to openslide, so it isn't included in the wheel anyway. I tried building a linux wheel, and indeed, the openslide C library was not bundled. But I agree that that is not necessarily a problem. I presume the windows wheels do not include the openslide C library either.
I presume the windows wheels do not include the openslide C library either.
Yup, that's correct.