Было бы здорово, если бы к атрибуту можно было обратиться из его определения метаданных attrs? Например:
@attr.s class C(object): x = attr.ib(metadata={'lowered': x.lower()})
Вы видите возможность для такого динамического c назначения?