написать мета-класс AnnoDoc, который будет добавлять в произведённые им классы такое свойство:
- если data-атрибут класса аннотирован, и эта аннотация — строка, она считается его документацией
- если у класса уже есть документация — добавляется туда с новой строки
- если у класса не было документации — становится первой строкой документации класса
- если у аннотированного строкой атрибута есть значение, тип этого значения становится его аннотацией
- если аннотированный строкой атрибут ещё не задан, аннотация удаляется
Модифицировать поля .__doc__ и .__annotations__ (в обход inspect) разрешается.
В .__annotations__ перечислены аннотации именно data-астрибутов класса (методов там нет)
This is a class a: A variable b: Undefiled field {'a': <class 'int'>, 'с': <class 'int'>}