The traitsui 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 traitsui and your selected
toolkit and back-end take care of the details of displaying them.
traitsui
enthought/traitsui