Python stable ABI packages?

I recently learned about the Python stable C ABI that lets a wheel be built once for a platform and be compatible with multiple versions of Python (see here for one example of a discussion). Has it ever been considered to support this kind of build in the conda-forge tooling? I would guess that you would build once for each platform with the oldest supported version of Python.

I haven’t done any tests personally yet. Can conda-build handle building with a specific version of Python but specifying a range of Python versions in the run depedencies? The Python version gets put in the build string, but I think that is just for documentation. One package I maintain is planning to switch to the stable ABI with its next release, so I was wondering if the conda-forge package could follow in building only once per architecture.

1 Like