smarco / WFA2-lib

WFA-lib: Wavefront alignment algorithm library v2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Consider following semantic versioning

twrightsman opened this issue · comments

I've started to write Python bindings for WFA2-lib and got bitten by a few API-related things. I started out trying pyWFA but they were using an older (v2.2?), vendored version of WFA2-lib. It seemed that the API had changed quite a bit from v2.2 to v2.3.3, so I figured I'd try writing bindings to v2.3.3, which is packaged in bioconda and also is the only stable version released, if I understand correctly.

I had to write a small patch (see #83) to get the bindings to build against v2.3.3 properly, but also looked in to updating the bindings to work with the latest main changes, since it seems a lot of fixes and features have made it in since v2.3.3. However, I noticed the API changed again.

In the interest of reducing the burden on users of this really cool library, could you consider following a versioning scheme like SemVer, where the public API doesn't break without a major version bump?

Hi,

I am sorry you had so many problems writing Python bindings for WFA2-lib. I appreciate your effort and I will work to make this less painful. For the moment:

  1. I have created a new tag and release v2.3.4 (with your patch) and branch (wfalib.v2.3.4).
  2. Patches, that don't break the API, will now be pushed onto development (v2.3.5).
  3. From now on, I will not change anything that breaks the API until the new mayor release is completely ready.
  4. I will use SemVer, from now on.

More suggestions are welcome.
Let me know.

Hi @smarco,

I really appreciate your response and efforts, thank you! This should make things easier for users of the library and packagers.

I will let you know if I encounter any other issues. And thank you for developing this incredibly useful library.