The Traits package adds support for explicit typing to Python, including initialization and validation. It also provides a powerful event notification system and a delegation model.
A trait is a type definition that can be used for normal Python object attributes, giving the attributes additional characteristics (default initial value, validation, etc.).
The Traits package also provides an API for creating user interfaces for Traits-based objects. (You must have a supported Python GUI toolkit -- wxWidgets or PyQt -- and additional supporting packages, in order to display Traits UIs.) Traits UIs can range from quick-and-dirty property sheets for development, to full-blown MVC application interfaces.
These details are provided for information only. No information here is legal advice and should not be used as such.