http://elixir.ematia.de/trac/
基本的に import * を推奨しちゃってる感じですね。
設計方針的に。
勝手に?暗黙に?処理する部分が結構あって、
エラーの出方に意表を突かれます。それが馴染むか否かですね。
setup_all() とか、
現在の名前空間から、Entityの継承クラスを探して、
それぞれ「重要な何か」を仕込んでいるらしい。
#ついapp engineのつもりで、
他のEntityのqueryを作るようなメソッドを書いちゃったんですが、
いざ使おうとしたら、queryが居ません。みたいな。
発想は美しいような?妙にチグハグなような?
じゃあmetadata.bindは何をやってるんだ?的な憤りはままありますが。
elixirを使う場合は、Entityの実装はあまり小分けにしないで、
__all__をちゃんと書いた方が上手く回る。ということなんでしょう。
#アレ?それってpythonでは常識??
筆者は、名前空間を上書きしない主義。だったので、
抵抗というよりは、カルチャーショックでしょうか。
総評としては、elixir(引いてはsqlalchemyも?)は、
pythonマスターによる、pythonマスターの為の。
という感じでしょうか。