Twistar以外に非同期PythonORMはありますか?
竜巻の上に構築された、ノンブロッキングAPI用の軽量ORMを探しています。もちろん、momokoを使用して生のSQLクエリを作成することもできますが、オブジェクトを操作したいと思います。
もちろんそうだ!peeweeとpeewee-async拡張機能を見てください。免責事項:拡張機能は現時点ではPostgreSQL専用であり、私は拡張機能の作成者です:)
Tornado専用ではありませんが、Tornadoはasyncioイベントループで実行できます。
5年経ちましたが、大きく変わりました。GINOは、 asyncpgとSQLAlchemyコアの上に軽量のORMになるように作成しました。これは、asyncioおよびPostgreSQL専用です。明示的かつ単純にするために、通常のORMパターンをほとんど適用しなかったため、「GINOIsNotORM」としてのGINO。
TortoiseORMをご覧ください
フル機能を目指して、asycnioORM
からインスピレーションを得ています。Django syntax
asyncioTornado 5.0
で実行されるため、正常に機能するはずです。
存在しません。軽量化に近づくことさえ考えられる唯一のORMはPeeWeeであり、それは非同期ではありません。ORMは書くのが難しく、うまく書くのはさらに難しいです。優れたクリーンなAPIを備え、基盤となるDBの多くの機能を公開し、効率的である必要があります。大変な注文です!
Python用のORMは多くなく、非同期のORMはさらに少なくなります。ごめん。
mongoを使用している場合は、Asyncmongoを調べることができます(ormではありませんが、データAsyncにアクセスできます) https://github.com/bitly/asyncmongo
興味がある場合は、このWebminarのビデオとスライドを参照してください:「PythonとTornadoを使用した非同期MongoDB」http://www.10gen.com/presentations/webinar/Asynchronous-MongoDB-with-Python-and-Tornado
「トルネードアプリケーション用のモータードライバーを備えたフル機能の非同期MongoDBORM 」であるMonguoをご覧になることをお勧めします。
ultramysqlのMySQLdb互換ラッパーであるumysqldb(https://github.com/hongqn/umysqldb )を確認することをお勧めします。モンキーパッチを介してgeventと互換性のあるultramysql。