traits
Observable typed attributes for Python classes
Observable typed attributes for Python classes
To install this package, run one of the following:
The Traits project allows Python programmers to use a special kind of type definition called a trait, which gives object attributes some additional characteristics:
Initialization: A trait has a default value, which is automatically set as the initial value of an attribute before its first use in a program.
Validation: The type of a trait attribute is explicitly declared. The type is evident in the code, and only values that meet a programmer-specified set of criteria (i.e., the trait definition) can be assigned to that attribute.
Delegation: The value of a trait attribute can be contained either in the defining object or in another object delegated to by the trait.
Notification: Setting the value of a trait attribute can notify other parts of the program that the value has changed.
Visualization: User interfaces that allow a user to interactively modify the value of a trait attribute can be automatically constructed using the trait’s definition. (This feature requires that a supported GUI toolkit be installed. If this feature is not used, the Traits project does not otherwise require GUI support.)
Summary
Observable typed attributes for Python classes
Information Last Updated
Sep 8, 2025 at 17:34
License
BSD-3-Clause
Total Downloads
22
GitHub Repository
https://github.com/enthought/traitsDocumentation
https://docs.enthought.com/traits