Об этом проекте

DotWiz — это библиотека Python, предоставляющая подкласс dict, который позволяет доступ к ключам в стиле атрибутов (через точку), включая автоматически преобразованные вложенные значения dict и list. Вместо написания my_dict['this']['dict']['has'][0]['nested']['data'] пользователи могут писать dw.this.dict.has[0].nested.data. Установка производится через pip install dotwiz. Основной класс DotWiz принимает dict плюс необязательные аргументы-ключевые слова и предлагает метод to_dict() для преобразования обратно в обычный dict. Вспомогательная функция make_dot_wiz() создает экземпляр из итерируемого объекта пар ключ-значение, позволяя ключам, которые не являются допустимыми идентификаторами Python, по-прежнему быть доступными через скобочную нотацию. DotWizPlus расширяет это, преобразуя специальные ключи (пробелы, смешанный регистр, ведущие цифры, зарезервированные ключевые слова или имена, конфликтующие с методами dict, такими как items, get или values) в безопасные имена атрибутов в snake_case. Оригинальные ключи остаются доступными через доступ в стиле dict, а to_attr_dict() возвращает санитизированную форму атрибутов. В README заявлены преимущества в производительности по сравнению с альтернативами, такими как dataclasses.make_dataclass, prodict, Box и DotMap, с деталями бенчмарков в документации. Проект документирован на Read the Docs, протестирован через GitHub Actions и Codecov и принимает вклад через pull request и issues.