並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 192件

新着順 人気順

fastapiの検索結果81 - 120 件 / 192件

  • 【FastAPI】Pythonのバックエンドフレームワークを学ぶ① - Qiita

    FastAPIとは? バックエンドAPIの開発において以下の技術の有難さを痛いほど分かっている人にとっては今更感あります。 この記事はAPIを作った経験がない入門者に向けて、FastAPI1の解説を分かりやすく書いています。 Python decolator Hot Reload Swagger Dependency機能 Python decolator PythonのWebフレームワークでどこでも出てくるデコレータ。 以下のような@app.<method>(path)という見た目をしています。 app = FastAPI() @app.get("/post/") def getPost(id): return {"id": id, "title": "A title has to be bold style."} @app.get=(appインスタンスのgetメソッド)なのでその実装を辿

      【FastAPI】Pythonのバックエンドフレームワークを学ぶ① - Qiita
    • 最初のステップ - FastAPI

      from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} $ uvicorn main:app --reload <span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) <span style="color: green;">INFO</span>: Started reloader process [28720] <span style="color: green;">INFO</span>: Started server process [28722] <span style

        最初のステップ - FastAPI
      • 【FastAPI超入門】直感的にWeb API開発ができるモダンなPython WebフレームワークFastAPIの基礎を80分でマスター

        🎊 最安値クーポン 🎊 https://www.udemy.com/course/python-fastapi/?couponCode=VIA_YOUTUBE_202111 👨‍💻⬇︎無料LINE登録で近日限定コンテツ公開⬇︎👨‍💻 https://line.me/R/ti/p/@114eqgxg 本講座は、Udemyにて公開したばかりの新講座『FastAPIによるWeb API開発講座』から一部抜粋した構成となっております! FastAPIの基本的な使い方を抑えることができ、「Web API開発ってなんだか面白そう」「自分にもAPI開発できるかも」と思っていただけることをゴールに定めています。 00:00:00 概要説明 00:02:16 FastAPIとは 00:11:55 VSCodeのインストール 00:15:11 型ヒント(type hints) 00:32:4

          【FastAPI超入門】直感的にWeb API開発ができるモダンなPython WebフレームワークFastAPIの基礎を80分でマスター
        • PythonのFastAPIをLambdaで動かそうと思ったらSQLModelも使ってみたくなったので調べてみた(テストまあまあ盛り) - Qiita

          PythonのFastAPIをLambdaで動かそうと思ったらSQLModelも使ってみたくなったので調べてみた(テストまあまあ盛り)PythonunittestpytestSQLModel はじめに Pythonでデータ分析やスクレイピングや画像認識などをやっているのですが、Webアプリのバックエンドとして仕事で本格的に利用したいと思い、いろいろ調べてみると、AWSの LambdaでFastAPIを動かすとの話題が多く目に留まり、ふむふむ、と進めていくと、SQLModelも一緒に利用したいと思い、半日ほど試行錯誤してみたのでまとめてみたいと思います。 ソースはgithubに登録しております。 SQLModelの概要 SQLModelは、直感的で使いやすく、互換性が高く、堅牢になるように設計されており、Pythonの型アノテーションに基づき、PydanticとSQLAlchemyを利用して

            PythonのFastAPIをLambdaで動かそうと思ったらSQLModelも使ってみたくなったので調べてみた(テストまあまあ盛り) - Qiita
          • 並行処理と async / await - FastAPI

            アプリケーションが (どういうわけか) 他の何とも通信せず、応答を待つ必要がない場合は、async def を使用して下さい。 よく分からない場合は、通常の def を使用して下さい。 備考: path operation 関数に必要なだけ def と async def を混在させ、それぞれに最適なオプションを使用して定義できます。それに応じてFastAPIは正しい処理を行います。 とにかく、上記のいずれの場合でもFastAPIは非同期で動作し、非常に高速です。 しかし、上記のステップに従うことで、パフォーマンスの最適化を行えます。 技術詳細¶ 現代版のPythonは「非同期コード」を、「コルーチン」と称されるものを利用してサポートしています。これは async と await 構文を用います。 次のセクションで、フレーズ内のパーツを順に見ていきましょう: 非同期コード async と

              並行処理と async / await - FastAPI
            • FastAPI + SQLAlchemy(postgresql)によるCRUD API実装ハンズオン - Qiita

              最終的な成果物 編集履歴 ・2021/4/23 認証関連のコードを追加して、Qiitaも更新 ・2021/4/18 全体的にリファクタリングし、Qiitaも更新 ・2020/10/24 初版 このハンズオンで実装するもの FastAPIのDocker環境(Nginxコンテナ, Applicationコンテナ, DBコンテナ) alembic環境 DBマイグレーション用のツール ユーザー情報のモデル DBに作成するテーブルの元になるもの。マイグレーションツールで使用します。 データアクセスクラス ユーザー情報のCRUDを行うAPI 2020/10/27現在 パスワードのハッシュ化とかは未考慮 各種ミドルウェア API実行前の処理を行うミドルウェア APIのテストコード テスト用のDBを作成し、テストケース実行ごとにDBロールバック、テストが全て完了したらテスト用のDB削除 CORS問題の回避

                FastAPI + SQLAlchemy(postgresql)によるCRUD API実装ハンズオン - Qiita
              • CodePipeline + Fargate + FastAPIで本番・開発・ローカル毎に環境変数が変わるCI/CDを構築してみた - Qiita

                CodePipeline + Fargate + FastAPIで本番・開発・ローカル毎に環境変数が変わるCI/CDを構築してみたDockerECSCodePipelineECRCICD はじめに 初めまして。現在、新卒1年目でグーホームチームに所属しているプロトソリューションの川崎です。 今回は業務でAPIサーバーのCI/CDを構築する業務があり、その中で得た知見を書いていこうと思います。 環境 【筆者ローカル環境】 ・Windows ・WSL(コントリビューション:Ubuntu-20.04) ・Docker 20.10.23 【使用した主なAWSサービス】 ・CodeCommit ・CodeBuild ・CodePipeline ・Elastic Container Registry ・Elastic Container Service(ECS on Fargate) この記事で分かる

                  CodePipeline + Fargate + FastAPIで本番・開発・ローカル毎に環境変数が変わるCI/CDを構築してみた - Qiita
                • FastAPIとは?PythonのWebフレームワークでWebAPIを開発しよう! - AI Academy Media

                  FastAPIとは FastAPI(読み方:ファストえーぴーあい)とは、Python3.6以降でAPIを構築するためのWebフレームワークです。PythonでWebアプリ開発やAPI開発をする際に利用することになります。Pythonの人気なWebフレームワークにはFlaskやDjangoなどが挙げられますが、近年ではFastAPIが非常に使いやすい事からも注目されています。日本語のドキュメントが充実しているため、公式の日本語ドキュメントを一通り読み込むことである程度使えてしまいます。 https://fastapi.tiangolo.com/ja/ FastAPIの特徴 FastAPIの特徴はいくつか挙げられますが、直感的に理解しやすく、3つに絞るとしたら以下3つを挙げる事が出来ます。 ①公式ドキュメンテーション(日本語)が充実している ②ドキュメントを自動で生成する機能が備わっている ③

                    FastAPIとは?PythonのWebフレームワークでWebAPIを開発しよう! - AI Academy Media
                  • FastAPI+SQLAlchemyをpytestでテスト

                    FastAPIでSQLAlchemyを利用するサンプルコードが公式ドキュメントにあります。 サンプルコードのmain.pyの重要な部分を抜粋するとこんな感じです。 app = FastAPI() # Dependency def get_db(): db = SessionLocal() try: yield db finally: db.close() @app.get("/users/", response_model=List[schemas.User]) def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): users = crud.get_users(db, skip=skip, limit=limit) return users SessionLocal()で作成したセッシ

                      FastAPI+SQLAlchemyをpytestでテスト
                    • GitHub - tiangolo/uvicorn-gunicorn-fastapi-docker: Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python with performance auto-tuning.

                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                        GitHub - tiangolo/uvicorn-gunicorn-fastapi-docker: Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python with performance auto-tuning.
                      • FastAPI を活用した オープンデータAPI の作成

                        2021.9.11 Python Charity Talks in Japan 2021.09

                          FastAPI を活用した オープンデータAPI の作成
                        • The FastAPI Ultimate Tutorial

                          Introduction Tutorial Series Contents Optional Preamble: FastAPI vs. Flask Beginner Level Difficulty Part 1: Hello World Part 2: URL Path Parameters & Type Hints Part 3: Query Parameters Part 4: Pydantic Schemas & Data Validation Part 5: Basic Error Handling Part 6: Jinja Templates Part 6b: Basic FastAPI App Deployment on Linode Intermediate Level Difficulty Part 7: Setting up a Database with SQLA

                          • LangChainとFastAPIのストリーミング機能を使って、ChatGPTで生成したテキストをAPIでリアルタイム送信する方法|mah_lab / 西見 公宏

                            LangChainでstreamingオプションをつけた生成結果をFastAPI + event-streamで返すデモ pic.twitter.com/WcT0FAZj1O — 野生のまーくん🐕‍🦺 (@mah_lab) March 29, 2023 ソースコードimport threading import queue import uvicorn from fastapi import FastAPI from fastapi.responses import StreamingResponse from langchain.chat_models import ChatOpenAI from langchain.callbacks.base import CallbackManager from langchain.callbacks.streaming_stdout impo

                              LangChainとFastAPIのストリーミング機能を使って、ChatGPTで生成したテキストをAPIでリアルタイム送信する方法|mah_lab / 西見 公宏
                            • コンテナ内のFastAPI - Docker - FastAPI

                              コンテナ内のFastAPI - Docker¶ FastAPIアプリケーションをデプロイする場合、一般的なアプローチはLinuxコンテナ・イメージをビルドすることです。 基本的には Dockerを用いて行われます。生成されたコンテナ・イメージは、いくつかの方法のいずれかでデプロイできます。 Linuxコンテナの使用には、セキュリティ、反復可能性(レプリカビリティ)、シンプリシティなど、いくつかの利点があります。 FROM python:3.9 WORKDIR /code COPY ./requirements.txt /code/requirements.txt RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt COPY ./app /code/app CMD ["uvicorn", "app.main:a

                                コンテナ内のFastAPI - Docker - FastAPI
                              • FastAPIのアプリをAWS Lambdaで動かすためにMangumでラップする - Qiita

                                PythonのWebアプリケーション、DjangoやFlaskなどいろんなフレームワークがありますが、最近だとASGIをサポートしたFastAPIの採用例も増えているんじゃないでしょうか? そんなFastAPIで作ったアプリをサーバレスにデプロイして運用できたら素敵ですよね。 そこで今回はFastAPIで作ったASGIアプリケーションをMangumでラップしてAWS Lambda + API Gatewayで動かしてみようと思います。 WSGIとASGIについて DjangoやFlaskなど従来からあるPythonのWebアプリケーションフレームワークは、WSGI (Web Server Gateway Interface) という同期インターフェースで作られています。 WebサーバーのGunicornやApacheなどで運用されたり、Lambdaで動かすServerless Framew

                                  FastAPIのアプリをAWS Lambdaで動かすためにMangumでラップする - Qiita
                                • Node.js環境で、PythonのFastAPIみたいなOpenAPIドキュメント自動生成を求めて、Fastifyに手を出してみる

                                  やりたかったこと Node.jsでAPIを書いたら、OpenAPIドキュメントを自動生成して欲しい 背景 APIを書く場合に使うFrameworkにおいてPythonではDjangoやFlaskが有名ですが、最近注目されているFrameworkにFastAPIというものがあります。FastAPIは、動作がNode.js並に早いとか習得が容易といった特徴もありますが、コードを書くと自動でOpenAPIドキュメントを作ってくれてwebインターフェースも用意してくれる機能がとても便利です。 詳しくは知りたい方は、ドキュメントを読んでください。 同じことがNode.jsで作ったAPIでもできないかなーと思って調べてみました。 Fastify使ったらできた Fastify + fastify-swaggerでできました。 適当に作ったサンプル やったこと 導入 fastifyとfastify-swa

                                    Node.js環境で、PythonのFastAPIみたいなOpenAPIドキュメント自動生成を求めて、Fastifyに手を出してみる
                                  • 早引き FastAPI

                                    Python で API サーバー立てるのに FastAPI が良さそうなので、ドキュメントをナナメ読みした。 チュートリアルだけでもボリューミーだったので、辞書的に知りたい情報にアクセスできるようにまとめる。 記事執筆時の 2021-03-30 時点で FastAPI のメジャーバージョンは 0 なので、いずれこの記事は陳腐化する可能性が高い。あくまで執筆時点での整理なのでご了承を。 FastAPI の特徴 ここにまとまっているが、 Starlette という軽量 Web フレームワーク Pydantic という型アノテーションによるバリデーション/シリアライゼーションのライブラリ すばやく FastAPI を使っていく意味では、上記の2つのライブラリに大きく依存しているのがポイント。 とりあえず使う

                                      早引き FastAPI
                                    • 「Django + Django REST frameworkでできるアレはFastAPIではどうするのか?」について調べた結果のメモ

                                      • DiscordとLINEをPython+FastAPI+Dockerで連携させる【その2】LINEからDiscordへテキストメッセージ - Qiita

                                        DiscordとLINEをPython+FastAPI+Dockerで連携させる【その2】LINEからDiscordへテキストメッセージPythonLINEdiscordLineNotify 挨拶 こんにちは。マグロです。 前回の続きとなります。 今回はLINEからDiscordへテキストメッセージを送れるようにします。 設計 LINEBotはメッセージを受け取った場合、Developerサイトで設定したWebHookに内容が送信されます。 そのためFastAPIでサーバーを立ち上げ、WebHookを設定します。 しかしここで一つ問題があります。 そこからどうやってDiscordに送る?? Discord.pyやPycordを使って送ればいいと思いますが、Botの起動が優先されてしまい、サーバーが立ち上がりません。 DiscordBot内にFastAPIを組み込む方法はあるようですが、co

                                          DiscordとLINEをPython+FastAPI+Dockerで連携させる【その2】LINEからDiscordへテキストメッセージ - Qiita
                                        • 転職黙示録 (10) FastAPIのソースを読む 第4回 UvicornとFastAPIの関係 - Qiita

                                          import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/") def root(): return {"message": "Hello World"} if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000) 目的 サーバーであるUvicornとアプリケーションのFastAPIの関係を考察する. Q. appとは何か? 最初にUvicornが期待するアプリケーションの仕様, つまりASGIインターフェースとはどんなものか確認しておきましょう. scop receive send ASGIに適合するアプリケーションはこれらの引数を取るcallableなネイティブ・コルーティンであれば良いようです. Quick Startには

                                            転職黙示録 (10) FastAPIのソースを読む 第4回 UvicornとFastAPIの関係 - Qiita
                                          • 会話履歴を保持するChatGPTクローンをFastAPI・WebSocket・LangChain・Reactで作る

                                            先日ChatGPTに使用されているGPTモデルであるGPT3.5-turboのAPIが公開されました。 以前のGPT3と比べ、コストが1/10となっていたり、体感速度が向上していたりと、サービスに使用するにあたってかなりハードルが下がったように思います。 前回記事ではGPT3のAPIについて、LangChainで使用し、FastAPIとReactでAIとチャットするシンプルなアプリケーションを作成しました。前回作成したものは、会話の履歴を保持する仕組みを持たなかったため、ChatGPTと異なり、AIが会話の文脈を理解してくれませんでした。 今回は前回作成したReact/FastAPI製のChatアプリについて、GPT3.5に変更し、さらにLangChainのMemory機能を用いて会話履歴をもたせる変更を行います。 本記事の内容 やること LangChainを用いたGPT3.5-turbo

                                              会話履歴を保持するChatGPTクローンをFastAPI・WebSocket・LangChain・Reactで作る
                                            • FastAPIとSQLAlchemy によるWebサービスの実装 - PythonOsaka

                                              FastAPI から SQLAlchemy を使ってデータベースを利用したRESTful Webサービスを実装してみます。

                                                FastAPIとSQLAlchemy によるWebサービスの実装 - PythonOsaka
                                              • FastAPI シンプル チャット - Websocket - Qiita

                                                以下の過去記事でも述べていますが、FastAPIはStarletteを基盤として構築されており、WebSocketのサポートも継承しています。 Starletteで作る Simple Web Server - Qiita WebSocket - FastAPI公式サイト 今回は公式サイトにあるチャットプログラムを少し修正し、特にクライアントは簡単なVueプログラムに置き替えています。 1. クライアント - Vue.js 過去記事のFastAPI OAuth2 クライアント - Qiitaと同じディレクトリ構成で、FastAPIのディレクトリのサブディレクトリstaticにindex.htmlとindex.jsを置きます。 index.htmlは2つのフィールドから構成されています。ログイン画面とメッセージ送信画面です。メッセージ送信ボタンはログインするまでは無効化されています。 <htm

                                                  FastAPI シンプル チャット - Websocket - Qiita
                                                • 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!
                                                  • SQL (Relational) Databases - FastAPI

                                                    Warning The current page still doesn't have a translation for this language. But you can help translating it: Contributing. Info These docs are about to be updated. 🎉 The current version assumes Pydantic v1, and SQLAlchemy versions less than 2.0. The new docs will include Pydantic v2 and will use SQLModel (which is also based on SQLAlchemy) once it is updated to use Pydantic v2 as well. FastAPI d

                                                      SQL (Relational) Databases - FastAPI
                                                    • Python Types Intro - FastAPI

                                                      Python Types Intro¶ Python has support for optional "type hints" (also called "type annotations"). These "type hints" or annotations are a special syntax that allow declaring the type of a variable. By declaring types for your variables, editors and tools can give you better support. This is just a quick tutorial / refresher about Python type hints. It covers only the minimum necessary to use them

                                                        Python Types Intro - FastAPI
                                                      • FastAPIで学ぶPythonによるREST API開発の基本

                                                        はじめに 今回の記事では、FastAPIでREST APIを開発する手順を簡潔に解説する。 本記事の対象読者 Pythonの基本文法(データ型、条件分岐、繰り返し)を理解している人 RailsやLaravel等のWebフレームワークで簡単なWebアプリケーションを開発できる人 FastAPIで簡潔にREST APIを開発したい人 用語解説 FastAPI FastAPIの公式ドキュメントによると、以下のように説明されている。 FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints. 簡潔に言えば、FastAPIはPythonでAPIを開発するために開発されたWebフレームワークである。P

                                                          FastAPIで学ぶPythonによるREST API開発の基本
                                                        • FastAPIでPOSTされたJSONのレスポンスbodyを受け取る - Qiita

                                                          from fastapi import FastAPI from pydantic import BaseModel # リクエストbodyを定義するために必要 from typing import List # ネストされたBodyを定義するために必要 app = FastAPI() # リクエストbodyを定義 class User(BaseModel): user_id: int name: str # シンプルなJSON Bodyの受け取り @app.post("/user/") # 上で定義したUserモデルのリクエストbodyをuserで受け取る # user = {"user_id": 1, "name": "太郎"} def create_user(user: User): # レスポンスbody return {"res": "ok", "ID": user.user_i

                                                            FastAPIでPOSTされたJSONのレスポンスbodyを受け取る - Qiita
                                                          • FastAPIでWebサービスを保護してみる - PythonOsaka

                                                            FastAPIは、すべてのセキュリティ仕様について学習する必要がなく、標準的な方法でセキュリティ処理を実装するためのついくつかのツールが提供されています。

                                                              FastAPIでWebサービスを保護してみる - PythonOsaka
                                                            • 本番稼働を意識したECS Fargateを用いたFastAPIの環境構築(ALB、SSM、BlueGreenデプロイ) - Qiita

                                                              本番稼働を意識したECS Fargateを用いたFastAPIの環境構築(ALB、SSM、BlueGreenデプロイ)DockerECSCodeDeployFargateFastAPI 0. 背景 ECS Fargateは、2018年に東京リージョンでの提供街開始され、サーバーやクラスターを管理することなくコンテナを実行することができる、いわゆるサーバーレスの実行環境です。Fargateの特徴の詳細はこの記事では述べませんが、使ってみたい技術ではあるものの、コンテナにログインしてデバッグするなどができず、本番環境での利用は躊躇してきました。コンテナに入ることができないというのはセキュリティ面ではメリットであるものの、本番で再現したバグのデバッグなどは直接入ってデバッグしたいという思いは出てくるものです。きちんとテストした上でデプロイし、またログを適切に吐かせることでコンテナに入らなくてもデ

                                                                本番稼働を意識したECS Fargateを用いたFastAPIの環境構築(ALB、SSM、BlueGreenデプロイ) - Qiita
                                                              • Flask/FastAPIライクなルーティングとパスパラメータの仕組みを、単純な実装から理解する

                                                                ウェブフレームワークのシンプルな実装の背景 FlaskやFastAPIといったウェブフレームワークでは、以下のようにアクセスするエンドポイントのパスとその処理内容を一つの関数で実現したり、パスをパラメータ化して関数内部で利用することができます。 # FastAPIの事例 (公式ドキュメントより) @app.get("/") async def root(): return {"message": "Hello World"} @app.get("/items/{item_id}") async def read_item(item_id): return {"item_id": item_id} これまでは何気なく便利だなと思いながら利用していたのですが、内部ロジックやその実装背景をきちんと理解していませんでした。よくよく考えると、どういう方法でパスパラメータはデコレーター引数の文字列の一

                                                                  Flask/FastAPIライクなルーティングとパスパラメータの仕組みを、単純な実装から理解する
                                                                • FastAPI 色々なレスポンスまとめ - Qiita

                                                                  この記事は? 自分の備忘録も兼ねて、FastAPI のレスポンスについてまとめました。FastAPI の基本的な記述方法、HTTP の基礎的な知識については、ここでは説明していません。チートシート的なものとしてご活用ください。 以下のドキュメントを元に (というか、ほぼコレの二番煎じを) 作成しました。 (6/27 追記) リクエストの受信についてはこちら: JSON レスポンス (単純な方法) FastAPI では、デフォルトでは JSON 形式のレスポンスをするようになっています。return に辞書オブジェクトを配置すると、JSON に変換されてレスポンスされます。 from fastapi import FastAPI app = FastAPI() @app.get("/") def index(): return {"mes": "hello"}

                                                                    FastAPI 色々なレスポンスまとめ - Qiita
                                                                  • GitHub - takashi-yoneya/fastapi-mybest-template: This is a practical template using FastAPI. It is dockerized including DB (MySQL) and uvicorn. Package management and task runner are implemented using poetry. FastAPIを使用した実用的なテンプレートです。 DB(MySQL)とuvicornを含め

                                                                    This is a practical template using FastAPI. It is dockerized including DB (MySQL) and uvicorn. Package management and task runner are implemented using poetry. FastAPIを使用した実用的なテンプレートです。 DB(MySQL)とuvicornを含めてdocker化しています。 poetryを使用して、パッケージ管理およびタスクランナーを実装しています。 License

                                                                      GitHub - takashi-yoneya/fastapi-mybest-template: This is a practical template using FastAPI. It is dockerized including DB (MySQL) and uvicorn. Package management and task runner are implemented using poetry. FastAPIを使用した実用的なテンプレートです。 DB(MySQL)とuvicornを含め
                                                                    • Show HN: FastAPI: build Python APIs with Go-like speed and automatic UI docs | Hacker News

                                                                      FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+. It is one of the fastest Python frameworks available, as measured by independent benchmarks.It is based on standard Python type hints. Using them, you get automatic data validation, serialization, and documentation. Including deeply nested JSON documents. And you get editor completion and checks everywh

                                                                      • FastAPI with Async SQLAlchemy, SQLModel, and Alembic

                                                                        FastAPI with Async SQLAlchemy, SQLModel, and Alembic This tutorial looks at how to work with SQLAlchemy asynchronously with SQLModel and FastAPI. We'll also configure Alembic for handling database migrations. This tutorial assumes you have experience working with FastAPI and Postgres using Docker. Need help getting up to speed with FastAPI, Postgres, and Docker? Start with the following resources:

                                                                          FastAPI with Async SQLAlchemy, SQLModel, and Alembic
                                                                        • 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
                                                                          • FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog

                                                                            はじめに こんにちは、山本です。APIを実装するとき、個人的には認証が一番難しいと思っています。しかし、FastAPIでは簡単に認証が実装ができるような仕組みがあります。本記事では、私が公式ドキュメントを読んで学んだ認証の方法を実装を動かしながら紹介します。 認証とは 認証はAPIを特定のユーザしか利用できないようにする技術です。APIはエンドポイント(URL)を知っていれば基本的に誰でもアクセスでき、個人情報などの流出につながる恐れがあります。そこで、アクセスするユーザが誰なのかを認証(authentication)し、そのユーザがどの情報(resource)にアクセスできるかを認可(authorization)します。 はてなブログでのGoogleによるソーシャルログインを例として説明します。Googleのメアドとパスワードの入力が認証にあたり、はてなブログがGoogleのアカウントの

                                                                              FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog
                                                                            • FastAPIのスキーマクラスをOpenAPIから生成する方法 | GiFT(ギフト)株式会社

                                                                              FastAPIのスキーマクラスをOpenAPIから生成する方法2022.03.04 PythonでAPIを構築する要件があり、フレームワークに比較的モダンなFastAPIを採用しました。FastAPIはバックエンドの開発を行えば自動でOepnApi定義を生成する機能が備わっていますが、今回はこれを使わず、事前に用意したOepnApi定義からFastAPIで利用するスキーマクラスを生成する方法を紹介します。 OpenAPI定義からFastAPIで利用するスキーマクラスを出力すると何が良いのか? OpenAPI定義のみで設計の確認が可能FastAPIでクラスを書く必要がなくなるOpenAPIの準備FastAPIのソースコードとOpenAPI定義は以下のような構成で準備します。 ちなみに定義ファイルのパスが generated/openapi.json となっているのは、openapi-gene

                                                                                FastAPIのスキーマクラスをOpenAPIから生成する方法 | GiFT(ギフト)株式会社
                                                                              • Flask 2.0 vs FastAPI in REST API development

                                                                                Python Conference Talk 2021 at Japan

                                                                                  Flask 2.0 vs FastAPI in REST API development
                                                                                • Concurrency and async / await - FastAPI

                                                                                  If you are using a third party library that communicates with something (a database, an API, the file system, etc.) and doesn't have support for using await, (this is currently the case for most database libraries), then declare your path operation functions as normally, with just def, like: If your application (somehow) doesn't have to communicate with anything else and wait for it to respond, us

                                                                                    Concurrency and async / await - FastAPI