サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
zenn.dev/tk_resilie
FastAPIのrouterにはasync def/defのいずれも指定できるが、適当に決めてはならない FastAPIのrouter定義(path関数)では、def/async def のいずれも使用できるため、サンプルなどを見てなんとなくasync defにしている方もいるのではないでしょうか? 以下にasyncとsyncの実装例を記述します。 # sync @router.get("/sync") def get_develop_sync(i: int) -> None: import time print(f"start: {i}") time.sleep(30) print(f"end: {i}") # async @router.get("/async") async def get_develop_async(i: int) -> None: import time impo
Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 本記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開
概要 先日、PydanticV2 に対応した FastAPI 0.100.0 が正式にリリースされました。 PydanticV2 は大部分を Rust で書き直したことで高速化を実現している他 使い勝手向上のために API が多少変更になっているので、移行作業が必要になる場合があります。 本記事では、V1->V2 への移行のポイントについて紹介します。 速度向上について Rust 化による速度向上も重要なポイントです。 参考までに、私が Pydantic 部分のみで試した際は、5~6 倍高速化されていました。 以下のクラウドカメラの Safie 社のブログで、FastAPI で使用した場合の速度向上について実験されています。 参考リポジトリ FastAPI 0.100.0 に対応した FastAPI のサンプルリポジトリを公開しています。 他にもパッケージ管理の Rye や Linter
概要 チームでPythonを開発する場合に活用可能な、パッケージや構成などの開発テンプレートを紹介します。 パッケージ管理、lint, test, loggingなどの、汎用的にプロジェクトで活用可能な構成になっています。 このテンプレートを導入することで、パッケージ管理やLint等の非機能系タスクから解放され、機能開発系のタスクに集中できるようになります。 パッケージ管理ツールとして、最近リリースされて使用感が良いと話題のryeを採用したバージョンについても説明しています。 今回説明する内容のリポジトリは以下の通りです。 rye使用バージョン 新しいパッケージ管理ツールであるryeを使用したバージョンは以下の通りです。 Poetry使用バージョン(従来版) 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニ
このページを最初にブックマークしてみませんか?
『米谷 昂(Python/FastAPIプロフェッショナル)さんの記事一覧』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く