Python の辞書オブジェクトは x['foo']['bar'] みたいに書くのですね。それはよいのですが、 x.foo.bar みたいにアクセスしたくなる日もあるわけですよ。
もうこれは、古くて新しい問題で、いろんな人がいろいろと似たような実装をしていて、検索するといっぱい引っかかります。 自分のプロジェクトの中にも、そういうのが幾つかあります。
今日も久しぶりに検索したら、よさそうなのがありました。
https://github.com/makinacorpus/easydict
これが、x.foo.bar みたいに辞書に辞書が含まれててもうまくいく実装のなかで、シンプルできれいだなぁと思いました。