Pyface 8 has just been released, and TraitsUI 8 will be released soon. These include some backward-incompatible changes that will likely impact Mayavi users.
The most significant change in this release is that the Qt toolkit backend has been moved from the pyface.ui.qt4 package to the pyface.ui.qt package. The “qt4” namespace had been an ongoing source of confusion as Qt5 and Qt6 became the most popular versions of Qt in use. Because this change has the potential to cause significant backwards compatibility issues, this release includes import hooks to continue to support imports from pyface.ui.qt4... which can be enabled by:
using “qt4” for the ETS_TOOLKIT or ETSConfig.toolkit values.
setting the ETS_QT4_IMPORT environment variable to a non-empty value
explicitly adding the import hooks to sys.meta_path
In particular the environment variables allow users of ETS-based applications such as Mayavi to continue to use those applications with newer versions of Pyface until there is time to update their code to the new import locations.
Concrete actions for the Mayavi project is that all imports from pyface.ui.qt4 need to be changed to pyface.ui.qt
Pyface 8 has just been released, and TraitsUI 8 will be released soon. These include some backward-incompatible changes that will likely impact Mayavi users.
The most significant change in this release is that the Qt toolkit backend has been moved from the pyface.ui.qt4 package to the pyface.ui.qt package. The “qt4” namespace had been an ongoing source of confusion as Qt5 and Qt6 became the most popular versions of Qt in use. Because this change has the potential to cause significant backwards compatibility issues, this release includes import hooks to continue to support imports from pyface.ui.qt4... which can be enabled by:
In particular the environment variables allow users of ETS-based applications such as Mayavi to continue to use those applications with newer versions of Pyface until there is time to update their code to the new import locations.
Concrete actions for the Mayavi project is that all imports from
pyface.ui.qt4
need to be changed topyface.ui.qt