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).
BSD-3-Clause AND EPL-1.0 AND LGPL-2.1-only