Repository navigation
Version 0.2.0
Pre-release
Pre-release
This adds the namespace decorator, intended for use on class_only classes that just define constant attributes.
For example, given the following class:
from class_only_design import namespace
@namespace
class ColourConstants:
RED = 'FF0000'
GREEN = '00FF00'
BLUE = '0000FF'The namespace decorator provides the mutability and instanciation protections of class_only, but also:
-
makes the class iterable, e.g.:
list(ColourConstants) # returns ['FF0000', '00FF00', '0000FF']
-
adds a special attribute,
nameofwhich returns the name of the class attribute:ColourConstants.nameof.RED # returns 'RED'
It also improves the underlying implementation of the class decorators. They no longer modify the class hierarchy.