Skip to content

Release Python bindings to PyPI #496

@althonos

Description

@althonos

Hi! I was about to have a look at making bindings for strobealign but you made some already (and it turns out I already contributed to them in the past, my memory is that of a goldfish lol 😃) Would you consider releasing the library to PyPI? It would make it much easier to integrate with other Python projects.

So far I can get the project to build with cibuildwheel with minimal changes to pyproject.toml so making wheels would be quite easy as well, and you could do that in CI to release them on tagged commits (I have an example here for a large matrix of Python versions and platforms: https://github.com/althonos/pyjess/blob/main/.github/workflows/package.yml, but in essence you just need the pypa/cibuildwheel action).

The updated pyproject.toml:

Details
[build-system]
build-backend = "setuptools.build_meta"
requires = [
    "setuptools>=42",
    "wheel",
    "scikit-build>=0.13",
    "cmake>=3.18",
    "ninja; platform_system!='Windows'",
    "nanobind>=0.2.0",
]

[project]
name = "strobealign"
version = "0.16.0"
license = "MIT"
requires-python = ">=3.10"

[tool.pytest.ini_options]
testpaths = ["tests"]

[tool.cibuildwheel.linux]
before-all = "yum install -y isa-l-devel"

I would also suggest switching to scikit-build-core instead of scikit-build for better forward compatibility, this would also avoid to manually require cmake and ninja as scikit-build-core handles the build dependencies a bit better (see https://scikit-build-core.readthedocs.io/). Also happy to help / PR for that 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions