abi3
hi, happy new year
swig 4.2 recently added stable abi support: https://github.com/swig/swig/pull/2727 (see also https://docs.python.org/3/c-api/stable.html)
this allows to improve compatibility of wheels and simplify packaging (need only one binary per platform instead of one per python minor + platform)
I think agrum is a good candidate because it only uses the Python C API via SWIG
This would be achieved with just compiling agrum with extra define -DPy_LIMITED_API=0x03060000
to swig cxx flags in wheels build scripts
in the cmake side the PYTHON_EXTENSION_MODULE_SUFFIX
logic can just be removed, this was not very useful anyways (or use the default .so or .abi3.so when abi3 is enabled)
then tags must be changed to contain only the minimal api version (same as the version passed to Py_LIMITED_API
), then "abi3", then the platform tag, eg on linux:
pyAgrum-x.y-cp36-abi3-manylinux2014_x86_64.whl
I'm sorry I missed time to collaborate last year, but hope this year can be better