From 42d5aea168f9e4f386f7a5993f46133490228e77 Mon Sep 17 00:00:00 2001 From: kennethreitz Date: Tue, 24 Mar 2026 19:36:03 +0000 Subject: [PATCH] deploy: 44c33475b2536a9052636dab10f1b966f251c892 --- .doctrees/changes.doctree | Bin 99807 -> 99457 bytes .doctrees/environment.pickle | Bin 235231 -> 235230 bytes _sources/changes.md.txt | 1 - changes.html | 1 - searchindex.js | 2 +- 5 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.doctrees/changes.doctree b/.doctrees/changes.doctree index 6f1974ae8fff805789c531260fad0e1fd14c9f37..94df7dec898fdc565983779c971b9b4feacb6b71 100644 GIT binary patch delta 21360 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 delta 8341 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 Iu6GIle*}Eupa1{> diff --git a/_sources/changes.md.txt b/_sources/changes.md.txt index ce86008..f258708 100644 --- a/_sources/changes.md.txt +++ b/_sources/changes.md.txt @@ -14,7 +14,6 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - CI validation for Python 3.14, 3.14 free-threaded, and PyPy 3.11 - Marimo notebook mounting docs and example - Type annotations for `routes.py` -- `uv.lock` for reproducible installs ### Changed diff --git a/changes.html b/changes.html index cbd0f95..c6b85e2 100644 --- a/changes.html +++ b/changes.html @@ -56,7 +56,6 @@ this project adheres to routes.py

-
  • uv.lock for reproducible installs

  • diff --git a/searchindex.js b/searchindex.js index e6838fb..61a1de7 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"API Key Authentication":[[11,"api-key-authentication"]],"API Reference":[[0,null]],"Added":[[2,"added"],[2,"id2"],[2,"id4"],[2,"id7"],[2,"id11"],[2,"id17"],[2,"id18"],[2,"id21"],[2,"id24"],[2,"id29"],[2,"id36"],[2,"id42"],[2,"id43"],[2,"id44"],[2,"id45"],[2,"id46"],[2,"id49"],[2,"id50"],[2,"id52"],[2,"id55"],[2,"id58"],[2,"id59"],[2,"id60"],[2,"id64"]],"Adding Third-Party Middleware":[[13,"adding-third-party-middleware"]],"After-Request Hooks":[[10,"after-request-hooks"]],"Allowed Hosts":[[5,"allowed-hosts"]],"Authentication":[[11,null]],"Background Queue":[[0,"background-queue"]],"Background Tasks":[[7,"background-tasks"]],"Backlog":[[1,null]],"Bearer Token Authentication":[[11,"bearer-token-authentication"]],"Before-Request Hooks":[[10,"before-request-hooks"]],"Before-Request Hooks for WebSockets":[[16,"before-request-hooks-for-websockets"]],"Blueprints \u2192 Route Groups":[[12,"blueprints-route-groups"]],"Building Frontend Assets":[[3,"building-frontend-assets"]],"Building a REST API":[[14,null]],"Built-in Middleware":[[13,"built-in-middleware"]],"CORS":[[10,"cors"]],"CRUD Endpoints":[[15,"crud-endpoints"]],"Changed":[[2,"changed"],[2,"id1"],[2,"id3"],[2,"id5"],[2,"id8"],[2,"id16"],[2,"id19"],[2,"id22"],[2,"id25"],[2,"id28"],[2,"id33"],[2,"id34"],[2,"id35"],[2,"id37"],[2,"id38"],[2,"id40"],[2,"id41"],[2,"id47"],[2,"id51"],[2,"id56"],[2,"id57"],[2,"id63"]],"Changelog":[[2,null]],"Chat Room":[[16,"chat-room"]],"Class-Based Views":[[10,"class-based-views"]],"Cloud Platforms":[[4,"cloud-platforms"]],"Command Line Interface":[[3,null]],"Configuration":[[5,null]],"Configuration Class Pattern":[[5,"configuration-class-pattern"]],"Cookie-Based Sessions":[[10,"cookie-based-sessions"]],"Cookies":[[10,"cookies"]],"Create a Book":[[14,"create-a-book"]],"Create a Web Service":[[7,"create-a-web-service"]],"Custom Error Handling":[[10,"custom-error-handling"]],"Custom Exception for Auth Errors":[[11,"custom-exception-for-auth-errors"]],"Custom Instance Names":[[3,"custom-instance-names"]],"Data Formats":[[16,"data-formats"]],"Database Setup":[[15,"database-setup"]],"Debug Mode":[[5,"debug-mode"]],"Define Your Models":[[14,"define-your-models"],[15,"define-your-models"]],"Delete a Book":[[14,"delete-a-book"]],"Deployment":[[4,null]],"Deprecated":[[2,"deprecated"]],"Development Sandbox":[[8,null]],"Docker":[[4,"docker"]],"Echo Server":[[16,"echo-server"]],"Environment Variables":[[5,"environment-variables"]],"Error Handling":[[14,"error-handling"]],"Feature Tour":[[10,null]],"Fixed":[[2,"fixed"],[2,"id6"],[2,"id10"],[2,"id12"],[2,"id13"],[2,"id14"],[2,"id15"],[2,"id20"],[2,"id23"],[2,"id26"],[2,"id27"],[2,"id30"],[2,"id31"],[2,"id32"],[2,"id39"],[2,"id48"],[2,"id53"],[2,"id54"],[2,"id61"],[2,"id62"]],"Future Ideas":[[1,"future-ideas"]],"Get a Single Book":[[14,"get-a-single-book"]],"Getting Started":[[9,"getting-started"]],"Gradual Migration":[[12,"gradual-migration"]],"GraphQL":[[10,"graphql"]],"HSTS":[[10,"hsts"]],"HTML Client":[[16,"html-client"]],"Hello World":[[7,"hello-world"]],"Hooks vs. Middleware":[[13,"hooks-vs-middleware"]],"How WebSockets Work":[[16,"how-websockets-work"]],"In-Memory Storage":[[14,"in-memory-storage"]],"Installation":[[6,"installation"],[15,"installation"]],"JSON APIs":[[12,"json-apis"]],"Launching from a File":[[3,"launching-from-a-file"]],"Launching from a Module":[[3,"launching-from-a-module"]],"Launching from a URL":[[3,"launching-from-a-url"]],"Lifespan Events":[[10,"lifespan-events"]],"Lifespan for Startup and Shutdown":[[15,"lifespan-for-startup-and-shutdown"]],"List All Books":[[14,"list-all-books"]],"MessagePack":[[10,"messagepack"]],"Method Filtering":[[10,"method-filtering"]],"Middleware Order":[[13,"middleware-order"]],"Migrating from Flask":[[12,null]],"Mounting Other Apps":[[10,"mounting-other-apps"]],"OpenAPI Documentation":[[10,"openapi-documentation"]],"Operations":[[8,"operations"]],"Project":[[6,null]],"Project Setup":[[14,"project-setup"]],"Putting It All Together":[[5,"putting-it-all-together"],[7,"putting-it-all-together"]],"Query Dict":[[0,"query-dict"]],"Quick Reference":[[12,"quick-reference"]],"Quick Start":[[7,null]],"Rate Limiter":[[0,"rate-limiter"]],"Rate Limiting":[[10,"rate-limiting"]],"Reading Requests":[[7,"reading-requests"]],"Removed":[[2,"removed"],[2,"id9"]],"Rendering Templates":[[7,"rendering-templates"]],"Request":[[0,"request"]],"Request ID":[[10,"request-id"]],"Responder":[[6,null]],"Response":[[0,"response"]],"Reverse Proxy":[[4,"reverse-proxy"]],"Route Groups":[[0,"route-groups"],[10,"route-groups"]],"Route Parameters":[[7,"route-parameters"],[12,"route-parameters"]],"Run It":[[14,"run-it"],[15,"run-it"]],"Run the Server":[[7,"run-the-server"]],"Running Locally":[[4,"running-locally"]],"Secret Key":[[5,"secret-key"]],"Sending Responses":[[7,"sending-responses"]],"Server-Sent Events (SSE)":[[10,"server-sent-events-sse"]],"Serving Files":[[10,"serving-files"]],"Setup":[[8,"setup"]],"Skipping Auth for Public Routes":[[11,"skipping-auth-for-public-routes"]],"Static Files":[[10,"static-files"]],"Status Code Helpers":[[0,"status-code-helpers"]],"Templates":[[12,"templates"]],"Testing":[[9,null]],"Testing Before and After Hooks":[[9,"testing-before-and-after-hooks"]],"Testing Error Handling":[[9,"testing-error-handling"]],"Testing File Uploads":[[9,"testing-file-uploads"]],"Testing Headers and Cookies":[[9,"testing-headers-and-cookies"]],"Testing JSON APIs":[[9,"testing-json-apis"]],"Testing Lifespan Events":[[9,"testing-lifespan-events"]],"Testing Request Validation":[[9,"testing-request-validation"]],"Testing WebSockets":[[9,"testing-websockets"],[16,"testing-websockets"]],"The API Class":[[0,"the-api-class"]],"The Big Differences":[[12,"the-big-differences"]],"The Idea":[[6,"the-idea"]],"Tips":[[9,"tips"],[15,"tips"]],"Trusted Hosts":[[10,"trusted-hosts"]],"Try It Out":[[14,"try-it-out"]],"Tutorials":[[6,null]],"Type Convertors":[[7,"type-convertors"]],"Unreleased":[[2,"unreleased"]],"Update a Book":[[14,"update-a-book"]],"User Guide":[[6,null]],"Using .env Files":[[5,"using-env-files"]],"Using Fixtures":[[9,"using-fixtures"]],"Using PostgreSQL":[[15,"using-postgresql"]],"Using SQLAlchemy":[[15,null]],"Using Sessions for Web Apps":[[11,"using-sessions-for-web-apps"]],"Using Starlette Middleware":[[13,"using-starlette-middleware"]],"Uvicorn Directly":[[4,"uvicorn-directly"]],"WebSocket Support":[[10,"websocket-support"]],"WebSocket Tutorial":[[16,null]],"What You Get":[[6,"what-you-get"]],"What\u2019s Next":[[14,"what-s-next"]],"When to Use What":[[13,"when-to-use-what"]],"Writing Middleware":[[13,null]],"v0.0.1 - 2018-10-12":[[2,"v0-0-1-2018-10-12"]],"v0.0.10 - 2018-10-17":[[2,"v0-0-10-2018-10-17"]],"v0.0.2 - 2018-10-13":[[2,"v0-0-2-2018-10-13"]],"v0.0.3 - 2018-10-13":[[2,"v0-0-3-2018-10-13"]],"v0.0.4 - 2018-10-15":[[2,"v0-0-4-2018-10-15"]],"v0.0.5 - 2018-10-15":[[2,"v0-0-5-2018-10-15"]],"v0.0.6 - 2018-10-16":[[2,"v0-0-6-2018-10-16"]],"v0.0.7 - 2018-10-16":[[2,"v0-0-7-2018-10-16"]],"v0.0.8 - 2018-10-17":[[2,"v0-0-8-2018-10-17"]],"v0.0.9 - 2018-10-17":[[2,"v0-0-9-2018-10-17"]],"v0.1.0 - 2018-10-17":[[2,"v0-1-0-2018-10-17"]],"v0.1.1 - 2018-10-17":[[2,"v0-1-1-2018-10-17"]],"v0.1.2 - 2018-10-18":[[2,"v0-1-2-2018-10-18"]],"v0.1.3 - 2018-10-18":[[2,"v0-1-3-2018-10-18"]],"v0.1.4 - 2018-10-19":[[2,"v0-1-4-2018-10-19"]],"v0.1.5 - 2018-10-20":[[2,"v0-1-5-2018-10-20"]],"v0.1.6 - 2018-10-20":[[2,"v0-1-6-2018-10-20"]],"v0.2.0 - 2018-10-22":[[2,"v0-2-0-2018-10-22"]],"v0.2.1 - 2018-10-23":[[2,"v0-2-1-2018-10-23"]],"v0.2.2 - 2018-10-23":[[2,"v0-2-2-2018-10-23"]],"v0.2.3 - 2018-10-24":[[2,"v0-2-3-2018-10-24"]],"v0.3.0 - 2018-10-24":[[2,"v0-3-0-2018-10-24"]],"v0.3.1 - 2018-10-24":[[2,"v0-3-1-2018-10-24"]],"v0.3.2 - 2018-10-25":[[2,"v0-3-2-2018-10-25"]],"v0.3.3 - 2018-10-25":[[2,"v0-3-3-2018-10-25"]],"v1.0.0 - 2018-10-26":[[2,"v1-0-0-2018-10-26"]],"v1.0.1 - 2018-10-26":[[2,"v1-0-1-2018-10-26"]],"v1.0.2 - 2018-10-27":[[2,"v1-0-2-2018-10-27"]],"v1.0.3 - 2018-10-27":[[2,"v1-0-3-2018-10-27"]],"v1.0.4 - 2018-10-27":[[2,"v1-0-4-2018-10-27"]],"v1.0.5- 2018-10-27":[[2,"v1-0-5-2018-10-27"]],"v1.1.0 - 2018-10-27":[[2,"v1-1-0-2018-10-27"]],"v1.1.1 - 2018-10-29":[[2,"v1-1-1-2018-10-29"]],"v1.1.2 - 2018-11-11":[[2,"v1-1-2-2018-11-11"]],"v1.1.3 - 2019-01-12":[[2,"v1-1-3-2019-01-12"]],"v1.2.0 - 2018-12-29":[[2,"v1-2-0-2018-12-29"]],"v1.3.0 - 2019-02-22":[[2,"v1-3-0-2019-02-22"]],"v1.3.1 - 2019-04-28":[[2,"v1-3-1-2019-04-28"]],"v1.3.2 - 2019-08-15":[[2,"v1-3-2-2019-08-15"]],"v2.0.0 - 2019-09-19":[[2,"v2-0-0-2019-09-19"]],"v2.0.1 - 2019-09-20":[[2,"v2-0-1-2019-09-20"]],"v2.0.2 - 2019-09-20":[[2,"v2-0-2-2019-09-20"]],"v2.0.3 - 2019-09-20":[[2,"v2-0-3-2019-09-20"]],"v2.0.4 - 2019-11-19":[[2,"v2-0-4-2019-11-19"]],"v2.0.5 - 2019-12-15":[[2,"v2-0-5-2019-12-15"]],"v3.0.0 - 2026-03-22":[[2,"v3-0-0-2026-03-22"]],"v3.2.0 - 2026-03-22":[[2,"v3-2-0-2026-03-22"]],"v3.3.0 - 2026-03-22":[[2,"v3-3-0-2026-03-22"]],"v3.4.0 - 2026-03-22":[[2,"v3-4-0-2026-03-22"]],"v3.5.0 - 2026-03-24":[[2,"v3-5-0-2026-03-24"]]},"docnames":["api","backlog","changes","cli","deployment","guide-config","index","quickstart","sandbox","testing","tour","tutorial-auth","tutorial-flask","tutorial-middleware","tutorial-rest","tutorial-sqlalchemy","tutorial-websockets"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1},"filenames":["api.rst","backlog.md","changes.md","cli.rst","deployment.rst","guide-config.rst","index.rst","quickstart.rst","sandbox.md","testing.rst","tour.rst","tutorial-auth.rst","tutorial-flask.rst","tutorial-middleware.rst","tutorial-rest.rst","tutorial-sqlalchemy.rst","tutorial-websockets.rst"],"indexentries":{"accepts() (responder.request method)":[[0,"responder.Request.accepts",false]],"add_event_handler() (responder.api method)":[[0,"responder.API.add_event_handler",false]],"add_middleware() (responder.api method)":[[0,"responder.API.add_middleware",false]],"add_route() (responder.api method)":[[0,"responder.API.add_route",false]],"after_request() (responder.api method)":[[0,"responder.API.after_request",false]],"api (class in responder)":[[0,"responder.API",false]],"apparent_encoding (responder.request property)":[[0,"responder.Request.apparent_encoding",false]],"backgroundqueue (class in responder.background)":[[0,"responder.background.BackgroundQueue",false]],"before_request() (responder.api method)":[[0,"responder.API.before_request",false]],"check() (responder.ext.ratelimit.ratelimiter method)":[[0,"responder.ext.ratelimit.RateLimiter.check",false]],"client (responder.request property)":[[0,"responder.Request.client",false]],"content (responder.request property)":[[0,"responder.Request.content",false]],"cookies (responder.request property)":[[0,"responder.Request.cookies",false]],"encoding (responder.request property)":[[0,"responder.Request.encoding",false]],"exception_handler() (responder.api method)":[[0,"responder.API.exception_handler",false]],"file() (responder.response method)":[[0,"responder.Response.file",false]],"full_url (responder.request property)":[[0,"responder.Request.full_url",false]],"get() (responder.models.querydict method)":[[0,"responder.models.QueryDict.get",false]],"get_list() (responder.models.querydict method)":[[0,"responder.models.QueryDict.get_list",false]],"graphql() (responder.api method)":[[0,"responder.API.graphql",false]],"group() (responder.api method)":[[0,"responder.API.group",false]],"headers (responder.request property)":[[0,"responder.Request.headers",false]],"install() (responder.ext.ratelimit.ratelimiter method)":[[0,"responder.ext.ratelimit.RateLimiter.install",false]],"is_100() (in module responder.status_codes)":[[0,"responder.status_codes.is_100",false]],"is_200() (in module responder.status_codes)":[[0,"responder.status_codes.is_200",false]],"is_300() (in module responder.status_codes)":[[0,"responder.status_codes.is_300",false]],"is_400() (in module responder.status_codes)":[[0,"responder.status_codes.is_400",false]],"is_500() (in module responder.status_codes)":[[0,"responder.status_codes.is_500",false]],"is_json (responder.request property)":[[0,"responder.Request.is_json",false]],"is_secure (responder.request property)":[[0,"responder.Request.is_secure",false]],"items() (responder.models.querydict method)":[[0,"responder.models.QueryDict.items",false]],"items_list() (responder.models.querydict method)":[[0,"responder.models.QueryDict.items_list",false]],"media() (responder.request method)":[[0,"responder.Request.media",false]],"method (responder.request property)":[[0,"responder.Request.method",false]],"mimetype (responder.request property)":[[0,"responder.Request.mimetype",false]],"module":[[0,"module-responder",false]],"mount() (responder.api method)":[[0,"responder.API.mount",false]],"ok (responder.response property)":[[0,"responder.Response.ok",false]],"on_event() (responder.api method)":[[0,"responder.API.on_event",false]],"params (responder.request property)":[[0,"responder.Request.params",false]],"path_matches_route() (responder.api method)":[[0,"responder.API.path_matches_route",false]],"path_params (responder.request property)":[[0,"responder.Request.path_params",false]],"querydict (class in responder.models)":[[0,"responder.models.QueryDict",false]],"ratelimiter (class in responder.ext.ratelimit)":[[0,"responder.ext.ratelimit.RateLimiter",false]],"redirect() (responder.api method)":[[0,"responder.API.redirect",false]],"redirect() (responder.response method)":[[0,"responder.Response.redirect",false]],"request (class in responder)":[[0,"responder.Request",false]],"requests (responder.api property)":[[0,"responder.API.requests",false]],"responder":[[0,"module-responder",false]],"response (class in responder)":[[0,"responder.Response",false]],"route() (responder.api method)":[[0,"responder.API.route",false]],"routegroup (class in responder.api)":[[0,"responder.api.RouteGroup",false]],"run() (responder.api method)":[[0,"responder.API.run",false]],"run() (responder.background.backgroundqueue method)":[[0,"responder.background.BackgroundQueue.run",false]],"schema() (responder.api method)":[[0,"responder.API.schema",false]],"serve() (responder.api method)":[[0,"responder.API.serve",false]],"session (responder.request property)":[[0,"responder.Request.session",false]],"session() (responder.api method)":[[0,"responder.API.session",false]],"set_cookie() (responder.response method)":[[0,"responder.Response.set_cookie",false]],"sse() (responder.response method)":[[0,"responder.Response.sse",false]],"state (responder.request property)":[[0,"responder.Request.state",false]],"static_app (responder.api property)":[[0,"responder.API.static_app",false]],"status_code_safe (responder.response property)":[[0,"responder.Response.status_code_safe",false]],"stream() (responder.response method)":[[0,"responder.Response.stream",false]],"stream_file() (responder.response method)":[[0,"responder.Response.stream_file",false]],"task() (responder.background.backgroundqueue method)":[[0,"responder.background.BackgroundQueue.task",false]],"template() (responder.api method)":[[0,"responder.API.template",false]],"template_string() (responder.api method)":[[0,"responder.API.template_string",false]],"text (responder.request property)":[[0,"responder.Request.text",false]],"url (responder.request property)":[[0,"responder.Request.url",false]],"url_for() (responder.api method)":[[0,"responder.API.url_for",false]]},"objects":{"":[[0,0,0,"-","responder"]],"responder":[[0,1,1,"","API"],[0,1,1,"","Request"],[0,1,1,"","Response"]],"responder.API":[[0,2,1,"","add_event_handler"],[0,2,1,"","add_middleware"],[0,2,1,"","add_route"],[0,2,1,"","after_request"],[0,2,1,"","before_request"],[0,2,1,"","exception_handler"],[0,2,1,"","graphql"],[0,2,1,"","group"],[0,2,1,"","mount"],[0,2,1,"","on_event"],[0,2,1,"","path_matches_route"],[0,2,1,"","redirect"],[0,3,1,"","requests"],[0,2,1,"","route"],[0,2,1,"","run"],[0,2,1,"","schema"],[0,2,1,"","serve"],[0,2,1,"","session"],[0,3,1,"","static_app"],[0,2,1,"","template"],[0,2,1,"","template_string"],[0,2,1,"","url_for"]],"responder.Request":[[0,2,1,"","accepts"],[0,3,1,"","apparent_encoding"],[0,3,1,"","client"],[0,3,1,"","content"],[0,3,1,"","cookies"],[0,3,1,"","encoding"],[0,3,1,"","full_url"],[0,3,1,"","headers"],[0,3,1,"","is_json"],[0,3,1,"","is_secure"],[0,2,1,"","media"],[0,3,1,"","method"],[0,3,1,"","mimetype"],[0,3,1,"","params"],[0,3,1,"","path_params"],[0,3,1,"","session"],[0,3,1,"","state"],[0,3,1,"","text"],[0,3,1,"","url"]],"responder.Response":[[0,2,1,"","file"],[0,3,1,"","ok"],[0,2,1,"","redirect"],[0,2,1,"","set_cookie"],[0,2,1,"","sse"],[0,3,1,"","status_code_safe"],[0,2,1,"","stream"],[0,2,1,"","stream_file"]],"responder.api":[[0,1,1,"","RouteGroup"]],"responder.background":[[0,1,1,"","BackgroundQueue"]],"responder.background.BackgroundQueue":[[0,2,1,"","run"],[0,2,1,"","task"]],"responder.ext.ratelimit":[[0,1,1,"","RateLimiter"]],"responder.ext.ratelimit.RateLimiter":[[0,2,1,"","check"],[0,2,1,"","install"]],"responder.models":[[0,1,1,"","QueryDict"]],"responder.models.QueryDict":[[0,2,1,"","get"],[0,2,1,"","get_list"],[0,2,1,"","items"],[0,2,1,"","items_list"]],"responder.status_codes":[[0,4,1,"","is_100"],[0,4,1,"","is_200"],[0,4,1,"","is_300"],[0,4,1,"","is_400"],[0,4,1,"","is_500"]]},"objnames":{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","property","Python property"],"4":["py","function","Python function"]},"objtypes":{"0":"py:module","1":"py:class","2":"py:method","3":"py:property","4":"py:function"},"terms":{"":[0,2,3,4,5,6,7,9,10,11,12,13,15,16],"0":[3,4,5,7,10,14,15],"00":0,"01":0,"0441172719":14,"1":[0,3,4,5,7,10,11,12,14,16],"10":[0,6,7,10],"100":[0,2,10],"127":[3,4,5],"13":4,"14":2,"150mb":4,"1965":14,"2":[4,7,9,10,14,15,16],"200":[0,7,9,10,14],"201":[7,9,12,14,15],"2026":0,"204":[14,15],"24":11,"2xx":0,"3":[4,6,7,9,10,14,16],"3000":5,"301":[0,7],"308":2,"32":5,"3600":[0,10],"3f":13,"4":[4,7],"40":2,"400":[0,2,9,10,14],"401":[0,10,11],"404":[0,7,12,14,15],"41d4":7,"422":[2,9,10,14],"429":[0,10],"446655440000":7,"500":[2,7,9,10,13,14],"5000":10,"5042":[3,4,7,11,14,16],"550e8400":7,"561":2,"60":[0,2,10],"600":[0,10],"7":11,"8":0,"80":4,"8000":[4,7],"8192":0,"9":9,"978":14,"99":9,"A":[0,4,5,6,7,10,13,16],"And":[5,6,7],"As":[0,10],"But":[7,9,10],"By":[3,7,9,10,13,14],"For":[0,3,4,5,7,9,10,11,14,15],"If":[0,3,5,6,7,9,10,12,15],"In":[0,5,6,7,10,11,12,15,16],"It":[0,3,6,9,10,13],"No":[6,9,10,12,14],"Not":7,"On":[5,10],"One":[6,7,9],"Or":[0,5],"That":[4,6,7,9],"The":[2,3,4,5,7,9,10,11,13,14,15,16],"There":[9,10],"These":7,"To":[14,15],"Will":0,"With":[0,5],"__init__":11,"__main__":[4,6,7,9,14,15],"__name__":[4,6,7,9,10,12,14,15],"__tablename__":15,"_route_for":2,"a2wsgi":2,"a716":7,"abc":14,"abc123":[0,9,10,11],"abil":2,"abl":0,"abort":12,"about":[4,7,9,12],"abov":[6,11],"abstract":15,"accept":[0,2,7,9,10,16],"access":[0,2,4,10,11,15],"acm":3,"acquir":8,"across":[2,4,10,15],"activ":[8,16],"actual":[0,7,10],"ad":[0,1,6,10],"adapt":10,"add":[0,1,2,5,7,11,13,14,15,16],"add_event_handl":0,"add_head":[10,13],"add_middlewar":[0,13],"add_request_id":0,"add_rout":[0,10],"add_tim":[9,10],"add_vers":9,"addeventlisten":16,"addit":[0,13],"address":[0,5,7,10],"adher":2,"admin":11,"affect":10,"after":[0,6,7,11,15,16],"after_request":[0,1,2,9,10,13],"ag":[0,10],"again":11,"against":[0,4,10,11],"agre":7,"ahead":2,"ai":10,"aiosqlit":15,"alemb":15,"algorithm":11,"alias":2,"alic":10,"all":[0,2,3,4,6,8,9,10,12,13,15,16],"alloc":9,"allow":[6,10],"allow_credenti":[0,10],"allow_head":[0,10],"allow_method":[0,5,10],"allow_origin":[0,5,10],"allow_origin_regex":0,"allowed_host":[0,5,10],"alongsid":10,"alpin":4,"alreadi":[0,9,10],"also":[0,2,3,7,9,10],"altern":[0,10],"alwai":[4,5,6,7,10],"an":[0,3,5,7,10,12,13,14,15,16],"analysi":10,"angle_bracket":12,"angular":10,"ani":[0,3,4,5,6,7,9,10,11,13,14,15,16],"annot":[2,6,7,10],"annual":[7,10],"answer":[10,16],"anyon":6,"anyth":7,"anywher":[4,10],"api":[2,3,4,5,6,7,10,13,15,16],"api_kei":11,"api_v1":12,"apispec":2,"app":[0,2,3,4,5,6,7,9,12,14,15,16],"appar":0,"apparent_encod":0,"appear":10,"appendchild":16,"appli":[0,13],"applic":[0,2,3,4,5,7,9,10,11,13,14,15],"approach":[5,10,11,12],"appropri":[10,15],"ar":[0,2,3,4,6,7,9,10,11,12,13,15,16],"architectur":10,"aren":[7,13],"arg":[0,12],"argument":[0,2,7,12,13],"around":[0,6],"arriv":[7,12],"asgi":[0,2,4,6,7,10,12,13],"ask":[6,10,16],"assert":[9,16],"asset":[0,4,6,10],"assign":14,"associ":0,"async":[0,1,2,4,6,7,9,10,11,12,13,14,15,16],"async_sess":15,"async_sessionmak":15,"asynccontextmanag":[10,15],"asynchron":[2,4],"asyncio":[2,15],"asyncpg":15,"attach":10,"attack":[4,5,10],"attribut":[0,3,15],"audio":16,"auth":[2,6,10,13],"auth_check":10,"auth_guard":11,"authent":[6,7,10,13,16],"autherror":11,"author":[0,7,8,10,11,13,14,15],"auto":[2,10,16],"auto_escap":0,"autobuild":8,"autoincr":15,"automat":[0,2,4,5,6,7,9,10,11,12,13,14,15],"avail":[0,7],"avoid":[9,10],"aw":4,"await":[0,2,7,9,10,11,12,13,14,15,16],"azur":[3,4],"b":[7,9,13,15,16],"back":[0,7,10,15,16],"background":[2,6],"backgroundqueu":0,"backlog":6,"bad":[9,10,14],"balanc":4,"bandwidth":10,"bar":10,"bare":2,"base":[0,2,6,11,13,15],"base_url":0,"basehttpmiddlewar":13,"basemodel":[0,9,10,14,15],"basic":7,"batteri":6,"battl":6,"bearer":6,"becaus":[0,6,7,11,12,14],"becom":[0,15],"been":0,"befor":[0,2,6,7,11,13,15],"before_request":[0,1,2,9,10,11,12,13,16],"begin":15,"behavior":[5,13],"behind":[4,10],"being":0,"best":6,"better":6,"between":13,"bidirect":[10,16],"big":6,"biggest":12,"bin":8,"binari":[7,10,16],"bind":[0,4,5,7],"blob":3,"block":[0,7,9,10,12,16],"blueprint":6,"bodi":[0,2,7,9,10,12,14,16],"boilerpl":6,"book":[6,15],"book_id":[14,15],"bookin":[14,15],"bookout":15,"books_db":14,"bool":5,"born":6,"both":[6,7,10,12,16],"bottom":14,"box":13,"bp":12,"break":[2,9],"bring":6,"broad":2,"broadcast":16,"broke":[7,9],"broker":7,"browser":[7,8,10,11,14,16],"bucket":[0,10],"buffer":[0,7],"bufix":2,"bug":[2,9],"bugfix":2,"build":[2,4,6,7,8,10,11,15,16],"builder":15,"built":[2,4,6,7,9,10,16],"bump":2,"bypass":4,"byte":[0,2,6,7,13,16],"c":[5,16],"cach":[7,9,10],"caddi":4,"call":[2,3,7,9,10,13,14,16],"call_next":13,"callabl":0,"came":7,"can":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"carri":7,"case":[0,6,7,13],"cat":10,"catalog":14,"catch":[10,11,13],"categori":0,"cd":8,"ceas":2,"celeri":7,"cell":10,"central":[0,7],"certain":0,"certif":4,"chang":[0,15],"changelog":6,"channel":[10,16],"chardet":0,"chat":[2,6,10],"check":[0,8,9,10,11,13,16],"check_api_kei":11,"check_auth":0,"check_exist":[0,10,14,15],"choic":[7,10],"choos":10,"chunk":[0,10],"chunk_siz":0,"ci":2,"circuit":[0,1,2,6,10],"class":[2,6,7,9,11,13,14,15],"clean":[6,10,14],"cleaner":[10,11],"cleanli":5,"cleanup":[2,10],"clear":11,"cli":2,"click":6,"client":[0,2,6,7,9,10,11,14],"clone":8,"close":[9,10,15,16],"close_database_connection_pool":0,"cloud":[3,5,6,7],"cmd":4,"code":[2,3,4,5,6,7,8,9,10,11,14,15,16],"codebas":2,"collabor":[10,16],"colon":3,"column":15,"com":[0,3,5,7,8,10],"combin":7,"come":[7,10,12],"command":[4,6],"commit":[5,15],"common":[3,4,5,7,10,11,12,13,14],"commonli":7,"commun":[10,11],"compact":10,"compat":[0,2],"complement":[1,10],"complet":[7,10,14,16],"complex":[13,15],"compon":13,"compos":15,"comprehens":2,"compress":[6,7,13],"compromis":5,"comput":7,"concept":[2,10,12],"concern":[7,13],"concurr":[0,4],"condit":[9,10],"config":[5,15],"configur":[0,2,4,6,7,9,10,13],"conflict":2,"confus":9,"conn":15,"connect":[0,4,7,9,10,15,16],"consid":[1,7,15],"consist":[7,10],"consol":[10,15],"const":[10,16],"constructor":[0,13],"consum":10,"contact":0,"contain":[0,4,7],"container":4,"content":[0,2,6,7,9,10,14],"content_typ":[0,9,10],"context":[2,6,9,10,15,16],"contextlib":[10,15],"continu":7,"contract":9,"control":[0,4,5,7,10,11,15],"conveni":[0,5,15],"convent":[4,14],"convert":[2,7],"convertor":[2,6,12],"cooki":[0,2,5,6,7,11,12,13],"copi":4,"cor":[0,2,5,6,9,13],"core":[2,4],"coroutin":0,"correctli":4,"correspond":15,"cors_en":5,"cors_origin":5,"cors_param":[0,5,10],"corsmiddlewar":13,"count":2,"cover":[5,11,13],"coverag":2,"cpu":[0,4,7],"crash":2,"creat":[0,6,8,9,10,11,12,15],"create_al":15,"create_asgi_app":10,"create_async_engin":15,"create_book":[14,15],"create_connect":16,"create_item":[0,10,12],"create_pet":10,"create_token":11,"createel":16,"creation":15,"credenti":11,"cross":[10,13],"crud":[6,7,14],"css":10,"csv":10,"curl":[3,7,11,14],"curly_brac":12,"custom":[0,2,6,7,9,14,16],"cut":13,"cycl":7,"d":[7,9,14],"dashboard":[5,10,11,16],"data":[0,2,5,6,7,9,10,11,12,14,15],"databas":[5,6,7,9,10,11,14],"database_url":[5,15],"date":0,"datetim":11,"db":[5,15],"debug":[0,2,6,10,12],"decim":7,"declar":[2,7],"declarativebas":15,"decod":[2,10,11],"decor":[0,2,7,10],"deep":6,"def":[0,6,7,9,10,11,12,13,14,15,16],"def456":11,"default":[0,1,2,3,5,7,9,10,15],"default_valu":[0,10],"defend":10,"defin":[0,6,7,10,11],"definit":0,"del":14,"delet":[5,6,7,10,15],"delete_book":[14,15],"deliber":7,"demo":3,"denpend":2,"dep":2,"depend":[2,4,9,13],"deploi":[4,6],"deploy":[2,6],"depth":10,"describ":10,"descript":[0,10],"design":[7,10,14],"detail":[4,5,10,14],"detect":[0,6,10],"dev":[2,5],"develop":[3,4,5,10,15],"devic":10,"dict":[6,7,10,11,14,15],"dictionari":0,"differ":[0,3,5,6,9,10,15],"digit":7,"direct":[0,2,10],"directli":[3,6,7,9,14,15],"directori":[0,7,10],"disabl":[9,15],"discard":16,"disconnect":16,"disk":[0,7,10],"dispatch":[2,10,13],"dispos":15,"distribut":[4,10],"div":16,"django":[6,10],"do":[4,5,7,10],"doc":[2,8,9,10,11,14],"docker":[5,6],"dockerfil":4,"docs_rout":[0,10,14],"docstr":[2,10],"doctyp":16,"document":[0,2,4,6,8,14,16],"doe":15,"doesn":[0,10,14,15],"domain":[0,5,10],"don":[5,7,9,10,11,12,15],"done":4,"dot":3,"dotenv":5,"doubl":14,"down":[10,15],"download":10,"dramat":2,"driver":15,"drop":[2,16],"dump":2,"dune":14,"duplex":10,"duplic":10,"durat":13,"dure":[3,4,9,15],"duti":14,"dynam":7,"e":[0,16],"e29b":7,"each":[0,4,9,10,15],"easi":[3,5,7],"echo":[6,7,15],"ecosystem":[6,7],"edit":8,"editor":[10,16],"effect":[9,14],"effici":4,"either":[0,16],"element":[0,10],"els":[7,10,11,12,15],"email":7,"emb":10,"empti":[0,14],"enabl":[2,10,13,14],"enable_async":7,"enable_hst":[0,10,13],"encod":[0,2,11],"encrypt":11,"end":[7,14],"endpoint":[0,2,6,9,10,11,12,14],"enforc":10,"engin":[7,15],"enough":[4,13],"ensur":[10,14,15,16],"enter":[9,16],"entir":[0,10,11,13,14],"entri":14,"env":[4,6],"environ":[0,3,4,6,7],"eol":2,"equival":12,"error":[0,2,5,6,15],"errorhandl":12,"escap":0,"essenti":10,"establish":16,"etc":[7,9,10],"even":[3,4,10,16],"event":[0,2,6,7,12,16],"event_typ":0,"eventsourc":10,"ever":[5,6],"everi":[0,4,5,6,7,9,10,11,13,14,15],"everyth":[0,2,4,7,10,12,14,15,16],"everywher":[3,5],"evolv":15,"exact":2,"exactli":[9,10],"exampl":[0,2,3,5,7,10,11],"exc":[0,9,10,11,14],"exceed":[0,10],"except":[0,2,6,9,10,13,16],"exception_cl":0,"exception_handl":[0,2,9,10,11,12,14],"exceptionmiddlewar":13,"execut":15,"exist":[0,2,6,12,13],"exit":[9,10,16],"exp":11,"expand":2,"expect":7,"expir":[0,10,11],"expire_on_commit":15,"explain":10,"explan":0,"explicit":[7,10,12],"explicitli":[10,12],"explor":[1,7,10],"export":[5,10],"expos":[4,5],"expose_head":0,"express":[6,7],"ext":[0,2,10,15],"extens":[2,7],"extern":7,"extra":[2,4,10],"extract":0,"extrem":7,"f":[0,6,7,9,10,11,13,14,16],"factori":15,"fail":[9,10,15],"failur":[2,9],"falcon":[6,10],"fall":0,"fals":[0,5,9,10,14,15],"familiar":[6,12],"fast":[4,6,7,9],"fastapi":6,"faster":10,"featur":[0,6,7],"feed":10,"feel":6,"fetch":3,"few":12,"fido":10,"field":[0,2,9,10,14],"figur":7,"file":[0,2,4,6,7,14,15,16],"filenam":[0,9],"filepath":7,"filesystem":[2,3],"fill":7,"filter":[6,7],"final":16,"find":[3,10,12],"fine":[4,10,15],"fire":[0,9],"first":[0,10,11,13,14,15],"fit":6,"fix":8,"fixtur":6,"flag":[4,10,15],"flask":[2,6,10],"flask_app":[10,12],"flatten":2,"float":[0,7,9],"flow":[11,13],"fly":4,"fmt":2,"follow":7,"font":10,"forg":[5,10],"forget":0,"form":[0,7,11,12],"format":[0,2,6,7,8,10,11],"formerli":10,"forward":[4,10],"found":[2,7,14,15],"foundat":10,"fragment":3,"framework":[6,10],"franca":7,"frank":14,"free":2,"freeli":16,"fresh":9,"from":[0,2,4,5,6,7,9,10,11,13,14,15,16],"from_attribut":15,"front":4,"frontend":[6,10],"fsspec":3,"full":[0,2,3,7,10],"full_url":[0,7,10],"fulli":7,"fun":6,"func":0,"function":[0,7,10,12,13],"futur":[0,2,6],"g":0,"game":[10,16],"gatewai":4,"gener":[0,2,5,6,9,10,13,14],"get":[0,2,5,7,10,11,15],"get_book":[14,15],"get_list":0,"get_m":11,"get_us":[0,10,12],"getelementbyid":16,"getenv":5,"git":[5,8],"github":[2,3,8],"gitignor":5,"give":[0,9,10,13,15],"given":[0,9],"global":[12,14],"gmt":0,"go":[7,12],"goe":[10,12],"good":[4,6,10],"googl":[3,4],"grace":4,"grade":7,"gradual":[6,10],"graduat":13,"grain":15,"graphen":[0,2,6,10],"graphiql":[2,6,10],"graphql":[0,2,6],"great":[3,6,10],"greet":[6,7,10],"greet_world":6,"greetingresourc":10,"group":[2,6],"grow":10,"guard":[6,11],"guid":[2,5,7,11,12,15],"guido":7,"gzip":[6,7],"gzipmiddlewar":13,"h":[7,11,14],"h1":[7,11],"ha":[7,9,12,14,16],"half":7,"halv":10,"hand":0,"handl":[0,2,4,5,6,7,11,16],"handle_auth_error":11,"handle_value_error":[0,10,14],"handler":[0,6,9,10,11,13,14],"handshak":16,"happen":[6,7],"hard":9,"hasn":0,"have":[0,2,3,7,9,12,13,14],"hdf":3,"head":3,"header":[0,2,4,5,6,7,10,11,12,13,16],"health":11,"heavi":7,"hello":[0,3,6,9,10,12,16],"hello_html":7,"hello_json":7,"hello_to":7,"hello_world":7,"helloworld":3,"help":[0,15],"helper":[6,11],"herbert":14,"here":[4,5,7,10,12,16],"high":[4,10],"hold":[0,6,7],"home":6,"homepag":2,"honor":[4,7],"hood":10,"hook":[0,1,2,6,7,11],"host":[0,2,4,6,7,13],"hostnam":10,"hour":[10,11],"how":[5,6,7,10,11,12,14,15],"hs256":11,"hst":6,"html":[0,2,6,7,10,11,12],"http":[0,2,3,4,5,6,7,8,9,10,11,14,16],"httponli":[0,10],"httpsredirect":0,"httpsredirectmiddlewar":[0,4,13],"httpx":[2,9],"i":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"id":[0,2,6,7,12,13,14,15,16],"idea":12,"idempot":14,"ident":12,"identifi":10,"imag":[4,7,10,16],"immedi":[0,6,7,10],"immut":2,"imperson":5,"implement":9,"import":[0,2,3,5,6,7,9,10,11,12,13,14,15,16],"improv":2,"inaccess":0,"includ":[3,4,6,7,8,9,10,11,14],"incom":[0,7,14],"incredibli":10,"independ":4,"index":[0,7,10,16],"individu":10,"industri":10,"info":[0,2,10],"inform":[0,14],"infrastructur":[4,6],"inherit":[0,10],"initi":[0,9],"inject":10,"innermost":13,"input":[2,9,10,14,16],"insensit":[0,6,7],"insid":13,"inspect":[0,2],"instal":[0,2,3,4,5,8,10,11,16],"instanc":[0,4,6,7,9],"instant":7,"instead":[0,7,9,10,13,14,15,16],"int":[0,2,7,10,11,12,14,15],"integ":[0,7,14,15],"integr":[13,14,15],"intens":7,"intent":6,"intention":10,"interact":[2,10,14],"interfac":[2,4,6,7,12],"intern":[9,10,13],"invalid":[5,9,10,11],"invalidtokenerror":11,"involv":0,"io":4,"iot":10,"ip":[0,7,10],"is_100":0,"is_200":0,"is_300":0,"is_400":0,"is_500":0,"is_class_bas":2,"is_json":[0,2,7],"is_secur":[0,7],"isbn":[14,15],"iscoroutinefunct":2,"isn":[7,10,12],"issu":[2,11],"item":[0,9,10,12,15],"itemin":0,"itemout":0,"items_list":0,"iter":16,"its":[0,2,4,14,15],"itself":11,"j":10,"jan":0,"javascript":[0,3,10],"jinja2":[0,7,12],"jpeg":10,"jpg":10,"json":[0,3,6,7,10,11,14,16],"jsonifi":12,"jump":7,"just":[4,9,10,13,15,16],"jwt":11,"keep":[2,5,7,9,10,13,15,16],"kei":[0,6,7,9,10,12,15,16],"kennethreitz":[3,8],"keypress":16,"keyword":[0,7,12,13],"know":[5,7],"known":[0,11],"kwarg":0,"languag":10,"larg":[0,2,10],"larger":[5,9,13],"last":[0,13],"later":[7,9],"launch":[4,6],"layer":13,"lazi":2,"lazili":0,"lead":9,"learn":10,"legaci":12,"less":10,"let":[3,4,7,10,14,15],"level":[4,13],"librari":[9,10,16],"licens":0,"lifecycl":16,"lifespan":[0,2,6,14],"lift":7,"lightn":4,"lightweight":7,"like":[4,7,9,10,11,13,14,16],"limit":[1,2,4,6,13,15,16],"line":[6,7],"liner":2,"lingua":7,"list":[0,6,7,9,10,15],"list_book":[14,15],"list_item":10,"list_pet":10,"list_us":[0,10,12],"list_users_v2":10,"live":[10,16],"ll":[6,7,10,12,14,15],"load":[0,2,3,4,5,7,10],"load_dotenv":5,"local":[3,5,6,12],"localhost":[5,7,11,14,15,16],"locat":[0,7,11,12],"lock":2,"log":[4,10,11,13],"log_level":2,"log_request":13,"log_respons":10,"logic":[6,7,10],"login":[10,11],"logout":11,"long":7,"look":[3,6,7],"loop":[7,12,16],"lose":[2,15],"lower":[0,5],"lowercas":7,"machin":10,"made":[0,6],"magic":12,"mai":4,"main":3,"make":[4,5,7,9,10,11,12],"malici":10,"manag":[2,5,6,9,10,11,13,15,16],"mani":[0,4,7,10],"manual":0,"map":[2,7,10,12,15],"mapper":15,"marimo":[2,10],"mark":[2,10],"marker":2,"marshmallow":[0,2,10],"match":[0,5,7,10,14],"matter":10,"max_ag":[0,10],"maximum":0,"me":11,"mean":[4,7,12],"mechan":10,"media":[0,2,6,7,9,10,11,12,14,15],"memori":[0,2,6,7,10],"messag":[0,7,10,11,16],"messagepack":[2,6],"metadata":[0,7,15],"method":[0,6,7,9,11,12,13,14,15,16],"microservic":10,"middelwar":0,"middlewar":[0,1,2,6,7,10],"middleware_cl":0,"middleware_config":0,"might":7,"migrat":[2,6,10,15],"mime":0,"mimetyp":[0,7,10],"min":[0,10],"mind":13,"minim":[4,16],"minimum":2,"minor":2,"miss":[2,9,10,11],"mix":10,"ml":10,"mode":[0,6,8],"model":[0,2,6,9,10],"model_dump":15,"model_valid":15,"modern":[4,10,11,12,15],"modifi":[0,10,13,14,15],"modul":[0,2,6,7,10],"more":[0,3,4,7,10,11,12,13,14,16],"most":[0,3,4,5,7,9,10,11,13,15],"mount":[0,2,6,12],"move":[2,7,10,12],"msgpack":[2,10],"much":[7,10],"multi":0,"multipart":[2,7],"multipl":[2,4,10,14],"multiplay":[10,16],"must":[0,7,10,11,14,16],"mutabl":6,"mutat":[0,7,12],"my_templ":7,"myapi":4,"myapp":3,"mydb":15,"mysql":15,"n":[0,7],"name":[0,5,6,7,9,10,12],"namespac":2,"narrow":2,"nativ":12,"natur":[9,15],"nearli":12,"need":[4,5,6,7,9,10,11,12,13,15,16],"negoti":[0,6,7,9,10],"nervou":7,"network":9,"never":[5,10,11,14],"new":[0,7,9,10,12,14,16],"new_endpoint":12,"next":[6,13],"next_id":14,"nginx":4,"non":7,"none":[0,2,11,14,15],"normal":[10,16],"notabl":2,"notasecret":0,"note":[7,10,12,14],"notebook":[2,10],"notic":7,"notif":10,"now":[2,7,10,11,15,16],"npm":3,"nullabl":15,"number":[0,7],"o":[0,5,7,12],"object":[0,2,7,10,12,13,15,16],"objecttyp":[0,10],"obviou":9,"off":[5,7],"offload":4,"offset":15,"often":[3,7,10],"ok":[0,7,9,14],"old":12,"on_delet":10,"on_ev":[0,9,10],"on_get":[6,10],"on_post":[6,10],"on_put":10,"on_request":[6,10],"on_startup":9,"onc":[10,12,14],"one":[0,2,5,6,7,10,12,15],"ones":[6,7,10],"onion":13,"onli":[0,5,7,10,12,14],"onmessag":[10,16],"open":[2,7,8,15],"open_database_connection_pool":0,"openapi":[0,2,6,14],"openapi_rout":0,"openapi_them":0,"oper":[7,10,12,14],"opt":10,"option":[0,2,4,6,7,13],"option1":13,"option2":13,"order":[0,6],"order_bi":15,"organ":[0,5,9,10,12],"origin":10,"orm":15,"other":[0,2,6,7,15],"otherwis":[0,10],"our":14,"out":[5,6,7,13],"outermost":13,"outgo":7,"output":14,"outsid":13,"over":[0,6,7,10,12,15],"overal":2,"overhead":9,"overrid":[0,10],"overwhelm":10,"own":[4,10,15],"p":[4,11,16],"pace":10,"packag":[2,3,4],"page":[0,2,5,7,10,11,16],"pagin":7,"painless":9,"pair":0,"param":[0,2,6,7,12],"paramet":[0,6,9,10,14],"parameter":0,"pars":[0,2,7,9,10],"parser":2,"part":[2,6,7,10],"parti":6,"pass":[0,7,9,12,13,15,16],"passion":6,"password":11,"patch":[7,10],"path":[0,2,3,6,7,9,10,11,13],"path_matches_rout":0,"path_param":[0,2,7],"pattern":[4,6,7,10,11,12,14,15],"payload":11,"pdf":[7,9,10],"pep":2,"per":[0,4,9,10],"perfect":10,"period":[0,2,10],"perman":7,"permit":10,"persist":[0,10,16],"person":6,"pet":[0,10],"petin":10,"petout":10,"petschema":[0,10],"photo":10,"piec":10,"pin":2,"pip":[2,3,4,5,6,8,11,15,16],"place":[5,10],"placehold":[7,16],"plain":[0,7,10,16],"platform":[2,5,6,7],"pleasant":6,"plot":10,"plu":15,"plugin":2,"poethepoet":2,"point":[3,4,14],"polici":10,"pool":[0,6,7,10,12,15],"popular":[7,10,15],"port":[0,4,5,7,9],"portion":0,"possibl":7,"post":[0,5,7,9,10,11,12,14,15],"postgresql":6,"potenti":2,"power":[6,9,10,13,15,16],"practic":10,"prefer":10,"prefix":[0,2,10],"present":7,"prevent":[5,10],"price":[0,9],"primari":0,"primary_kei":15,"print":[0,5,10,13,15,16],"privat":10,"proce":16,"process":[4,6,7,9,10,13],"process_data":7,"prod":5,"produc":[0,7],"product":[2,3,4,5,6,7,9,10,11,15],"profil":10,"programmat":10,"progress":10,"project":[2,3,8],"propag":9,"proper":[7,11,15],"properli":[2,5,9,15],"properti":[0,2,7,9],"prose":2,"protect":[4,11],"proto":4,"protocol":[3,7,9,10,16],"prototyp":[2,3,6],"provid":0,"proxi":6,"public":[0,6,10],"public_path":11,"push":[4,6,10],"put":[6,10,14,15],"py":[2,3,4,5,7,9,10,14,15],"pydant":[0,2,9,10,14,15],"pyjwt":11,"pypi":2,"pyproject":2,"pytest":[6,8,9],"python":[0,2,3,4,5,6,7,10,14,15,16],"pythonpath":3,"q":[7,12],"queri":[2,6,7,10,15,16],"query_str":0,"querydict":0,"queue":[6,7],"quick":[0,3,6],"r":[7,9],"race":9,"railwai":4,"rais":[0,2,9,10,11],"raise_server_except":9,"random":[0,5],"rang":[0,7,10],"rapidoc":[0,10],"rare":7,"rate":[1,2,4,6,13],"rate_limit":0,"ratelimit":[0,2,10,13],"rather":9,"raw":[0,3,6,7,10,13,15,16],"re":[0,4,7,9,10,12,13,14,16],"reach":[11,13],"react":[2,10],"reactiv":10,"read":[0,2,5,6,10,11,12,14,15],"readabl":10,"readi":[4,5,6,7],"real":[2,5,10,11,14,15],"realli":[9,10],"receiv":[0,6,7,9,10,11,13,16],"receive_byt":[10,16],"receive_incom":7,"receive_json":[10,16],"receive_text":[9,10,16],"recommend":10,"reconnect":10,"recv":16,"redirect":[0,2,7,11,12],"redoc":[0,10],"reduc":2,"ref":3,"refactor":[2,9],"refer":[2,6,9],"refresh":15,"refus":10,"regist":[0,9,10,11],"register_blueprint":12,"reject":[9,10],"relat":[0,10,15],"releas":8,"reliabl":9,"remain":10,"rememb":11,"remov":[10,12,14,16],"renam":9,"render":[0,1,4,6,10],"render_async":7,"render_templ":12,"replac":[2,7,10,14],"report":[7,9,10],"repres":0,"represent":0,"reproduc":2,"req":[0,2,6,7,9,10,11,12,13,14,15,16],"request":[2,3,4,6,11,12,13,14,15],"request_id":[0,2,10,13],"request_model":[0,2,9,10,14,15],"requir":[0,2,9,10],"research":6,"resolv":[2,10],"resolve_hello":[0,10],"resourc":[7,10,14],"resp":[0,2,6,7,9,10,11,12,13,14,15,16],"respect":3,"respond":[0,2,3,4,5,7,8,9,10,11,12,13,14,15,16],"respons":[2,6,9,10,12,13,14,15,16],"response_model":[0,2,10,14,15],"rest":[2,4,6,7,10],"restrict":10,"result":[0,2,7,10,15],"resum":2,"resume_incomplet":2,"retri":[0,10],"retriev":[0,10,14],"return":[0,2,6,7,9,10,11,12,13,14,15],"reusabl":11,"revers":[0,6],"rework":2,"rewrit":2,"rewrot":2,"rfc3986":2,"right":[6,7,10,12,13],"roll":15,"room":6,"root":[2,10],"rotat":5,"rout":[2,6,9,13,14,15,16],"routegroup":0,"router":2,"rst":2,"ruff":[2,8],"rule":5,"run":[0,2,3,6,8,9,10,12,13,16],"run_sync":15,"runner":[2,4],"runtimeerror":0,"s3":3,"safe":[2,14],"sai":7,"said":4,"same":[3,4,6,7,10,12,14,15],"sandbox":6,"save":[7,16],"scalar":15,"scale":6,"schema":[0,2,6,10,11,14,15],"scope":[0,10,13],"scratch":[6,14],"script":16,"search":[0,2,7,10],"second":0,"secret":[6,10,11],"secret_kei":[0,5,10,11],"section":10,"secur":[0,10,13],"see":[0,4,5,7,9,10,13,14,15],"select":[0,2,15],"self":[0,10,11,13],"semant":2,"send":[0,2,6,9,10,11,14,16],"send_byt":[10,16],"send_email":0,"send_json":[10,16],"send_text":[9,10,16],"sensit":11,"sent":[0,2,6,7,13],"separ":[7,9,14],"sequenti":2,"serial":[0,2,7,10,16],"serializ":7,"serv":[0,2,3,4,5,6,7,9,14,16],"server":[0,2,3,4,5,6,9,11,13,14,15],"servererrormiddlewar":13,"servestat":2,"servic":[0,3,6,9,10,14],"session":[0,2,5,6,7,9,12,13,15],"session_id":10,"sessionmiddlewar":13,"set":[0,2,4,5,6,7,8,9,10,11,15,16],"set_cooki":[0,2,10],"set_text":0,"setattr":15,"setup":[2,5,6,9],"sever":[10,13],"sftp":3,"share":[0,3,7,9,10,15],"shell":5,"short":[0,1,2,6,10],"shorthand":0,"should":[5,14,15],"shouldn":0,"show":[2,10,12,15,16],"shut":[10,15],"shutdown":[0,4,6,9,10],"shutdwown":2,"sibl":6,"side":[7,10,11,16],"sign":[0,5,6,7,10,11,13],"signatur":[7,10,12],"signup":11,"simpl":[3,9,10,11,13,14,16],"simplecooki":0,"simpler":[7,10,11,13],"simplest":[5,7,11,13,16],"simpli":11,"simplic":[6,15],"simul":7,"sinc":[7,9],"singl":[0,2,3,6,7,10,12,15],"sit":13,"size":[0,15],"sk":11,"skip":[0,6,10],"slash":7,"sleep":[7,9],"slim":4,"slow":7,"slowlori":4,"slug":7,"small":[4,6,9,10],"smaller":4,"so":[9,10,12,13,14,15],"solv":10,"some":[4,5,10],"some_packag":13,"somemiddlewar":13,"someon":[5,7,10,16],"someth":[6,7,9,10],"sometim":[7,10],"somewher":7,"sourc":[0,5,8,10],"spawn":4,"spec":[7,10],"special":[6,10],"specif":[0,2,5,9,10,13,14],"specifi":3,"sphinx":8,"spin":7,"split":5,"sprawl":6,"sql":15,"sqlalchemi":[2,6,7,14],"sqlite":[5,15],"sse":[0,2,6],"ssl":4,"stabil":2,"stack":13,"stai":[12,15],"standard":[3,4,10,11,14],"starlett":[0,2,6,9,16],"start":[0,3,4,6,10,13,14,15],"startswith":11,"startup":[0,2,6,9,10],"state":[0,2,9,10,11],"statement":6,"static":[0,2,4,6,7,16],"static_app":0,"static_dir":[0,10],"static_rout":[0,2,10],"staticfil":0,"statu":[2,6,7,9,10,14],"status_cod":[0,6,7,9,10,11,12,13,14,15],"status_code_saf":0,"stderr":0,"stdlib":2,"still":[10,12],"stop":10,"storag":[3,6],"store":[0,5,10,11,14],"str":[0,7,9,10,11,14,15],"straightforward":10,"stranger":[0,10],"stream":[0,2,10],"stream_data":0,"stream_fil":[0,2,10],"strict":10,"string":[0,6,7,10,15,16],"strip":[2,10,11],"structur":10,"style":10,"stylesheet":10,"sub":11,"subclass":0,"subcommand":3,"subject":0,"submiss":0,"submit":0,"subrout":[6,10,12],"subsequ":[10,11],"subtl":2,"success":[0,7,14],"successfulli":14,"successor":4,"suit":9,"suppli":2,"support":[0,1,2,3,4,6,7,12,15,16],"swagger":[6,10,14],"swagger_ui":[0,10],"switch":[2,15,16],"sync":[2,6,7,12],"synchron":[0,12],"syntax":[2,6,7,12],"system":[3,7,10],"t":[0,4,5,7,9,10,11,12,13,14,15],"tabl":15,"take":[6,7],"tamper":[10,11],"target":2,"task":[0,2,6],"teach":6,"tear":10,"tell":[7,10,14,15],"templat":[0,1,2,6],"template_str":[0,7],"templates_dir":0,"termin":[3,4],"terms_of_servic":0,"test":[0,2,3,5,6,8,14],"test_500":[2,9],"test_api":9,"test_create_item":9,"test_custom_error":9,"test_echo":16,"test_head":9,"test_hello":9,"test_hook":9,"test_json":9,"test_upload":9,"test_valid":9,"test_websocket":9,"test_with_lifespan":9,"testclient":[0,2,9,16],"text":[0,2,6,7,9,10,12,16],"textcont":16,"than":[9,10,11,12,13,14],"thei":[0,5,7,10,12,13,14,16],"them":[6,7,9,10,11,12,14,16],"theme":[0,10],"themselv":10,"thi":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"thing":[5,6,7,9,13],"think":7,"third":6,"though":4,"thousand":4,"thread":[0,2,6,7,12],"threadpoolexecutor":[0,2],"three":[7,10,16],"through":[0,7,10,13,14,16],"throughput":10,"thu":0,"time":[0,2,6,7,9,10,12,13,14,15,16],"time_start":0,"timedelta":11,"timeout":4,"timingmiddlewar":13,"tip":[2,6],"titl":[0,2,7,10,14,15],"tl":4,"togeth":[6,10],"token":[0,6,7,10,16],"token_hex":5,"toml":2,"too":[0,3,4,9,10],"tool":[8,13],"toolbelt":2,"toolkit":15,"top":[0,5],"total":10,"tour":[0,6,7],"trace":10,"traceback":[0,2,5,10],"track":15,"tradit":[10,11],"traffic":4,"transact":15,"transform":13,"translat":12,"transport":10,"treat":[0,10],"trick":10,"trigger":9,"true":[0,2,5,7,9,10,11,12,13,15,16],"trust":[2,6],"trustedhostmiddlewar":[4,13],"try":[6,7,11,16],"tupl":[0,7,9],"tutori":[2,7,14],"two":[7,10,13],"type":[0,2,6,10,12,14,16],"typic":[7,10],"typo":[2,10],"ui":[2,6,10,14],"unauthor":[0,10,11],"under":[0,7,10,12],"underlin":2,"understand":[6,7],"unexpectedli":16,"unhandl":13,"unicod":0,"union":2,"uniqu":10,"unit":15,"univers":5,"unknown":0,"unless":10,"unlik":10,"unmaintain":2,"unmatch":10,"unpin":2,"unrecogn":10,"until":7,"up":[0,2,7,8,10],"updat":[2,6,7,10,15,16],"update_book":[14,15],"upgrad":[2,8,10,16],"upload":[2,6,7],"url":[0,2,5,6,7,9,10,11,12,13,15],"url_for":[0,2,9],"url_prefix":12,"urllib":2,"us":[0,2,3,4,6,7,10,12,14,16],"usag":[0,2],"user":[0,5,7,10,11,12,15],"user_id":[7,10,11,12],"usernam":[10,11],"usual":9,"utcnow":11,"utf":0,"uuid":[0,2,7,10],"uuid4":0,"uv":[2,3,5,6,8,11,15],"uvicorn":[0,2,6,7],"uvloop":4,"v":6,"v1":[0,10],"v2":10,"valid":[0,2,6,7,10,11,13,14,15],"valu":[0,6,7,9,10,11,12,13,14,15,16],"valueerror":[0,9,10,12,14],"variabl":[0,4,6,7],"ve":[6,9,12],"venv":8,"verb":10,"veri":[0,7,15],"verifi":[9,11],"verify_token":11,"version":[0,2,9,10,14],"via":[0,2,5,10,12],"view":[0,2,6,7,9,12],"virtual":[3,4],"virtualenv":8,"visit":[10,14],"vue":10,"w":[9,10,16],"wa":[0,2,7,14],"wai":[3,4,6,7,10,11,12,13,15],"wait":12,"walk":[7,10,14],"want":[0,3,4,6,7,9,10,14,15,16],"warn":2,"watch":8,"we":[14,15,16],"web":[0,4,6,10,15],"websit":10,"websocket":[0,1,2,4,6],"websocket_connect":[9,16],"welcom":[6,7,11],"well":6,"went":6,"werkzeug":2,"what":[0,7,9,10,16],"whatev":7,"when":[0,2,4,5,6,7,9,10,12,14,15,16],"where":[0,4,7,10,15,16],"whether":[0,7],"which":[0,2,7,9,10,12,15],"whichev":6,"while":[7,10,12,16],"whitenois":2,"who":[6,7,11],"widget":[9,10],"wildcard":10,"window":2,"wire":7,"with_app":10,"within":[2,10,15],"without":[0,2,4,7,9,10,15],"won":[7,9,10,15],"work":[3,4,5,6,7,10,13,14,15],"workdir":4,"worker":4,"world":[0,3,6,9,10,12],"worri":9,"would":9,"wrap":[0,7,9,10,13],"write":[6,7,10,12],"wrong":10,"ws_auth":16,"wsgi":[0,2,4,6,10,12],"www":5,"x":[0,4,7,9,10,11,12,13,14],"x00":16,"x01":16,"x02":16,"x89png":7,"xml":0,"xss":10,"yaml":[0,2,6,7,9,10],"year":[14,15],"yield":[0,10,15],"yml":[0,10,11],"you":[0,3,4,5,7,9,10,11,12,13,14,15,16],"your":[0,3,4,5,6,7,9,10,11,12,13],"yourself":7,"zero":4},"titles":["API Reference","Backlog","Changelog","Command Line Interface","Deployment","Configuration","Responder","Quick Start","Development Sandbox","Testing","Feature Tour","Authentication","Migrating from Flask","Writing Middleware","Building a REST API","Using SQLAlchemy","WebSocket Tutorial"],"titleterms":{"":14,"0":2,"01":2,"02":2,"03":2,"04":2,"08":2,"09":2,"1":2,"10":2,"11":2,"12":2,"13":2,"15":2,"16":2,"17":2,"18":2,"19":2,"2":2,"20":2,"2018":2,"2019":2,"2026":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"In":14,"It":[5,7,14,15],"The":[0,6,12],"ad":[2,13],"after":[9,10],"all":[5,7,14],"allow":5,"api":[0,9,11,12,14],"app":[10,11],"asset":3,"auth":11,"authent":11,"background":[0,7],"backlog":1,"base":10,"bearer":11,"befor":[9,10,16],"big":12,"blueprint":12,"book":14,"build":[3,14],"built":13,"chang":2,"changelog":2,"chat":16,"class":[0,5,10],"client":16,"cloud":4,"code":0,"command":3,"configur":5,"convertor":7,"cooki":[9,10],"cor":10,"creat":[7,14],"crud":15,"custom":[3,10,11],"data":16,"databas":15,"debug":5,"defin":[14,15],"delet":14,"deploy":4,"deprec":2,"develop":8,"dict":0,"differ":12,"directli":4,"docker":4,"document":10,"echo":16,"endpoint":15,"env":5,"environ":5,"error":[9,10,11,14],"event":[9,10],"except":11,"featur":10,"file":[3,5,9,10],"filter":10,"fix":2,"fixtur":9,"flask":12,"format":16,"from":[3,12],"frontend":3,"futur":1,"get":[6,9,14],"gradual":12,"graphql":10,"group":[0,10,12],"guid":6,"handl":[9,10,14],"header":9,"hello":7,"helper":0,"hook":[9,10,13,16],"host":[5,10],"how":16,"hst":10,"html":16,"id":10,"idea":[1,6],"instal":[6,15],"instanc":3,"interfac":3,"json":[9,12],"kei":[5,11],"launch":3,"lifespan":[9,10,15],"limit":[0,10],"line":3,"list":14,"local":4,"memori":14,"messagepack":10,"method":10,"middlewar":13,"migrat":12,"mode":5,"model":[14,15],"modul":3,"mount":10,"name":3,"next":14,"openapi":10,"oper":8,"order":13,"other":10,"out":14,"paramet":[7,12],"parti":13,"pattern":5,"platform":4,"postgresql":15,"project":[6,14],"proxi":4,"public":11,"put":[5,7],"queri":0,"queue":0,"quick":[7,12],"rate":[0,10],"read":7,"refer":[0,12],"remov":2,"render":7,"request":[0,7,9,10,16],"respond":6,"respons":[0,7],"rest":14,"revers":4,"room":16,"rout":[0,7,10,11,12],"run":[4,7,14,15],"sandbox":8,"secret":5,"send":7,"sent":10,"serv":10,"server":[7,10,16],"servic":7,"session":[10,11],"setup":[8,14,15],"shutdown":15,"singl":14,"skip":11,"sqlalchemi":15,"sse":10,"starlett":13,"start":[7,9],"startup":15,"static":10,"statu":0,"storag":14,"support":10,"task":7,"templat":[7,12],"test":[9,16],"third":13,"tip":[9,15],"togeth":[5,7],"token":11,"tour":10,"trust":10,"try":14,"tutori":[6,16],"type":7,"unreleas":2,"updat":14,"upload":9,"url":3,"us":[5,9,11,13,15],"user":6,"uvicorn":4,"v":13,"v0":2,"v1":2,"v2":2,"v3":2,"valid":9,"variabl":5,"view":10,"web":[7,11],"websocket":[9,10,16],"what":[6,13,14],"when":13,"work":16,"world":7,"write":13,"you":6,"your":[14,15]}}) \ No newline at end of file +Search.setIndex({"alltitles":{"API Key Authentication":[[11,"api-key-authentication"]],"API Reference":[[0,null]],"Added":[[2,"added"],[2,"id2"],[2,"id4"],[2,"id7"],[2,"id11"],[2,"id17"],[2,"id18"],[2,"id21"],[2,"id24"],[2,"id29"],[2,"id36"],[2,"id42"],[2,"id43"],[2,"id44"],[2,"id45"],[2,"id46"],[2,"id49"],[2,"id50"],[2,"id52"],[2,"id55"],[2,"id58"],[2,"id59"],[2,"id60"],[2,"id64"]],"Adding Third-Party Middleware":[[13,"adding-third-party-middleware"]],"After-Request Hooks":[[10,"after-request-hooks"]],"Allowed Hosts":[[5,"allowed-hosts"]],"Authentication":[[11,null]],"Background Queue":[[0,"background-queue"]],"Background Tasks":[[7,"background-tasks"]],"Backlog":[[1,null]],"Bearer Token Authentication":[[11,"bearer-token-authentication"]],"Before-Request Hooks":[[10,"before-request-hooks"]],"Before-Request Hooks for WebSockets":[[16,"before-request-hooks-for-websockets"]],"Blueprints \u2192 Route Groups":[[12,"blueprints-route-groups"]],"Building Frontend Assets":[[3,"building-frontend-assets"]],"Building a REST API":[[14,null]],"Built-in Middleware":[[13,"built-in-middleware"]],"CORS":[[10,"cors"]],"CRUD Endpoints":[[15,"crud-endpoints"]],"Changed":[[2,"changed"],[2,"id1"],[2,"id3"],[2,"id5"],[2,"id8"],[2,"id16"],[2,"id19"],[2,"id22"],[2,"id25"],[2,"id28"],[2,"id33"],[2,"id34"],[2,"id35"],[2,"id37"],[2,"id38"],[2,"id40"],[2,"id41"],[2,"id47"],[2,"id51"],[2,"id56"],[2,"id57"],[2,"id63"]],"Changelog":[[2,null]],"Chat Room":[[16,"chat-room"]],"Class-Based Views":[[10,"class-based-views"]],"Cloud Platforms":[[4,"cloud-platforms"]],"Command Line Interface":[[3,null]],"Configuration":[[5,null]],"Configuration Class Pattern":[[5,"configuration-class-pattern"]],"Cookie-Based Sessions":[[10,"cookie-based-sessions"]],"Cookies":[[10,"cookies"]],"Create a Book":[[14,"create-a-book"]],"Create a Web Service":[[7,"create-a-web-service"]],"Custom Error Handling":[[10,"custom-error-handling"]],"Custom Exception for Auth Errors":[[11,"custom-exception-for-auth-errors"]],"Custom Instance Names":[[3,"custom-instance-names"]],"Data Formats":[[16,"data-formats"]],"Database Setup":[[15,"database-setup"]],"Debug Mode":[[5,"debug-mode"]],"Define Your Models":[[14,"define-your-models"],[15,"define-your-models"]],"Delete a Book":[[14,"delete-a-book"]],"Deployment":[[4,null]],"Deprecated":[[2,"deprecated"]],"Development Sandbox":[[8,null]],"Docker":[[4,"docker"]],"Echo Server":[[16,"echo-server"]],"Environment Variables":[[5,"environment-variables"]],"Error Handling":[[14,"error-handling"]],"Feature Tour":[[10,null]],"Fixed":[[2,"fixed"],[2,"id6"],[2,"id10"],[2,"id12"],[2,"id13"],[2,"id14"],[2,"id15"],[2,"id20"],[2,"id23"],[2,"id26"],[2,"id27"],[2,"id30"],[2,"id31"],[2,"id32"],[2,"id39"],[2,"id48"],[2,"id53"],[2,"id54"],[2,"id61"],[2,"id62"]],"Future Ideas":[[1,"future-ideas"]],"Get a Single Book":[[14,"get-a-single-book"]],"Getting Started":[[9,"getting-started"]],"Gradual Migration":[[12,"gradual-migration"]],"GraphQL":[[10,"graphql"]],"HSTS":[[10,"hsts"]],"HTML Client":[[16,"html-client"]],"Hello World":[[7,"hello-world"]],"Hooks vs. Middleware":[[13,"hooks-vs-middleware"]],"How WebSockets Work":[[16,"how-websockets-work"]],"In-Memory Storage":[[14,"in-memory-storage"]],"Installation":[[6,"installation"],[15,"installation"]],"JSON APIs":[[12,"json-apis"]],"Launching from a File":[[3,"launching-from-a-file"]],"Launching from a Module":[[3,"launching-from-a-module"]],"Launching from a URL":[[3,"launching-from-a-url"]],"Lifespan Events":[[10,"lifespan-events"]],"Lifespan for Startup and Shutdown":[[15,"lifespan-for-startup-and-shutdown"]],"List All Books":[[14,"list-all-books"]],"MessagePack":[[10,"messagepack"]],"Method Filtering":[[10,"method-filtering"]],"Middleware Order":[[13,"middleware-order"]],"Migrating from Flask":[[12,null]],"Mounting Other Apps":[[10,"mounting-other-apps"]],"OpenAPI Documentation":[[10,"openapi-documentation"]],"Operations":[[8,"operations"]],"Project":[[6,null]],"Project Setup":[[14,"project-setup"]],"Putting It All Together":[[5,"putting-it-all-together"],[7,"putting-it-all-together"]],"Query Dict":[[0,"query-dict"]],"Quick Reference":[[12,"quick-reference"]],"Quick Start":[[7,null]],"Rate Limiter":[[0,"rate-limiter"]],"Rate Limiting":[[10,"rate-limiting"]],"Reading Requests":[[7,"reading-requests"]],"Removed":[[2,"removed"],[2,"id9"]],"Rendering Templates":[[7,"rendering-templates"]],"Request":[[0,"request"]],"Request ID":[[10,"request-id"]],"Responder":[[6,null]],"Response":[[0,"response"]],"Reverse Proxy":[[4,"reverse-proxy"]],"Route Groups":[[0,"route-groups"],[10,"route-groups"]],"Route Parameters":[[7,"route-parameters"],[12,"route-parameters"]],"Run It":[[14,"run-it"],[15,"run-it"]],"Run the Server":[[7,"run-the-server"]],"Running Locally":[[4,"running-locally"]],"Secret Key":[[5,"secret-key"]],"Sending Responses":[[7,"sending-responses"]],"Server-Sent Events (SSE)":[[10,"server-sent-events-sse"]],"Serving Files":[[10,"serving-files"]],"Setup":[[8,"setup"]],"Skipping Auth for Public Routes":[[11,"skipping-auth-for-public-routes"]],"Static Files":[[10,"static-files"]],"Status Code Helpers":[[0,"status-code-helpers"]],"Templates":[[12,"templates"]],"Testing":[[9,null]],"Testing Before and After Hooks":[[9,"testing-before-and-after-hooks"]],"Testing Error Handling":[[9,"testing-error-handling"]],"Testing File Uploads":[[9,"testing-file-uploads"]],"Testing Headers and Cookies":[[9,"testing-headers-and-cookies"]],"Testing JSON APIs":[[9,"testing-json-apis"]],"Testing Lifespan Events":[[9,"testing-lifespan-events"]],"Testing Request Validation":[[9,"testing-request-validation"]],"Testing WebSockets":[[9,"testing-websockets"],[16,"testing-websockets"]],"The API Class":[[0,"the-api-class"]],"The Big Differences":[[12,"the-big-differences"]],"The Idea":[[6,"the-idea"]],"Tips":[[9,"tips"],[15,"tips"]],"Trusted Hosts":[[10,"trusted-hosts"]],"Try It Out":[[14,"try-it-out"]],"Tutorials":[[6,null]],"Type Convertors":[[7,"type-convertors"]],"Unreleased":[[2,"unreleased"]],"Update a Book":[[14,"update-a-book"]],"User Guide":[[6,null]],"Using .env Files":[[5,"using-env-files"]],"Using Fixtures":[[9,"using-fixtures"]],"Using PostgreSQL":[[15,"using-postgresql"]],"Using SQLAlchemy":[[15,null]],"Using Sessions for Web Apps":[[11,"using-sessions-for-web-apps"]],"Using Starlette Middleware":[[13,"using-starlette-middleware"]],"Uvicorn Directly":[[4,"uvicorn-directly"]],"WebSocket Support":[[10,"websocket-support"]],"WebSocket Tutorial":[[16,null]],"What You Get":[[6,"what-you-get"]],"What\u2019s Next":[[14,"what-s-next"]],"When to Use What":[[13,"when-to-use-what"]],"Writing Middleware":[[13,null]],"v0.0.1 - 2018-10-12":[[2,"v0-0-1-2018-10-12"]],"v0.0.10 - 2018-10-17":[[2,"v0-0-10-2018-10-17"]],"v0.0.2 - 2018-10-13":[[2,"v0-0-2-2018-10-13"]],"v0.0.3 - 2018-10-13":[[2,"v0-0-3-2018-10-13"]],"v0.0.4 - 2018-10-15":[[2,"v0-0-4-2018-10-15"]],"v0.0.5 - 2018-10-15":[[2,"v0-0-5-2018-10-15"]],"v0.0.6 - 2018-10-16":[[2,"v0-0-6-2018-10-16"]],"v0.0.7 - 2018-10-16":[[2,"v0-0-7-2018-10-16"]],"v0.0.8 - 2018-10-17":[[2,"v0-0-8-2018-10-17"]],"v0.0.9 - 2018-10-17":[[2,"v0-0-9-2018-10-17"]],"v0.1.0 - 2018-10-17":[[2,"v0-1-0-2018-10-17"]],"v0.1.1 - 2018-10-17":[[2,"v0-1-1-2018-10-17"]],"v0.1.2 - 2018-10-18":[[2,"v0-1-2-2018-10-18"]],"v0.1.3 - 2018-10-18":[[2,"v0-1-3-2018-10-18"]],"v0.1.4 - 2018-10-19":[[2,"v0-1-4-2018-10-19"]],"v0.1.5 - 2018-10-20":[[2,"v0-1-5-2018-10-20"]],"v0.1.6 - 2018-10-20":[[2,"v0-1-6-2018-10-20"]],"v0.2.0 - 2018-10-22":[[2,"v0-2-0-2018-10-22"]],"v0.2.1 - 2018-10-23":[[2,"v0-2-1-2018-10-23"]],"v0.2.2 - 2018-10-23":[[2,"v0-2-2-2018-10-23"]],"v0.2.3 - 2018-10-24":[[2,"v0-2-3-2018-10-24"]],"v0.3.0 - 2018-10-24":[[2,"v0-3-0-2018-10-24"]],"v0.3.1 - 2018-10-24":[[2,"v0-3-1-2018-10-24"]],"v0.3.2 - 2018-10-25":[[2,"v0-3-2-2018-10-25"]],"v0.3.3 - 2018-10-25":[[2,"v0-3-3-2018-10-25"]],"v1.0.0 - 2018-10-26":[[2,"v1-0-0-2018-10-26"]],"v1.0.1 - 2018-10-26":[[2,"v1-0-1-2018-10-26"]],"v1.0.2 - 2018-10-27":[[2,"v1-0-2-2018-10-27"]],"v1.0.3 - 2018-10-27":[[2,"v1-0-3-2018-10-27"]],"v1.0.4 - 2018-10-27":[[2,"v1-0-4-2018-10-27"]],"v1.0.5- 2018-10-27":[[2,"v1-0-5-2018-10-27"]],"v1.1.0 - 2018-10-27":[[2,"v1-1-0-2018-10-27"]],"v1.1.1 - 2018-10-29":[[2,"v1-1-1-2018-10-29"]],"v1.1.2 - 2018-11-11":[[2,"v1-1-2-2018-11-11"]],"v1.1.3 - 2019-01-12":[[2,"v1-1-3-2019-01-12"]],"v1.2.0 - 2018-12-29":[[2,"v1-2-0-2018-12-29"]],"v1.3.0 - 2019-02-22":[[2,"v1-3-0-2019-02-22"]],"v1.3.1 - 2019-04-28":[[2,"v1-3-1-2019-04-28"]],"v1.3.2 - 2019-08-15":[[2,"v1-3-2-2019-08-15"]],"v2.0.0 - 2019-09-19":[[2,"v2-0-0-2019-09-19"]],"v2.0.1 - 2019-09-20":[[2,"v2-0-1-2019-09-20"]],"v2.0.2 - 2019-09-20":[[2,"v2-0-2-2019-09-20"]],"v2.0.3 - 2019-09-20":[[2,"v2-0-3-2019-09-20"]],"v2.0.4 - 2019-11-19":[[2,"v2-0-4-2019-11-19"]],"v2.0.5 - 2019-12-15":[[2,"v2-0-5-2019-12-15"]],"v3.0.0 - 2026-03-22":[[2,"v3-0-0-2026-03-22"]],"v3.2.0 - 2026-03-22":[[2,"v3-2-0-2026-03-22"]],"v3.3.0 - 2026-03-22":[[2,"v3-3-0-2026-03-22"]],"v3.4.0 - 2026-03-22":[[2,"v3-4-0-2026-03-22"]],"v3.5.0 - 2026-03-24":[[2,"v3-5-0-2026-03-24"]]},"docnames":["api","backlog","changes","cli","deployment","guide-config","index","quickstart","sandbox","testing","tour","tutorial-auth","tutorial-flask","tutorial-middleware","tutorial-rest","tutorial-sqlalchemy","tutorial-websockets"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1},"filenames":["api.rst","backlog.md","changes.md","cli.rst","deployment.rst","guide-config.rst","index.rst","quickstart.rst","sandbox.md","testing.rst","tour.rst","tutorial-auth.rst","tutorial-flask.rst","tutorial-middleware.rst","tutorial-rest.rst","tutorial-sqlalchemy.rst","tutorial-websockets.rst"],"indexentries":{"accepts() (responder.request method)":[[0,"responder.Request.accepts",false]],"add_event_handler() (responder.api method)":[[0,"responder.API.add_event_handler",false]],"add_middleware() (responder.api method)":[[0,"responder.API.add_middleware",false]],"add_route() (responder.api method)":[[0,"responder.API.add_route",false]],"after_request() (responder.api method)":[[0,"responder.API.after_request",false]],"api (class in responder)":[[0,"responder.API",false]],"apparent_encoding (responder.request property)":[[0,"responder.Request.apparent_encoding",false]],"backgroundqueue (class in responder.background)":[[0,"responder.background.BackgroundQueue",false]],"before_request() (responder.api method)":[[0,"responder.API.before_request",false]],"check() (responder.ext.ratelimit.ratelimiter method)":[[0,"responder.ext.ratelimit.RateLimiter.check",false]],"client (responder.request property)":[[0,"responder.Request.client",false]],"content (responder.request property)":[[0,"responder.Request.content",false]],"cookies (responder.request property)":[[0,"responder.Request.cookies",false]],"encoding (responder.request property)":[[0,"responder.Request.encoding",false]],"exception_handler() (responder.api method)":[[0,"responder.API.exception_handler",false]],"file() (responder.response method)":[[0,"responder.Response.file",false]],"full_url (responder.request property)":[[0,"responder.Request.full_url",false]],"get() (responder.models.querydict method)":[[0,"responder.models.QueryDict.get",false]],"get_list() (responder.models.querydict method)":[[0,"responder.models.QueryDict.get_list",false]],"graphql() (responder.api method)":[[0,"responder.API.graphql",false]],"group() (responder.api method)":[[0,"responder.API.group",false]],"headers (responder.request property)":[[0,"responder.Request.headers",false]],"install() (responder.ext.ratelimit.ratelimiter method)":[[0,"responder.ext.ratelimit.RateLimiter.install",false]],"is_100() (in module responder.status_codes)":[[0,"responder.status_codes.is_100",false]],"is_200() (in module responder.status_codes)":[[0,"responder.status_codes.is_200",false]],"is_300() (in module responder.status_codes)":[[0,"responder.status_codes.is_300",false]],"is_400() (in module responder.status_codes)":[[0,"responder.status_codes.is_400",false]],"is_500() (in module responder.status_codes)":[[0,"responder.status_codes.is_500",false]],"is_json (responder.request property)":[[0,"responder.Request.is_json",false]],"is_secure (responder.request property)":[[0,"responder.Request.is_secure",false]],"items() (responder.models.querydict method)":[[0,"responder.models.QueryDict.items",false]],"items_list() (responder.models.querydict method)":[[0,"responder.models.QueryDict.items_list",false]],"media() (responder.request method)":[[0,"responder.Request.media",false]],"method (responder.request property)":[[0,"responder.Request.method",false]],"mimetype (responder.request property)":[[0,"responder.Request.mimetype",false]],"module":[[0,"module-responder",false]],"mount() (responder.api method)":[[0,"responder.API.mount",false]],"ok (responder.response property)":[[0,"responder.Response.ok",false]],"on_event() (responder.api method)":[[0,"responder.API.on_event",false]],"params (responder.request property)":[[0,"responder.Request.params",false]],"path_matches_route() (responder.api method)":[[0,"responder.API.path_matches_route",false]],"path_params (responder.request property)":[[0,"responder.Request.path_params",false]],"querydict (class in responder.models)":[[0,"responder.models.QueryDict",false]],"ratelimiter (class in responder.ext.ratelimit)":[[0,"responder.ext.ratelimit.RateLimiter",false]],"redirect() (responder.api method)":[[0,"responder.API.redirect",false]],"redirect() (responder.response method)":[[0,"responder.Response.redirect",false]],"request (class in responder)":[[0,"responder.Request",false]],"requests (responder.api property)":[[0,"responder.API.requests",false]],"responder":[[0,"module-responder",false]],"response (class in responder)":[[0,"responder.Response",false]],"route() (responder.api method)":[[0,"responder.API.route",false]],"routegroup (class in responder.api)":[[0,"responder.api.RouteGroup",false]],"run() (responder.api method)":[[0,"responder.API.run",false]],"run() (responder.background.backgroundqueue method)":[[0,"responder.background.BackgroundQueue.run",false]],"schema() (responder.api method)":[[0,"responder.API.schema",false]],"serve() (responder.api method)":[[0,"responder.API.serve",false]],"session (responder.request property)":[[0,"responder.Request.session",false]],"session() (responder.api method)":[[0,"responder.API.session",false]],"set_cookie() (responder.response method)":[[0,"responder.Response.set_cookie",false]],"sse() (responder.response method)":[[0,"responder.Response.sse",false]],"state (responder.request property)":[[0,"responder.Request.state",false]],"static_app (responder.api property)":[[0,"responder.API.static_app",false]],"status_code_safe (responder.response property)":[[0,"responder.Response.status_code_safe",false]],"stream() (responder.response method)":[[0,"responder.Response.stream",false]],"stream_file() (responder.response method)":[[0,"responder.Response.stream_file",false]],"task() (responder.background.backgroundqueue method)":[[0,"responder.background.BackgroundQueue.task",false]],"template() (responder.api method)":[[0,"responder.API.template",false]],"template_string() (responder.api method)":[[0,"responder.API.template_string",false]],"text (responder.request property)":[[0,"responder.Request.text",false]],"url (responder.request property)":[[0,"responder.Request.url",false]],"url_for() (responder.api method)":[[0,"responder.API.url_for",false]]},"objects":{"":[[0,0,0,"-","responder"]],"responder":[[0,1,1,"","API"],[0,1,1,"","Request"],[0,1,1,"","Response"]],"responder.API":[[0,2,1,"","add_event_handler"],[0,2,1,"","add_middleware"],[0,2,1,"","add_route"],[0,2,1,"","after_request"],[0,2,1,"","before_request"],[0,2,1,"","exception_handler"],[0,2,1,"","graphql"],[0,2,1,"","group"],[0,2,1,"","mount"],[0,2,1,"","on_event"],[0,2,1,"","path_matches_route"],[0,2,1,"","redirect"],[0,3,1,"","requests"],[0,2,1,"","route"],[0,2,1,"","run"],[0,2,1,"","schema"],[0,2,1,"","serve"],[0,2,1,"","session"],[0,3,1,"","static_app"],[0,2,1,"","template"],[0,2,1,"","template_string"],[0,2,1,"","url_for"]],"responder.Request":[[0,2,1,"","accepts"],[0,3,1,"","apparent_encoding"],[0,3,1,"","client"],[0,3,1,"","content"],[0,3,1,"","cookies"],[0,3,1,"","encoding"],[0,3,1,"","full_url"],[0,3,1,"","headers"],[0,3,1,"","is_json"],[0,3,1,"","is_secure"],[0,2,1,"","media"],[0,3,1,"","method"],[0,3,1,"","mimetype"],[0,3,1,"","params"],[0,3,1,"","path_params"],[0,3,1,"","session"],[0,3,1,"","state"],[0,3,1,"","text"],[0,3,1,"","url"]],"responder.Response":[[0,2,1,"","file"],[0,3,1,"","ok"],[0,2,1,"","redirect"],[0,2,1,"","set_cookie"],[0,2,1,"","sse"],[0,3,1,"","status_code_safe"],[0,2,1,"","stream"],[0,2,1,"","stream_file"]],"responder.api":[[0,1,1,"","RouteGroup"]],"responder.background":[[0,1,1,"","BackgroundQueue"]],"responder.background.BackgroundQueue":[[0,2,1,"","run"],[0,2,1,"","task"]],"responder.ext.ratelimit":[[0,1,1,"","RateLimiter"]],"responder.ext.ratelimit.RateLimiter":[[0,2,1,"","check"],[0,2,1,"","install"]],"responder.models":[[0,1,1,"","QueryDict"]],"responder.models.QueryDict":[[0,2,1,"","get"],[0,2,1,"","get_list"],[0,2,1,"","items"],[0,2,1,"","items_list"]],"responder.status_codes":[[0,4,1,"","is_100"],[0,4,1,"","is_200"],[0,4,1,"","is_300"],[0,4,1,"","is_400"],[0,4,1,"","is_500"]]},"objnames":{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","property","Python property"],"4":["py","function","Python function"]},"objtypes":{"0":"py:module","1":"py:class","2":"py:method","3":"py:property","4":"py:function"},"terms":{"":[0,2,3,4,5,6,7,9,10,11,12,13,15,16],"0":[3,4,5,7,10,14,15],"00":0,"01":0,"0441172719":14,"1":[0,3,4,5,7,10,11,12,14,16],"10":[0,6,7,10],"100":[0,2,10],"127":[3,4,5],"13":4,"14":2,"150mb":4,"1965":14,"2":[4,7,9,10,14,15,16],"200":[0,7,9,10,14],"201":[7,9,12,14,15],"2026":0,"204":[14,15],"24":11,"2xx":0,"3":[4,6,7,9,10,14,16],"3000":5,"301":[0,7],"308":2,"32":5,"3600":[0,10],"3f":13,"4":[4,7],"40":2,"400":[0,2,9,10,14],"401":[0,10,11],"404":[0,7,12,14,15],"41d4":7,"422":[2,9,10,14],"429":[0,10],"446655440000":7,"500":[2,7,9,10,13,14],"5000":10,"5042":[3,4,7,11,14,16],"550e8400":7,"561":2,"60":[0,2,10],"600":[0,10],"7":11,"8":0,"80":4,"8000":[4,7],"8192":0,"9":9,"978":14,"99":9,"A":[0,4,5,6,7,10,13,16],"And":[5,6,7],"As":[0,10],"But":[7,9,10],"By":[3,7,9,10,13,14],"For":[0,3,4,5,7,9,10,11,14,15],"If":[0,3,5,6,7,9,10,12,15],"In":[0,5,6,7,10,11,12,15,16],"It":[0,3,6,9,10,13],"No":[6,9,10,12,14],"Not":7,"On":[5,10],"One":[6,7,9],"Or":[0,5],"That":[4,6,7,9],"The":[2,3,4,5,7,9,10,11,13,14,15,16],"There":[9,10],"These":7,"To":[14,15],"Will":0,"With":[0,5],"__init__":11,"__main__":[4,6,7,9,14,15],"__name__":[4,6,7,9,10,12,14,15],"__tablename__":15,"_route_for":2,"a2wsgi":2,"a716":7,"abc":14,"abc123":[0,9,10,11],"abil":2,"abl":0,"abort":12,"about":[4,7,9,12],"abov":[6,11],"abstract":15,"accept":[0,2,7,9,10,16],"access":[0,2,4,10,11,15],"acm":3,"acquir":8,"across":[2,4,10,15],"activ":[8,16],"actual":[0,7,10],"ad":[0,1,6,10],"adapt":10,"add":[0,1,2,5,7,11,13,14,15,16],"add_event_handl":0,"add_head":[10,13],"add_middlewar":[0,13],"add_request_id":0,"add_rout":[0,10],"add_tim":[9,10],"add_vers":9,"addeventlisten":16,"addit":[0,13],"address":[0,5,7,10],"adher":2,"admin":11,"affect":10,"after":[0,6,7,11,15,16],"after_request":[0,1,2,9,10,13],"ag":[0,10],"again":11,"against":[0,4,10,11],"agre":7,"ahead":2,"ai":10,"aiosqlit":15,"alemb":15,"algorithm":11,"alias":2,"alic":10,"all":[0,2,3,4,6,8,9,10,12,13,15,16],"alloc":9,"allow":[6,10],"allow_credenti":[0,10],"allow_head":[0,10],"allow_method":[0,5,10],"allow_origin":[0,5,10],"allow_origin_regex":0,"allowed_host":[0,5,10],"alongsid":10,"alpin":4,"alreadi":[0,9,10],"also":[0,2,3,7,9,10],"altern":[0,10],"alwai":[4,5,6,7,10],"an":[0,3,5,7,10,12,13,14,15,16],"analysi":10,"angle_bracket":12,"angular":10,"ani":[0,3,4,5,6,7,9,10,11,13,14,15,16],"annot":[2,6,7,10],"annual":[7,10],"answer":[10,16],"anyon":6,"anyth":7,"anywher":[4,10],"api":[2,3,4,5,6,7,10,13,15,16],"api_kei":11,"api_v1":12,"apispec":2,"app":[0,2,3,4,5,6,7,9,12,14,15,16],"appar":0,"apparent_encod":0,"appear":10,"appendchild":16,"appli":[0,13],"applic":[0,2,3,4,5,7,9,10,11,13,14,15],"approach":[5,10,11,12],"appropri":[10,15],"ar":[0,2,3,4,6,7,9,10,11,12,13,15,16],"architectur":10,"aren":[7,13],"arg":[0,12],"argument":[0,2,7,12,13],"around":[0,6],"arriv":[7,12],"asgi":[0,2,4,6,7,10,12,13],"ask":[6,10,16],"assert":[9,16],"asset":[0,4,6,10],"assign":14,"associ":0,"async":[0,1,2,4,6,7,9,10,11,12,13,14,15,16],"async_sess":15,"async_sessionmak":15,"asynccontextmanag":[10,15],"asynchron":[2,4],"asyncio":[2,15],"asyncpg":15,"attach":10,"attack":[4,5,10],"attribut":[0,3,15],"audio":16,"auth":[2,6,10,13],"auth_check":10,"auth_guard":11,"authent":[6,7,10,13,16],"autherror":11,"author":[0,7,8,10,11,13,14,15],"auto":[2,10,16],"auto_escap":0,"autobuild":8,"autoincr":15,"automat":[0,2,4,5,6,7,9,10,11,12,13,14,15],"avail":[0,7],"avoid":[9,10],"aw":4,"await":[0,2,7,9,10,11,12,13,14,15,16],"azur":[3,4],"b":[7,9,13,15,16],"back":[0,7,10,15,16],"background":[2,6],"backgroundqueu":0,"backlog":6,"bad":[9,10,14],"balanc":4,"bandwidth":10,"bar":10,"bare":2,"base":[0,2,6,11,13,15],"base_url":0,"basehttpmiddlewar":13,"basemodel":[0,9,10,14,15],"basic":7,"batteri":6,"battl":6,"bearer":6,"becaus":[0,6,7,11,12,14],"becom":[0,15],"been":0,"befor":[0,2,6,7,11,13,15],"before_request":[0,1,2,9,10,11,12,13,16],"begin":15,"behavior":[5,13],"behind":[4,10],"being":0,"best":6,"better":6,"between":13,"bidirect":[10,16],"big":6,"biggest":12,"bin":8,"binari":[7,10,16],"bind":[0,4,5,7],"blob":3,"block":[0,7,9,10,12,16],"blueprint":6,"bodi":[0,2,7,9,10,12,14,16],"boilerpl":6,"book":[6,15],"book_id":[14,15],"bookin":[14,15],"bookout":15,"books_db":14,"bool":5,"born":6,"both":[6,7,10,12,16],"bottom":14,"box":13,"bp":12,"break":[2,9],"bring":6,"broad":2,"broadcast":16,"broke":[7,9],"broker":7,"browser":[7,8,10,11,14,16],"bucket":[0,10],"buffer":[0,7],"bufix":2,"bug":[2,9],"bugfix":2,"build":[2,4,6,7,8,10,11,15,16],"builder":15,"built":[2,4,6,7,9,10,16],"bump":2,"bypass":4,"byte":[0,2,6,7,13,16],"c":[5,16],"cach":[7,9,10],"caddi":4,"call":[2,3,7,9,10,13,14,16],"call_next":13,"callabl":0,"came":7,"can":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"carri":7,"case":[0,6,7,13],"cat":10,"catalog":14,"catch":[10,11,13],"categori":0,"cd":8,"ceas":2,"celeri":7,"cell":10,"central":[0,7],"certain":0,"certif":4,"chang":[0,15],"changelog":6,"channel":[10,16],"chardet":0,"chat":[2,6,10],"check":[0,8,9,10,11,13,16],"check_api_kei":11,"check_auth":0,"check_exist":[0,10,14,15],"choic":[7,10],"choos":10,"chunk":[0,10],"chunk_siz":0,"ci":2,"circuit":[0,1,2,6,10],"class":[2,6,7,9,11,13,14,15],"clean":[6,10,14],"cleaner":[10,11],"cleanli":5,"cleanup":[2,10],"clear":11,"cli":2,"click":6,"client":[0,2,6,7,9,10,11,14],"clone":8,"close":[9,10,15,16],"close_database_connection_pool":0,"cloud":[3,5,6,7],"cmd":4,"code":[2,3,4,5,6,7,8,9,10,11,14,15,16],"codebas":2,"collabor":[10,16],"colon":3,"column":15,"com":[0,3,5,7,8,10],"combin":7,"come":[7,10,12],"command":[4,6],"commit":[5,15],"common":[3,4,5,7,10,11,12,13,14],"commonli":7,"commun":[10,11],"compact":10,"compat":[0,2],"complement":[1,10],"complet":[7,10,14,16],"complex":[13,15],"compon":13,"compos":15,"comprehens":2,"compress":[6,7,13],"compromis":5,"comput":7,"concept":[2,10,12],"concern":[7,13],"concurr":[0,4],"condit":[9,10],"config":[5,15],"configur":[0,2,4,6,7,9,10,13],"conflict":2,"confus":9,"conn":15,"connect":[0,4,7,9,10,15,16],"consid":[1,7,15],"consist":[7,10],"consol":[10,15],"const":[10,16],"constructor":[0,13],"consum":10,"contact":0,"contain":[0,4,7],"container":4,"content":[0,2,6,7,9,10,14],"content_typ":[0,9,10],"context":[2,6,9,10,15,16],"contextlib":[10,15],"continu":7,"contract":9,"control":[0,4,5,7,10,11,15],"conveni":[0,5,15],"convent":[4,14],"convert":[2,7],"convertor":[2,6,12],"cooki":[0,2,5,6,7,11,12,13],"copi":4,"cor":[0,2,5,6,9,13],"core":[2,4],"coroutin":0,"correctli":4,"correspond":15,"cors_en":5,"cors_origin":5,"cors_param":[0,5,10],"corsmiddlewar":13,"count":2,"cover":[5,11,13],"coverag":2,"cpu":[0,4,7],"crash":2,"creat":[0,6,8,9,10,11,12,15],"create_al":15,"create_asgi_app":10,"create_async_engin":15,"create_book":[14,15],"create_connect":16,"create_item":[0,10,12],"create_pet":10,"create_token":11,"createel":16,"creation":15,"credenti":11,"cross":[10,13],"crud":[6,7,14],"css":10,"csv":10,"curl":[3,7,11,14],"curly_brac":12,"custom":[0,2,6,7,9,14,16],"cut":13,"cycl":7,"d":[7,9,14],"dashboard":[5,10,11,16],"data":[0,2,5,6,7,9,10,11,12,14,15],"databas":[5,6,7,9,10,11,14],"database_url":[5,15],"date":0,"datetim":11,"db":[5,15],"debug":[0,2,6,10,12],"decim":7,"declar":[2,7],"declarativebas":15,"decod":[2,10,11],"decor":[0,2,7,10],"deep":6,"def":[0,6,7,9,10,11,12,13,14,15,16],"def456":11,"default":[0,1,2,3,5,7,9,10,15],"default_valu":[0,10],"defend":10,"defin":[0,6,7,10,11],"definit":0,"del":14,"delet":[5,6,7,10,15],"delete_book":[14,15],"deliber":7,"demo":3,"denpend":2,"dep":2,"depend":[2,4,9,13],"deploi":[4,6],"deploy":[2,6],"depth":10,"describ":10,"descript":[0,10],"design":[7,10,14],"detail":[4,5,10,14],"detect":[0,6,10],"dev":[2,5],"develop":[3,4,5,10,15],"devic":10,"dict":[6,7,10,11,14,15],"dictionari":0,"differ":[0,3,5,6,9,10,15],"digit":7,"direct":[0,2,10],"directli":[3,6,7,9,14,15],"directori":[0,7,10],"disabl":[9,15],"discard":16,"disconnect":16,"disk":[0,7,10],"dispatch":[2,10,13],"dispos":15,"distribut":[4,10],"div":16,"django":[6,10],"do":[4,5,7,10],"doc":[2,8,9,10,11,14],"docker":[5,6],"dockerfil":4,"docs_rout":[0,10,14],"docstr":[2,10],"doctyp":16,"document":[0,2,4,6,8,14,16],"doe":15,"doesn":[0,10,14,15],"domain":[0,5,10],"don":[5,7,9,10,11,12,15],"done":4,"dot":3,"dotenv":5,"doubl":14,"down":[10,15],"download":10,"dramat":2,"driver":15,"drop":[2,16],"dump":2,"dune":14,"duplex":10,"duplic":10,"durat":13,"dure":[3,4,9,15],"duti":14,"dynam":7,"e":[0,16],"e29b":7,"each":[0,4,9,10,15],"easi":[3,5,7],"echo":[6,7,15],"ecosystem":[6,7],"edit":8,"editor":[10,16],"effect":[9,14],"effici":4,"either":[0,16],"element":[0,10],"els":[7,10,11,12,15],"email":7,"emb":10,"empti":[0,14],"enabl":[2,10,13,14],"enable_async":7,"enable_hst":[0,10,13],"encod":[0,2,11],"encrypt":11,"end":[7,14],"endpoint":[0,2,6,9,10,11,12,14],"enforc":10,"engin":[7,15],"enough":[4,13],"ensur":[10,14,15,16],"enter":[9,16],"entir":[0,10,11,13,14],"entri":14,"env":[4,6],"environ":[0,3,4,6,7],"eol":2,"equival":12,"error":[0,2,5,6,15],"errorhandl":12,"escap":0,"essenti":10,"establish":16,"etc":[7,9,10],"even":[3,4,10,16],"event":[0,2,6,7,12,16],"event_typ":0,"eventsourc":10,"ever":[5,6],"everi":[0,4,5,6,7,9,10,11,13,14,15],"everyth":[0,2,4,7,10,12,14,15,16],"everywher":[3,5],"evolv":15,"exact":2,"exactli":[9,10],"exampl":[0,2,3,5,7,10,11],"exc":[0,9,10,11,14],"exceed":[0,10],"except":[0,2,6,9,10,13,16],"exception_cl":0,"exception_handl":[0,2,9,10,11,12,14],"exceptionmiddlewar":13,"execut":15,"exist":[0,2,6,12,13],"exit":[9,10,16],"exp":11,"expand":2,"expect":7,"expir":[0,10,11],"expire_on_commit":15,"explain":10,"explan":0,"explicit":[7,10,12],"explicitli":[10,12],"explor":[1,7,10],"export":[5,10],"expos":[4,5],"expose_head":0,"express":[6,7],"ext":[0,2,10,15],"extens":[2,7],"extern":7,"extra":[2,4,10],"extract":0,"extrem":7,"f":[0,6,7,9,10,11,13,14,16],"factori":15,"fail":[9,10,15],"failur":[2,9],"falcon":[6,10],"fall":0,"fals":[0,5,9,10,14,15],"familiar":[6,12],"fast":[4,6,7,9],"fastapi":6,"faster":10,"featur":[0,6,7],"feed":10,"feel":6,"fetch":3,"few":12,"fido":10,"field":[0,2,9,10,14],"figur":7,"file":[0,2,4,6,7,14,15,16],"filenam":[0,9],"filepath":7,"filesystem":[2,3],"fill":7,"filter":[6,7],"final":16,"find":[3,10,12],"fine":[4,10,15],"fire":[0,9],"first":[0,10,11,13,14,15],"fit":6,"fix":8,"fixtur":6,"flag":[4,10,15],"flask":[2,6,10],"flask_app":[10,12],"flatten":2,"float":[0,7,9],"flow":[11,13],"fly":4,"fmt":2,"follow":7,"font":10,"forg":[5,10],"forget":0,"form":[0,7,11,12],"format":[0,2,6,7,8,10,11],"formerli":10,"forward":[4,10],"found":[2,7,14,15],"foundat":10,"fragment":3,"framework":[6,10],"franca":7,"frank":14,"free":2,"freeli":16,"fresh":9,"from":[0,2,4,5,6,7,9,10,11,13,14,15,16],"from_attribut":15,"front":4,"frontend":[6,10],"fsspec":3,"full":[0,2,3,7,10],"full_url":[0,7,10],"fulli":7,"fun":6,"func":0,"function":[0,7,10,12,13],"futur":[0,2,6],"g":0,"game":[10,16],"gatewai":4,"gener":[0,2,5,6,9,10,13,14],"get":[0,2,5,7,10,11,15],"get_book":[14,15],"get_list":0,"get_m":11,"get_us":[0,10,12],"getelementbyid":16,"getenv":5,"git":[5,8],"github":[2,3,8],"gitignor":5,"give":[0,9,10,13,15],"given":[0,9],"global":[12,14],"gmt":0,"go":[7,12],"goe":[10,12],"good":[4,6,10],"googl":[3,4],"grace":4,"grade":7,"gradual":[6,10],"graduat":13,"grain":15,"graphen":[0,2,6,10],"graphiql":[2,6,10],"graphql":[0,2,6],"great":[3,6,10],"greet":[6,7,10],"greet_world":6,"greetingresourc":10,"group":[2,6],"grow":10,"guard":[6,11],"guid":[2,5,7,11,12,15],"guido":7,"gzip":[6,7],"gzipmiddlewar":13,"h":[7,11,14],"h1":[7,11],"ha":[7,9,12,14,16],"half":7,"halv":10,"hand":0,"handl":[0,2,4,5,6,7,11,16],"handle_auth_error":11,"handle_value_error":[0,10,14],"handler":[0,6,9,10,11,13,14],"handshak":16,"happen":[6,7],"hard":9,"hasn":0,"have":[0,2,3,7,9,12,13,14],"hdf":3,"head":3,"header":[0,2,4,5,6,7,10,11,12,13,16],"health":11,"heavi":7,"hello":[0,3,6,9,10,12,16],"hello_html":7,"hello_json":7,"hello_to":7,"hello_world":7,"helloworld":3,"help":[0,15],"helper":[6,11],"herbert":14,"here":[4,5,7,10,12,16],"high":[4,10],"hold":[0,6,7],"home":6,"homepag":2,"honor":[4,7],"hood":10,"hook":[0,1,2,6,7,11],"host":[0,2,4,6,7,13],"hostnam":10,"hour":[10,11],"how":[5,6,7,10,11,12,14,15],"hs256":11,"hst":6,"html":[0,2,6,7,10,11,12],"http":[0,2,3,4,5,6,7,8,9,10,11,14,16],"httponli":[0,10],"httpsredirect":0,"httpsredirectmiddlewar":[0,4,13],"httpx":[2,9],"i":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"id":[0,2,6,7,12,13,14,15,16],"idea":12,"idempot":14,"ident":12,"identifi":10,"imag":[4,7,10,16],"immedi":[0,6,7,10],"immut":2,"imperson":5,"implement":9,"import":[0,2,3,5,6,7,9,10,11,12,13,14,15,16],"improv":2,"inaccess":0,"includ":[3,4,6,7,8,9,10,11,14],"incom":[0,7,14],"incredibli":10,"independ":4,"index":[0,7,10,16],"individu":10,"industri":10,"info":[0,2,10],"inform":[0,14],"infrastructur":[4,6],"inherit":[0,10],"initi":[0,9],"inject":10,"innermost":13,"input":[2,9,10,14,16],"insensit":[0,6,7],"insid":13,"inspect":[0,2],"instal":[0,2,3,4,5,8,10,11,16],"instanc":[0,4,6,7,9],"instant":7,"instead":[0,7,9,10,13,14,15,16],"int":[0,2,7,10,11,12,14,15],"integ":[0,7,14,15],"integr":[13,14,15],"intens":7,"intent":6,"intention":10,"interact":[2,10,14],"interfac":[2,4,6,7,12],"intern":[9,10,13],"invalid":[5,9,10,11],"invalidtokenerror":11,"involv":0,"io":4,"iot":10,"ip":[0,7,10],"is_100":0,"is_200":0,"is_300":0,"is_400":0,"is_500":0,"is_class_bas":2,"is_json":[0,2,7],"is_secur":[0,7],"isbn":[14,15],"iscoroutinefunct":2,"isn":[7,10,12],"issu":[2,11],"item":[0,9,10,12,15],"itemin":0,"itemout":0,"items_list":0,"iter":16,"its":[0,2,4,14,15],"itself":11,"j":10,"jan":0,"javascript":[0,3,10],"jinja2":[0,7,12],"jpeg":10,"jpg":10,"json":[0,3,6,7,10,11,14,16],"jsonifi":12,"jump":7,"just":[4,9,10,13,15,16],"jwt":11,"keep":[2,5,7,9,10,13,15,16],"kei":[0,6,7,9,10,12,15,16],"kennethreitz":[3,8],"keypress":16,"keyword":[0,7,12,13],"know":[5,7],"known":[0,11],"kwarg":0,"languag":10,"larg":[0,2,10],"larger":[5,9,13],"last":[0,13],"later":[7,9],"launch":[4,6],"layer":13,"lazi":2,"lazili":0,"lead":9,"learn":10,"legaci":12,"less":10,"let":[3,4,7,10,14,15],"level":[4,13],"librari":[9,10,16],"licens":0,"lifecycl":16,"lifespan":[0,2,6,14],"lift":7,"lightn":4,"lightweight":7,"like":[4,7,9,10,11,13,14,16],"limit":[1,2,4,6,13,15,16],"line":[6,7],"liner":2,"lingua":7,"list":[0,6,7,9,10,15],"list_book":[14,15],"list_item":10,"list_pet":10,"list_us":[0,10,12],"list_users_v2":10,"live":[10,16],"ll":[6,7,10,12,14,15],"load":[0,2,3,4,5,7,10],"load_dotenv":5,"local":[3,5,6,12],"localhost":[5,7,11,14,15,16],"locat":[0,7,11,12],"log":[4,10,11,13],"log_level":2,"log_request":13,"log_respons":10,"logic":[6,7,10],"login":[10,11],"logout":11,"long":7,"look":[3,6,7],"loop":[7,12,16],"lose":[2,15],"lower":[0,5],"lowercas":7,"machin":10,"made":[0,6],"magic":12,"mai":4,"main":3,"make":[4,5,7,9,10,11,12],"malici":10,"manag":[2,5,6,9,10,11,13,15,16],"mani":[0,4,7,10],"manual":0,"map":[2,7,10,12,15],"mapper":15,"marimo":[2,10],"mark":[2,10],"marker":2,"marshmallow":[0,2,10],"match":[0,5,7,10,14],"matter":10,"max_ag":[0,10],"maximum":0,"me":11,"mean":[4,7,12],"mechan":10,"media":[0,2,6,7,9,10,11,12,14,15],"memori":[0,2,6,7,10],"messag":[0,7,10,11,16],"messagepack":[2,6],"metadata":[0,7,15],"method":[0,6,7,9,11,12,13,14,15,16],"microservic":10,"middelwar":0,"middlewar":[0,1,2,6,7,10],"middleware_cl":0,"middleware_config":0,"might":7,"migrat":[2,6,10,15],"mime":0,"mimetyp":[0,7,10],"min":[0,10],"mind":13,"minim":[4,16],"minimum":2,"minor":2,"miss":[2,9,10,11],"mix":10,"ml":10,"mode":[0,6,8],"model":[0,2,6,9,10],"model_dump":15,"model_valid":15,"modern":[4,10,11,12,15],"modifi":[0,10,13,14,15],"modul":[0,2,6,7,10],"more":[0,3,4,7,10,11,12,13,14,16],"most":[0,3,4,5,7,9,10,11,13,15],"mount":[0,2,6,12],"move":[2,7,10,12],"msgpack":[2,10],"much":[7,10],"multi":0,"multipart":[2,7],"multipl":[2,4,10,14],"multiplay":[10,16],"must":[0,7,10,11,14,16],"mutabl":6,"mutat":[0,7,12],"my_templ":7,"myapi":4,"myapp":3,"mydb":15,"mysql":15,"n":[0,7],"name":[0,5,6,7,9,10,12],"namespac":2,"narrow":2,"nativ":12,"natur":[9,15],"nearli":12,"need":[4,5,6,7,9,10,11,12,13,15,16],"negoti":[0,6,7,9,10],"nervou":7,"network":9,"never":[5,10,11,14],"new":[0,7,9,10,12,14,16],"new_endpoint":12,"next":[6,13],"next_id":14,"nginx":4,"non":7,"none":[0,2,11,14,15],"normal":[10,16],"notabl":2,"notasecret":0,"note":[7,10,12,14],"notebook":[2,10],"notic":7,"notif":10,"now":[2,7,10,11,15,16],"npm":3,"nullabl":15,"number":[0,7],"o":[0,5,7,12],"object":[0,2,7,10,12,13,15,16],"objecttyp":[0,10],"obviou":9,"off":[5,7],"offload":4,"offset":15,"often":[3,7,10],"ok":[0,7,9,14],"old":12,"on_delet":10,"on_ev":[0,9,10],"on_get":[6,10],"on_post":[6,10],"on_put":10,"on_request":[6,10],"on_startup":9,"onc":[10,12,14],"one":[0,2,5,6,7,10,12,15],"ones":[6,7,10],"onion":13,"onli":[0,5,7,10,12,14],"onmessag":[10,16],"open":[2,7,8,15],"open_database_connection_pool":0,"openapi":[0,2,6,14],"openapi_rout":0,"openapi_them":0,"oper":[7,10,12,14],"opt":10,"option":[0,2,4,6,7,13],"option1":13,"option2":13,"order":[0,6],"order_bi":15,"organ":[0,5,9,10,12],"origin":10,"orm":15,"other":[0,2,6,7,15],"otherwis":[0,10],"our":14,"out":[5,6,7,13],"outermost":13,"outgo":7,"output":14,"outsid":13,"over":[0,6,7,10,12,15],"overal":2,"overhead":9,"overrid":[0,10],"overwhelm":10,"own":[4,10,15],"p":[4,11,16],"pace":10,"packag":[2,3,4],"page":[0,2,5,7,10,11,16],"pagin":7,"painless":9,"pair":0,"param":[0,2,6,7,12],"paramet":[0,6,9,10,14],"parameter":0,"pars":[0,2,7,9,10],"parser":2,"part":[2,6,7,10],"parti":6,"pass":[0,7,9,12,13,15,16],"passion":6,"password":11,"patch":[7,10],"path":[0,2,3,6,7,9,10,11,13],"path_matches_rout":0,"path_param":[0,2,7],"pattern":[4,6,7,10,11,12,14,15],"payload":11,"pdf":[7,9,10],"pep":2,"per":[0,4,9,10],"perfect":10,"period":[0,2,10],"perman":7,"permit":10,"persist":[0,10,16],"person":6,"pet":[0,10],"petin":10,"petout":10,"petschema":[0,10],"photo":10,"piec":10,"pin":2,"pip":[2,3,4,5,6,8,11,15,16],"place":[5,10],"placehold":[7,16],"plain":[0,7,10,16],"platform":[2,5,6,7],"pleasant":6,"plot":10,"plu":15,"plugin":2,"poethepoet":2,"point":[3,4,14],"polici":10,"pool":[0,6,7,10,12,15],"popular":[7,10,15],"port":[0,4,5,7,9],"portion":0,"possibl":7,"post":[0,5,7,9,10,11,12,14,15],"postgresql":6,"potenti":2,"power":[6,9,10,13,15,16],"practic":10,"prefer":10,"prefix":[0,2,10],"present":7,"prevent":[5,10],"price":[0,9],"primari":0,"primary_kei":15,"print":[0,5,10,13,15,16],"privat":10,"proce":16,"process":[4,6,7,9,10,13],"process_data":7,"prod":5,"produc":[0,7],"product":[2,3,4,5,6,7,9,10,11,15],"profil":10,"programmat":10,"progress":10,"project":[2,3,8],"propag":9,"proper":[7,11,15],"properli":[2,5,9,15],"properti":[0,2,7,9],"prose":2,"protect":[4,11],"proto":4,"protocol":[3,7,9,10,16],"prototyp":[2,3,6],"provid":0,"proxi":6,"public":[0,6,10],"public_path":11,"push":[4,6,10],"put":[6,10,14,15],"py":[2,3,4,5,7,9,10,14,15],"pydant":[0,2,9,10,14,15],"pyjwt":11,"pypi":2,"pyproject":2,"pytest":[6,8,9],"python":[0,2,3,4,5,6,7,10,14,15,16],"pythonpath":3,"q":[7,12],"queri":[2,6,7,10,15,16],"query_str":0,"querydict":0,"queue":[6,7],"quick":[0,3,6],"r":[7,9],"race":9,"railwai":4,"rais":[0,2,9,10,11],"raise_server_except":9,"random":[0,5],"rang":[0,7,10],"rapidoc":[0,10],"rare":7,"rate":[1,2,4,6,13],"rate_limit":0,"ratelimit":[0,2,10,13],"rather":9,"raw":[0,3,6,7,10,13,15,16],"re":[0,4,7,9,10,12,13,14,16],"reach":[11,13],"react":[2,10],"reactiv":10,"read":[0,2,5,6,10,11,12,14,15],"readabl":10,"readi":[4,5,6,7],"real":[2,5,10,11,14,15],"realli":[9,10],"receiv":[0,6,7,9,10,11,13,16],"receive_byt":[10,16],"receive_incom":7,"receive_json":[10,16],"receive_text":[9,10,16],"recommend":10,"reconnect":10,"recv":16,"redirect":[0,2,7,11,12],"redoc":[0,10],"reduc":2,"ref":3,"refactor":[2,9],"refer":[2,6,9],"refresh":15,"refus":10,"regist":[0,9,10,11],"register_blueprint":12,"reject":[9,10],"relat":[0,10,15],"releas":8,"reliabl":9,"remain":10,"rememb":11,"remov":[10,12,14,16],"renam":9,"render":[0,1,4,6,10],"render_async":7,"render_templ":12,"replac":[2,7,10,14],"report":[7,9,10],"repres":0,"represent":0,"req":[0,2,6,7,9,10,11,12,13,14,15,16],"request":[2,3,4,6,11,12,13,14,15],"request_id":[0,2,10,13],"request_model":[0,2,9,10,14,15],"requir":[0,2,9,10],"research":6,"resolv":[2,10],"resolve_hello":[0,10],"resourc":[7,10,14],"resp":[0,2,6,7,9,10,11,12,13,14,15,16],"respect":3,"respond":[0,2,3,4,5,7,8,9,10,11,12,13,14,15,16],"respons":[2,6,9,10,12,13,14,15,16],"response_model":[0,2,10,14,15],"rest":[2,4,6,7,10],"restrict":10,"result":[0,2,7,10,15],"resum":2,"resume_incomplet":2,"retri":[0,10],"retriev":[0,10,14],"return":[0,2,6,7,9,10,11,12,13,14,15],"reusabl":11,"revers":[0,6],"rework":2,"rewrit":2,"rewrot":2,"rfc3986":2,"right":[6,7,10,12,13],"roll":15,"room":6,"root":[2,10],"rotat":5,"rout":[2,6,9,13,14,15,16],"routegroup":0,"router":2,"rst":2,"ruff":[2,8],"rule":5,"run":[0,2,3,6,8,9,10,12,13,16],"run_sync":15,"runner":[2,4],"runtimeerror":0,"s3":3,"safe":[2,14],"sai":7,"said":4,"same":[3,4,6,7,10,12,14,15],"sandbox":6,"save":[7,16],"scalar":15,"scale":6,"schema":[0,2,6,10,11,14,15],"scope":[0,10,13],"scratch":[6,14],"script":16,"search":[0,2,7,10],"second":0,"secret":[6,10,11],"secret_kei":[0,5,10,11],"section":10,"secur":[0,10,13],"see":[0,4,5,7,9,10,13,14,15],"select":[0,2,15],"self":[0,10,11,13],"semant":2,"send":[0,2,6,9,10,11,14,16],"send_byt":[10,16],"send_email":0,"send_json":[10,16],"send_text":[9,10,16],"sensit":11,"sent":[0,2,6,7,13],"separ":[7,9,14],"sequenti":2,"serial":[0,2,7,10,16],"serializ":7,"serv":[0,2,3,4,5,6,7,9,14,16],"server":[0,2,3,4,5,6,9,11,13,14,15],"servererrormiddlewar":13,"servestat":2,"servic":[0,3,6,9,10,14],"session":[0,2,5,6,7,9,12,13,15],"session_id":10,"sessionmiddlewar":13,"set":[0,2,4,5,6,7,8,9,10,11,15,16],"set_cooki":[0,2,10],"set_text":0,"setattr":15,"setup":[2,5,6,9],"sever":[10,13],"sftp":3,"share":[0,3,7,9,10,15],"shell":5,"short":[0,1,2,6,10],"shorthand":0,"should":[5,14,15],"shouldn":0,"show":[2,10,12,15,16],"shut":[10,15],"shutdown":[0,4,6,9,10],"shutdwown":2,"sibl":6,"side":[7,10,11,16],"sign":[0,5,6,7,10,11,13],"signatur":[7,10,12],"signup":11,"simpl":[3,9,10,11,13,14,16],"simplecooki":0,"simpler":[7,10,11,13],"simplest":[5,7,11,13,16],"simpli":11,"simplic":[6,15],"simul":7,"sinc":[7,9],"singl":[0,2,3,6,7,10,12,15],"sit":13,"size":[0,15],"sk":11,"skip":[0,6,10],"slash":7,"sleep":[7,9],"slim":4,"slow":7,"slowlori":4,"slug":7,"small":[4,6,9,10],"smaller":4,"so":[9,10,12,13,14,15],"solv":10,"some":[4,5,10],"some_packag":13,"somemiddlewar":13,"someon":[5,7,10,16],"someth":[6,7,9,10],"sometim":[7,10],"somewher":7,"sourc":[0,5,8,10],"spawn":4,"spec":[7,10],"special":[6,10],"specif":[0,2,5,9,10,13,14],"specifi":3,"sphinx":8,"spin":7,"split":5,"sprawl":6,"sql":15,"sqlalchemi":[2,6,7,14],"sqlite":[5,15],"sse":[0,2,6],"ssl":4,"stabil":2,"stack":13,"stai":[12,15],"standard":[3,4,10,11,14],"starlett":[0,2,6,9,16],"start":[0,3,4,6,10,13,14,15],"startswith":11,"startup":[0,2,6,9,10],"state":[0,2,9,10,11],"statement":6,"static":[0,2,4,6,7,16],"static_app":0,"static_dir":[0,10],"static_rout":[0,2,10],"staticfil":0,"statu":[2,6,7,9,10,14],"status_cod":[0,6,7,9,10,11,12,13,14,15],"status_code_saf":0,"stderr":0,"stdlib":2,"still":[10,12],"stop":10,"storag":[3,6],"store":[0,5,10,11,14],"str":[0,7,9,10,11,14,15],"straightforward":10,"stranger":[0,10],"stream":[0,2,10],"stream_data":0,"stream_fil":[0,2,10],"strict":10,"string":[0,6,7,10,15,16],"strip":[2,10,11],"structur":10,"style":10,"stylesheet":10,"sub":11,"subclass":0,"subcommand":3,"subject":0,"submiss":0,"submit":0,"subrout":[6,10,12],"subsequ":[10,11],"subtl":2,"success":[0,7,14],"successfulli":14,"successor":4,"suit":9,"suppli":2,"support":[0,1,2,3,4,6,7,12,15,16],"swagger":[6,10,14],"swagger_ui":[0,10],"switch":[2,15,16],"sync":[2,6,7,12],"synchron":[0,12],"syntax":[2,6,7,12],"system":[3,7,10],"t":[0,4,5,7,9,10,11,12,13,14,15],"tabl":15,"take":[6,7],"tamper":[10,11],"target":2,"task":[0,2,6],"teach":6,"tear":10,"tell":[7,10,14,15],"templat":[0,1,2,6],"template_str":[0,7],"templates_dir":0,"termin":[3,4],"terms_of_servic":0,"test":[0,2,3,5,6,8,14],"test_500":[2,9],"test_api":9,"test_create_item":9,"test_custom_error":9,"test_echo":16,"test_head":9,"test_hello":9,"test_hook":9,"test_json":9,"test_upload":9,"test_valid":9,"test_websocket":9,"test_with_lifespan":9,"testclient":[0,2,9,16],"text":[0,2,6,7,9,10,12,16],"textcont":16,"than":[9,10,11,12,13,14],"thei":[0,5,7,10,12,13,14,16],"them":[6,7,9,10,11,12,14,16],"theme":[0,10],"themselv":10,"thi":[0,2,3,4,5,6,7,9,10,11,12,13,14,15,16],"thing":[5,6,7,9,13],"think":7,"third":6,"though":4,"thousand":4,"thread":[0,2,6,7,12],"threadpoolexecutor":[0,2],"three":[7,10,16],"through":[0,7,10,13,14,16],"throughput":10,"thu":0,"time":[0,2,6,7,9,10,12,13,14,15,16],"time_start":0,"timedelta":11,"timeout":4,"timingmiddlewar":13,"tip":[2,6],"titl":[0,2,7,10,14,15],"tl":4,"togeth":[6,10],"token":[0,6,7,10,16],"token_hex":5,"toml":2,"too":[0,3,4,9,10],"tool":[8,13],"toolbelt":2,"toolkit":15,"top":[0,5],"total":10,"tour":[0,6,7],"trace":10,"traceback":[0,2,5,10],"track":15,"tradit":[10,11],"traffic":4,"transact":15,"transform":13,"translat":12,"transport":10,"treat":[0,10],"trick":10,"trigger":9,"true":[0,2,5,7,9,10,11,12,13,15,16],"trust":[2,6],"trustedhostmiddlewar":[4,13],"try":[6,7,11,16],"tupl":[0,7,9],"tutori":[2,7,14],"two":[7,10,13],"type":[0,2,6,10,12,14,16],"typic":[7,10],"typo":[2,10],"ui":[2,6,10,14],"unauthor":[0,10,11],"under":[0,7,10,12],"underlin":2,"understand":[6,7],"unexpectedli":16,"unhandl":13,"unicod":0,"union":2,"uniqu":10,"unit":15,"univers":5,"unknown":0,"unless":10,"unlik":10,"unmaintain":2,"unmatch":10,"unpin":2,"unrecogn":10,"until":7,"up":[0,2,7,8,10],"updat":[2,6,7,10,15,16],"update_book":[14,15],"upgrad":[2,8,10,16],"upload":[2,6,7],"url":[0,2,5,6,7,9,10,11,12,13,15],"url_for":[0,2,9],"url_prefix":12,"urllib":2,"us":[0,2,3,4,6,7,10,12,14,16],"usag":[0,2],"user":[0,5,7,10,11,12,15],"user_id":[7,10,11,12],"usernam":[10,11],"usual":9,"utcnow":11,"utf":0,"uuid":[0,2,7,10],"uuid4":0,"uv":[3,5,6,8,11,15],"uvicorn":[0,2,6,7],"uvloop":4,"v":6,"v1":[0,10],"v2":10,"valid":[0,2,6,7,10,11,13,14,15],"valu":[0,6,7,9,10,11,12,13,14,15,16],"valueerror":[0,9,10,12,14],"variabl":[0,4,6,7],"ve":[6,9,12],"venv":8,"verb":10,"veri":[0,7,15],"verifi":[9,11],"verify_token":11,"version":[0,2,9,10,14],"via":[0,2,5,10,12],"view":[0,2,6,7,9,12],"virtual":[3,4],"virtualenv":8,"visit":[10,14],"vue":10,"w":[9,10,16],"wa":[0,2,7,14],"wai":[3,4,6,7,10,11,12,13,15],"wait":12,"walk":[7,10,14],"want":[0,3,4,6,7,9,10,14,15,16],"warn":2,"watch":8,"we":[14,15,16],"web":[0,4,6,10,15],"websit":10,"websocket":[0,1,2,4,6],"websocket_connect":[9,16],"welcom":[6,7,11],"well":6,"went":6,"werkzeug":2,"what":[0,7,9,10,16],"whatev":7,"when":[0,2,4,5,6,7,9,10,12,14,15,16],"where":[0,4,7,10,15,16],"whether":[0,7],"which":[0,2,7,9,10,12,15],"whichev":6,"while":[7,10,12,16],"whitenois":2,"who":[6,7,11],"widget":[9,10],"wildcard":10,"window":2,"wire":7,"with_app":10,"within":[2,10,15],"without":[0,2,4,7,9,10,15],"won":[7,9,10,15],"work":[3,4,5,6,7,10,13,14,15],"workdir":4,"worker":4,"world":[0,3,6,9,10,12],"worri":9,"would":9,"wrap":[0,7,9,10,13],"write":[6,7,10,12],"wrong":10,"ws_auth":16,"wsgi":[0,2,4,6,10,12],"www":5,"x":[0,4,7,9,10,11,12,13,14],"x00":16,"x01":16,"x02":16,"x89png":7,"xml":0,"xss":10,"yaml":[0,2,6,7,9,10],"year":[14,15],"yield":[0,10,15],"yml":[0,10,11],"you":[0,3,4,5,7,9,10,11,12,13,14,15,16],"your":[0,3,4,5,6,7,9,10,11,12,13],"yourself":7,"zero":4},"titles":["API Reference","Backlog","Changelog","Command Line Interface","Deployment","Configuration","Responder","Quick Start","Development Sandbox","Testing","Feature Tour","Authentication","Migrating from Flask","Writing Middleware","Building a REST API","Using SQLAlchemy","WebSocket Tutorial"],"titleterms":{"":14,"0":2,"01":2,"02":2,"03":2,"04":2,"08":2,"09":2,"1":2,"10":2,"11":2,"12":2,"13":2,"15":2,"16":2,"17":2,"18":2,"19":2,"2":2,"20":2,"2018":2,"2019":2,"2026":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"In":14,"It":[5,7,14,15],"The":[0,6,12],"ad":[2,13],"after":[9,10],"all":[5,7,14],"allow":5,"api":[0,9,11,12,14],"app":[10,11],"asset":3,"auth":11,"authent":11,"background":[0,7],"backlog":1,"base":10,"bearer":11,"befor":[9,10,16],"big":12,"blueprint":12,"book":14,"build":[3,14],"built":13,"chang":2,"changelog":2,"chat":16,"class":[0,5,10],"client":16,"cloud":4,"code":0,"command":3,"configur":5,"convertor":7,"cooki":[9,10],"cor":10,"creat":[7,14],"crud":15,"custom":[3,10,11],"data":16,"databas":15,"debug":5,"defin":[14,15],"delet":14,"deploy":4,"deprec":2,"develop":8,"dict":0,"differ":12,"directli":4,"docker":4,"document":10,"echo":16,"endpoint":15,"env":5,"environ":5,"error":[9,10,11,14],"event":[9,10],"except":11,"featur":10,"file":[3,5,9,10],"filter":10,"fix":2,"fixtur":9,"flask":12,"format":16,"from":[3,12],"frontend":3,"futur":1,"get":[6,9,14],"gradual":12,"graphql":10,"group":[0,10,12],"guid":6,"handl":[9,10,14],"header":9,"hello":7,"helper":0,"hook":[9,10,13,16],"host":[5,10],"how":16,"hst":10,"html":16,"id":10,"idea":[1,6],"instal":[6,15],"instanc":3,"interfac":3,"json":[9,12],"kei":[5,11],"launch":3,"lifespan":[9,10,15],"limit":[0,10],"line":3,"list":14,"local":4,"memori":14,"messagepack":10,"method":10,"middlewar":13,"migrat":12,"mode":5,"model":[14,15],"modul":3,"mount":10,"name":3,"next":14,"openapi":10,"oper":8,"order":13,"other":10,"out":14,"paramet":[7,12],"parti":13,"pattern":5,"platform":4,"postgresql":15,"project":[6,14],"proxi":4,"public":11,"put":[5,7],"queri":0,"queue":0,"quick":[7,12],"rate":[0,10],"read":7,"refer":[0,12],"remov":2,"render":7,"request":[0,7,9,10,16],"respond":6,"respons":[0,7],"rest":14,"revers":4,"room":16,"rout":[0,7,10,11,12],"run":[4,7,14,15],"sandbox":8,"secret":5,"send":7,"sent":10,"serv":10,"server":[7,10,16],"servic":7,"session":[10,11],"setup":[8,14,15],"shutdown":15,"singl":14,"skip":11,"sqlalchemi":15,"sse":10,"starlett":13,"start":[7,9],"startup":15,"static":10,"statu":0,"storag":14,"support":10,"task":7,"templat":[7,12],"test":[9,16],"third":13,"tip":[9,15],"togeth":[5,7],"token":11,"tour":10,"trust":10,"try":14,"tutori":[6,16],"type":7,"unreleas":2,"updat":14,"upload":9,"url":3,"us":[5,9,11,13,15],"user":6,"uvicorn":4,"v":13,"v0":2,"v1":2,"v2":2,"v3":2,"valid":9,"variabl":5,"view":10,"web":[7,11],"websocket":[9,10,16],"what":[6,13,14],"when":13,"work":16,"world":7,"write":13,"you":6,"your":[14,15]}}) \ No newline at end of file