For tracking purposes, python-pyface currently includes code that explicitly loads non-namespaced sip module, yface/ui/qt4/workbench/split_tab_widget.py: import sip pyface/ui/qt4/workbench/split_tab_widget.py: if sip.isdeleted(self): pyface/qt/__init__.py: import sip pyface/qt/__init__.py: sip.setapi('QDate', 2) pyface/qt/__init__.py: sip.setapi('QDateTime', 2) pyface/qt/__init__.py: sip.setapi('QString', 2) pyface/qt/__init__.py: sip.setapi('QTextStream', 2) pyface/qt/__init__.py: sip.setapi('QTime', 2) pyface/qt/__init__.py: sip.setapi('QUrl', 2) pyface/qt/__init__.py: sip.setapi('QVariant', 2) Recent versions of sip now use name-spaced modules, so either this code can either be dropped or use PyQt4.sip instead. (Or ideally, appears it at least has *some* support for PyQt5 which is better supported). See also bug https://bugzilla.redhat.com/show_bug.cgi?id=1753069
Hopefully this is addressed in python-pyface-6.1.2-2.fc32. Please re-open if more work is needed. I've switched to Qt5 for F32+, and added an upstream patch for PyQt4 support if we need this for F31.