GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

MagicStack

asyncpg – Python / asyncio用のPostgreSQLデータベースクライアントライブラリ

投稿日:

Python / asyncio用のPostgreSQLデータベースクライアントライブラリ。

asyncpg – Python用の高速PostgreSQLデータベースクライアントライブラリ/ asyncio

asyncpgは、PostgreSQLとPython / asyncio専用に設計されたデータベースインタフェースライブラリです。 asyncpgは、Pythonのasyncioフレームワークで使用するPostgreSQLサーババイナリプロトコルの効率的でクリーンな実装です。 asyncpgの詳細については、初めのブログ記事を参照してください

asyncpgにはPython 3.5以降が必要で、PostgreSQLバージョン9.2〜10でサポートされています。

ドキュメンテーション

プロジェクトのドキュメントはここにあります

パフォーマンス

私たちのテストでは、asyncpgは平均してpsycopg2(およびasyncioの亜種)よりも3倍高速です。

上記の結果は、PostgreSQL クライアントドライバのベンチマークツールベンチで得られたベンチマークの幾何平均です。

特徴

asyncpgはPostgreSQLサーバプロトコルをネイティブに実装し、DB-APIのような一般的なファサードの背後に隠れるのではなく、その機能を直接公開します。

これにより、asyncpgは以下をサポートしています。

  • 準備文
  • スクロール可能なカーソル
  • クエリ結果の部分的な反復
  • 複合型、配列、およびそれらの任意の組み合わせの自動エンコードおよびデコード
  • カスタムデータ型の直接サポート

インストール

asyncpgはPyPIで利用でき、依存関係はありません。 pipを使ってインストールする:

$ pip install asyncpg

基本的な使用法

import asyncio
import asyncpg

async def run():
    conn = await asyncpg.connect(user='user', password='password',
                                 database='database', host='127.0.0.1')
    values = await conn.fetch('''SELECT * FROM mytable''')
    await conn.close()

loop = asyncio.get_event_loop()
loop.run_until_complete(run())

ライセンス

asyncpgはApache 2.0ライセンスの下で開発され、配布されます。







-MagicStack
-, , , , , , ,

執筆者: