To recap:
- the current way to know whether a package supports free-threading, is to check the available wheels, or to know that it is a pure Python package
- a free-threading trove classifier may be added
- but we may wish to deprecate it later, when free-treading becomes the default build, or it is rejected
- the availability of a
3.13t
tagged wheel may be inconclusive- the package may be imported but the interpreter still fallback to enable the GIL (*)
- even if the GIL stays disabled, the package may still be broken, possibly providing such wheels for experimentation purposes
- if a package is marked with a free-threading classifier, the publisher is expressing that it is their intention that users of the free-threading build can in fact use it
(*) this sounds to me like an unlikely case: if you’re building a package for free-threading with a separate build step, are you really not going to make the effort to mark the module with Py_MOD_GIL_NOT_USED
?
I thought that the issue could also be simply solved with a GitHub-style badge (kudos to the ppl working on the py-free-threading guide! ).
You cannot use it to filter search results on PyPI of course, but it may just do the trick.