Tag Python

PythonでコールバックなAPIをasync/awaitなAPIにする方法

この記事は RevComm Advent Calendar 2023 の22日目の記事です。 21日目の記事は宇佐美さんの「本番リリースを週一から随時に変えるためにやったこと」でした。 コールバックなAPIとasync/awaitなAPI Pythonで非同期I …

prisma generate での ImportError

PrismaとそのPythonクライアントprisma-client-pyが気になっていたので触ってみたところ、prismaコマンド実行で少し躓いたのでメモ。 作業内容自体はQuickstartに沿ったものです。 その中でprisma generateの実行 …

PyCon JP 2021 で発表してきた話とその補足

10月15日-16日でPyCon JP 2021が開催されました。 いち参加者として楽しみつつ、スピーカーとして「実装で知るasyncio -イベントループの正体と …

cpythonのビルドとCLionの設定

macOS Big Sur(Version 11.2.1)でのPython 3.9をソースコードからビルドする手順です。 ビルド後にCLionでデバッグ実行を行い、ブレークポイントで止まることを確認します。 CPythonとは...

AlembicとasyncpgでDBスキーマ管理

先日書いたFastAPI+SQLAlchemyで非同期WebAPIで紹介したrhoboro/async-fastapi-sqlalchemyをより本格的に使えるようにAlembicを導入しました。 変更内容はPR:DBスキーマの管理をAlembicで行うにありますが、行ったことをざっと …

非同期処理をコルーチンにする便利関数

async対応したアプリを書くことが多くなってきましたが、まだまだ非同期なライブラリなどを使うことが多いです。 そういった非同期な処理をasyncな世界に持ってくる便利関数のメモです。 サブスレッド版 import functools from asyncio …

FastAPI+SQLAlchemyで非同期WebAPI

少し前にSQLAlchemy 1.4がリリースされました。 このSQLAlchemy 1.4には大きな特徴として次の2点があります。 SQLAlchemy ORMでこれまでの記法(1.x Style)に加えて、2.0 Styleと呼ばれる新しい記法に対応...

有効期限付きの lru_cache

SQSにメッセージを送信する処理を書いていたのですが、結構な頻度で呼び出されるため boto3.client のインスタンスをキャッシュすることにしました。 Pythonではキャッシュといえばfunctools.lru_cacheを使うと楽なので …

Pythonの便利なオプション-c, -m

小ネタです。 先日こんなツイートをしたので、関連してpythonコマンドの便利オプションである-cオプション、-mオプションを紹介します。 自分はよく使って …

FastAPI+SQLAlchemyをpytestでテスト

FastAPIでSQLAlchemyを利用するサンプルコードが公式ドキュメントにあります。 サンプルコードのmain.pyの重要な部分を抜粋するとこんな感じです。 app = FastAPI() # Dependency def get_db(): db =...


Page 1 / 4