The traits package developed by Enthought provides a special type definition
called a trait. Although they can be used as normal Python object attributes,
traits also have several additional characteristics:
- Initialization: A trait can be assigned a default value.
 
- Validation: A trait attribute's type can be explicitly declared.
 
- Delegation: The value of a trait attribute can be contained either
in another object.
 
- Notification: Setting the value of a trait attribute can trigger
notification of other parts of the program.
 
- Visualization: User interfaces that permit the interactive
modification of a trait's value can be automatically constructed
using the trait's definition.
 
Part of the Enthought Tool Suite (ETS).
          
            
            License: 
            BSD-3-Clause AND EPL-1.0 AND LGPL-2.1-only
            
            
            
            
            URL: https://github.com/enthought/traits