並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 16 件 / 16件

新着順 人気順

fastapiの検索結果1 - 16 件 / 16件

  • FastAPIを用いたAPI開発テンプレート - Qiita

    はじめに FastAPIはPythonのWEBフレームワークで、同じ分類のフレームワークとしてFlaskやDjangoなどが挙げられます。FlaskとDjangoはよく比較され、Flaskが最小限のコードで書き始められるシンプルなマイクロフレームワークと呼ばれるのに対し、Djangoはログイン機能、データベース管理などが初めから備わっておりフルスタックフレームワークと呼ばれています。 FastAPIはFlaskと似ているマイクロフレームワークで公式ドキュメントでは次のように紹介されいます。FastAPI は、Pythonの標準である型ヒントに基づいてPython 3.6 以降でAPI を構築するためのモダンで高速(高パフォーマンス)な、Web フレームワークです。[1] 本記事では、以下の内容を扱います。 特徴である型ヒントとそれにより実現できるAPIドキュメントの自動生成 SQLAlch

      FastAPIを用いたAPI開発テンプレート - Qiita
    • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog

      はじめに この記事を読んで得られること 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 1. 開発環境の構築で使用したツール AWS Lambdaのコンテナサポートを採用 Poetry利用時に開発と本番環境の適切な管理でLambdaデプロイ問題を解決 Poetry利用時に起きた問題 Dockerfileを分けてデプロイできない問題を回避 Mutagen Composeを採用 Dockerの同期遅い問題 Mutagen Composeを利用 2. 開発で活用したPythonライブラリ パッケージ管理 Poetry Ryeも検討したものの採用せず ベースのライブラリ FastAPI Mangum Powertools for AWS Lambda リンター・フォーマッター Ruff Mypy 型アノテーション自動生成ツールの活用 Black テスト Pytest p

        【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog
      • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog

        はじめに 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 3. アーキテキチャ及びディレクトリ構造 オニオンアーキテクチャを採用 オニオンアーキテクチャとは 誕生の背景 依存関係逆転の原則の活用 採用理由 参考になった記事 ディレクトリ構造 全体の構成 api schema apiとusecaseの間のデータ構造を提供する役割 schemaはパスオペレーション関数のリクエストとレスポンスの構造を提供する役割 usecase domain infrastructure core container_config exception 参考にしたもの まとめ はじめに ラクスルグループのノバセルで新卒2年目のエンジニアをしています田村(tamtam)です。 第1回では、AWS Lambda x FastAPIによるPythonモダンAPI開発を実現する上で役立つであろ

          【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog
        • FastAPIがPydantic v2対応したので、V2移行のポイントを紹介する(意外と簡単)

          概要 先日、PydanticV2に対応したFastAPI 0.100.0が正式にリリースされました。 PydanticV2は大部分をRustで書き直したことで高速化を実現している他 使い勝手向上のためにAPIが多少変更になっているので、移行作業が必要になる場合があります。 本記事では、V1->V2への移行のポイントについて紹介します。 速度向上について Rust化による速度向上も重要なポイントです。 参考までに、私がPydantic部分のみで試した際は、5~6倍高速化されていました。 以下のクラウドカメラのSafie社のブログで、FastAPIで使用した場合の速度向上について実験されています。 参考リポジトリ FastAPI 0.100.0に対応したFastAPIのサンプルリポジトリを公開しています。 他にもパッケージ管理のRyeやLinterのRuff、SQLAlchemy v2などの最

            FastAPIがPydantic v2対応したので、V2移行のポイントを紹介する(意外と簡単)
          • FinTechの現場でバリバリ活躍するFastAPIの理想と現実 (PyCon APAC 2023)

            FastAPIの人気が日に日に増している昨今ですが、まだまだ「他のフレームワークでいいじゃん」「本当に本番投入して大丈夫?」など様々な思いで導入をためらっている方も多いかと思います。 理想的な姿はあれど、現実的には理想を追い過ぎると準備やメンテナンスのコストが高すぎうまくいかないこともあります。そのため、ある程度の妥協をして開発・運用していくことになりますが、”コスパ”のいい塩梅をお届けします。 私は、日頃FinTechというミッションクリティカルなドメインにおいてFastAPIをかれこれ2年以上運用しており、その現場からの開発の現実を紹介します。これならFastAPIを実務で使えそうだな、という実感を抱いて帰っていただきたいと思っています。 同じ思いで、「動かして学ぶ!Python FastAPI開発入門」という本を今年出版しました。本では体系的に学べるようにするため盛り込めなかったTi

              FinTechの現場でバリバリ活躍するFastAPIの理想と現実 (PyCon APAC 2023)
            • fastapi + pydantic + devcontainer でサーバーを建てる

              この記事は何 この記事は python の学習を兼ねて色々書き散らしたので、 fastapi のサーバーを建てるという軸では理解しづらくなった。 上から順になぞるだけで devcontainer 上で fastapi の開発環境が構築できるようにする。 プロジェクトを作成 rye のインストールは略 $ rye init fastapi-example $ cd fastapi-example $ rm -r src # 作る対象がライブラリではないので一旦消す $ rye sync $ rye add fastapi fastapi-cli pydantic $ rye add mypy pytest -d { "deno.enable": true, "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "edit

                fastapi + pydantic + devcontainer でサーバーを建てる
              • 30分でFastAPIでGraphQL APIを開発するチュートリアル

                はじめに 今回の記事ではデータベースを使わずに、1時間でFastAPIでGraphQL APIを開発する方法を解説する。 対象とする読者 FastAPIを使っているひと これからPythonでGraphQL APIを開発したいひと タイトルを見て気になったひと 開発環境 Windows 11 Python 3.10.2 FastAPI Strawberry 0.196.2 Visual Studio Code 1.80 Strawberryとは Strawberryとは、Pythonで開発されたGraphQL APIのサーバを開発を補助するためのライブラリである。Pythonの型ヒントを使ってGraphQLのスキーマを定義し、APIの開発を助けるためのツールを提供している。 公式サイトによると、FastAPIでGraphQL APIを開発するうえでStrawberryを使うことを推奨してい

                  30分でFastAPIでGraphQL APIを開発するチュートリアル
                • FastAPI で Pydantic v2を使うと性能向上! - Safie Engineers' Blog!

                  サーバーサイドエンジニアの松木 (@tatsuma_matsuki) です。 セーフィーではいくつかのサービスでFastAPIを使った開発を行っています。FastAPIでは、Pydanticというライブラリを使ってリクエスト・レスポンスのモデルのバリデーションなどを実装することができます。このPydanticというライブラリですが、近いうちにメジャーバージョンアップのリリースが予定されており、これによりモデルのバリデーション処理が高速化されることがアナウンスされています! 以下のページによると、Pydantic v2はv1に比べて4倍~50倍の性能向上があると書かれているので、これは期待してしまいます。 https://docs.pydantic.dev/latest/blog/pydantic-v2/#performance そして、Pydanticを利用するFastAPIでも2023/

                    FastAPI で Pydantic v2を使うと性能向上! - Safie Engineers' Blog!
                  • FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev

                    サチコ(Google Search Console)を眺めていたら FastAPI MySQL がそれなりに需要ありそうと思ったので、FastAPI と SQLAlchemy を組み合わせて ORM を使う方法を紹介したいと思います。最近の SQLAlchemy(1.4以降)ではマッピングされたオブジェクトに型を適用することもできるので、型ヒントを活かして型安全なコードを書くことも難しくなくなっています。 環境 Python 3.10.6 FastAPI 0.89.1 SQLAlchemy 2.0.1 Docker 20.10.13 Docker Compose v2.3.3 前提 FastAPI 公式ドキュメントの SQL (Relational) Databases のページを熟読しておいてください。 2023年1月にリリースされた SQLAlchemy 2.0を使用します。1系を使用

                      FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev
                    • Server Workers - Gunicorn と Uvicorn - FastAPI

                      Server Workers - Gunicorn と Uvicorn¶ 前回のデプロイメントのコンセプトを振り返ってみましょう: セキュリティ - HTTPS 起動時の実行 再起動 レプリケーション(実行中のプロセス数) メモリ 開始前の事前ステップ ここまでのドキュメントのチュートリアルでは、おそらくUvicornのようなサーバープログラムを単一のプロセスで実行しています。 アプリケーションをデプロイする際には、複数のコアを利用し、そしてより多くのリクエストを処理できるようにするために、プロセスのレプリケーションを持つことを望むでしょう。 前のチャプターであるデプロイメントのコンセプトにて見てきたように、有効な戦略がいくつかあります。 ここではGunicornがUvicornのワーカー・プロセスを管理する場合の使い方について紹介していきます。 Info DockerやKubernete

                        Server Workers - Gunicorn と Uvicorn - FastAPI
                      • FastAPIでStreamingResponseに対応したrinna APIを作ってみる

                        はじめに rinnaをサービスに組み込みやすくするためにapi化したけどやっぱりchatGPTみたいにストリーミングしたほうがユーザー体験が良いってことでStreamingResponseに対応したrinna APIを作ってみた。 生成された出力をStreamingする方法 transformersのTextIteratorStreamerクラスを使えば良いらしい。 使い方は簡単で TextIteratorStreamerにtokenzierを渡して tok = AutoTokenizer.from_pretrained("gpt2") model = AutoModelForCausalLM.from_pretrained("gpt2") inputs = tok(["An increasing sequence: one,"], return_tensors="pt") streame

                          FastAPIでStreamingResponseに対応したrinna APIを作ってみる
                        • TestClientを用いてFastAPIのテストをする - Qiita

                          FastAPIはPythonで高速なAPIサーバーを立てられるので人気ですね。 今回はFastAPIでテストをする方法を試してみました。 FastAPIとは FastAPIとはPythonでAPIサーバーを構築できるフレームワークで、以下の特徴があります。 軽量 Pythonとしては高速 Pythonに型定義を実装できる 非同期通信を簡単に実装できる FastAPI標準のテストツール: TestClient FastAPIで標準で用意されているテストツールにTestClientというものがあります。 これはテスト内でFastAPIで作ったAPIサーバーのクライアントとして振る舞うことができるものです。 例として以下のmain.pyがあるとします。 from fastapi import FastAPI app = FastAPI() @app.get("/health") async de

                            TestClientを用いてFastAPIのテストをする - Qiita
                          • FastAPIでAPIを複数のSwagger UIに分割して管理する方法 - SalesNow Tech Blog

                            概要 株式会社SalesNowではFastAPIを使ってバックエンドを構築しています。 FastAPIを使うことでSwagger UIを自動的に生成することができ、APIのドキュメント化や検証に非常に有用ですが、既定では1つのSwagger UIに全てのWebAPIが羅列されるため、規模が大きくなるにつれて、管理が辛くなることが想定されます。 SalesNowの提供するWebシステムでは100以上のDBテーブル、300以上のWebAPIがあるため、機能ドメイン毎にSwaggerUIを分割して管理しています。 本記事では、この機能ドメイン等の単位でSwagger UIを分割して管理する方法を紹介します。 FastAPIで複数のSwagger UIを管理する方法 FastAPIはFastAPIクラスを使いappを作成し、このappに任意のPath関数を紐付けていくことでバックエンドを構築するこ

                              FastAPIでAPIを複数のSwagger UIに分割して管理する方法 - SalesNow Tech Blog
                            • Background Tasks in FastAPI

                              Before jumping into Celery. Let's start with the most straightforward tool to help us understand background tasks. FastAPI already has a BackgroundTasks class that can help us implement simple background tasks. Let's create a virtual environment to isolate our project requirements. python -m venv env Now, all we need is FastAPI and a web server e.g. Uvicorn or Hypercorn. Before installing these le

                              • もういがみ合わない。Thunder Client と FastAPIで10分で作るスタブとAPI仕様書 - Qiita

                                もういがみ合わない。Thunder Client と FastAPIで10分で作るスタブとAPI仕様書PythonAPIポエム仕様書FastAPI 共有地の悲劇 昔で言うところのクラサバ開発、今で言うところの外部API連携開発についてです。 クライアント開発とサーバ(外部API開発)は、制作内容が大きく異なり必要な専門知識や得意分野が異なるため、別の会社で行われることが多いと思います。 ここで、クライアント側はサーバー側へ問い合わせてその応答を受けて処理を継続することが多いと思いますが、サーバー側が存在しなければ開発ができない、だと、困ってしまいます。 そこでサーバーの応答をエミュレートするスタブが必要になります。 参照:wiki: スタブ スタブ(stub)とは、コンピュータプログラムのモジュールをテストする際、そのモジュールが呼び出す下位モジュールの代わりに用いる代用品のこと[1]。下

                                  もういがみ合わない。Thunder Client と FastAPIで10分で作るスタブとAPI仕様書 - Qiita
                                • FastAPIのLambdaからAWS外のサービスでキャッシュとDB構築! + Github Actions - Qiita

                                  FastAPIのLambdaからAWS外のサービスでキャッシュとDB構築! + Github ActionslambdaAPIGatewayGitHubActionsFastAPISupabase 概要 FastAPI、Pythonに詳しい方はご存じの方も多いかもしれません。 AWSのLambda関数と組み合わせるとどんな感じになるんだろう?と思って触り始めました。 色々学べたので、この機会に記事にしました! こういったアーキテクチャが実現できるかな?という部分に焦点をおいています。また、可能な範囲でコストも抑える方針で進めました! 主な目次 パート1:アプリケーション作成 インフラ構築(CDK Typescript) Lambda関数(FastAPIのアプリケーション)の作成 DBやcacheの構築の前に supabaseによるDB構築 upstashによるcache構築 パート2:Gi

                                    FastAPIのLambdaからAWS外のサービスでキャッシュとDB構築! + Github Actions - Qiita
                                  1