このプロジェクトについて
DotWizは、キーへの属性スタイル(ドット)アクセスを可能にするdictサブクラスを提供するPythonライブラリです。自動的に変換されるネストされたdictやリストの値も含まれます。my_dict['this']['dict']['has'][0]['nested']['data']と書く代わりに、ユーザーはdw.this.dict.has[0].nested.dataと書くことができます。
インストールはpip install dotwizで行います。メインのDotWizクラスは、dictとオプションのキーワード引数を受け取り、プレーンなdictに戻すためのto_dict()メソッドを提供します。ヘルパー関数make_dot_wiz()は、キーと値のペアのイテラブルからインスタンスを構築し、Pythonの識別子として有効でないキーでもブラケット記法でアクセスできるようにします。
DotWizPlusは、特殊なケースのキー(スペース、混合ケース、先頭の数字、予約語、またはitems、get、valuesなどのdictメソッドと衝突する名前)を安全なスネークケースの属性名に変換することで、これを拡張します。元のキーはdictスタイルのアクセスで引き続きアクセス可能であり、to_attr_dict()はサニタイズされた属性形式を返します。
READMEは、dataclasses.make_dataclass、prodict、Box、DotMapなどの代替品に対するパフォーマンス上の利点を主張しており、ベンチマークの詳細はドキュメントに記載されています。このプロジェクトはRead the Docsで文書化され、GitHub ActionsとCodecovでテストされ、プルリクエストやイシューを通じて貢献を受け付けています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.