For the time being HPy only exposes PyObject_HasAttr and I think we should change its semantics to match the PyObject_HasAttrEx suggested in the issue. For older CPython versions using a hand-written implementation and for newer delegating to PyObject_HasAttrEx if it makes it upstream.
I think that issue https://github.com/capi-workgroup/problems/issues/51 raises (pun intended) good points about APIs such as:
For the time being HPy only exposes
PyObject_HasAttr
and I think we should change its semantics to match thePyObject_HasAttrEx
suggested in the issue. For older CPython versions using a hand-written implementation and for newer delegating toPyObject_HasAttrEx
if it makes it upstream.