quantumjot / btrack

Bayesian multi-object tracking
https://btrack.readthedocs.io
MIT License
310 stars 50 forks source link

Automate builds using `cibuildwheels` to improve current workflow #235

Open paddyroddy opened 1 year ago

paddyroddy commented 1 year ago

Addresses #192. Following the merge of #231 the shared libraries will now be built in the current workflow rather than committed to git. The initial proposal was to use cibuildwheels for everything but following attempts in #230 and #225 this proved tricky and so @p-j-smith, and I decided that we should get the current workflow working and the cibuildwheels is a more involved job for another time.

To build on cibuildwheel the following steps are required:

The pyproject.toml could look a bit like

[tool.cibuildwheel]
test-command = "pytest {project}"
test-extras = [
    "napari",
]
test-requires = [
    "dask",
    "pytest",
]
linux.before-all = [
    "yum install -y eigen3-devel",
]
macos.before-all = [
    "brew install eigen",
]
windows.before-all = [
    "choco install eigen",
]