This adds the `namespace` decorator, intended for use on class_only classes that just define constant attributes.
For example, given the following class:
python
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.:
python
list(ColourConstants) returns ['FF0000', '00FF00', '0000FF']
* adds a special attribute, `nameof` which returns the name of the class attribute:
python
ColourConstants.nameof.RED returns 'RED'
It also improves the underlying implementation of the class decorators. They no longer modify the class hierarchy.