The pyface project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the Traits package. Thus, you can write code in terms of the Traits API (views, items, editors, etc.), and let pyface and your selected toolkit and back-end take care of the details of displaying them. The following GUI backends are supported: * wxPython * PyQt * PySide WWW: https://docs.enthought.com/pyface/