Closed peterjc closed 1 year ago
@peterjc I typically install from conda-forge. I'm not sure on the process for pre-compiled wheels -- I'm sure it's not hard, just haven't done it before. I'd welcome a PR against the release workflow if you're interested?
The minimal change would like be supplement python setup.py sdist
with python setup.py bdist_wheel
but that would only compile a wheel for the current platform (likely Linux and a single version of Python). That would be fine for a pure-Python package, where there is only one wheel required.
If (as I suspect) you would need to compile for multiple operating systems and versions of Python, you'd need a whole build matrix. Hopefully not as complicated as https://github.com/numpy/numpy/blob/main/.github/workflows/wheels.yml or https://github.com/scipy/scipy/blob/main/.github/workflows/wheels.yml but that's the idea. Implementation details vary, you might be able to use something simpler like https://github.com/biopython/biopython-wheels/blob/master/.github/workflows/cibuildwheel.yml
Can you thinking of a comparable project in terms of your build chain (i.e. Cython based)?
It's primarily a matter of bandwidth. This package is readily installable already from conda-forge, so I'm not too worried about the lack of wheels -- if a user needs to install it faster then I'd recommend use of conda. I would certainly welcome a pull request to improve our automated release methods, but I won't be able to put time into anytime soon.
The current and recent releases are only on PyPI as source code release tar-balls, e.g.:
https://pypi.org/project/biom-format/2.1.12/#files
This made
pip install biom-format
considerably slower than expected on macOS and Linux (speed matters for dependency installation during CI testing), and I strongly suspect would be challenging on Windows given you'd presumably need a compiler setup for the Cython code.Could you provide standard pre-compiled wheels (or would you recommend using conda-forge instead?)