diff --git a/.doctrees/backlog.doctree b/.doctrees/backlog.doctree index 0c0e62d..cca5938 100644 Binary files a/.doctrees/backlog.doctree and b/.doctrees/backlog.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index d50e48f..adb3c69 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/_sources/backlog.md.txt b/_sources/backlog.md.txt index 7dfd145..f8c49a0 100644 --- a/_sources/backlog.md.txt +++ b/_sources/backlog.md.txt @@ -5,4 +5,4 @@ - Per-route rate limiting (different limits for different endpoints) - Built-in structured logging with request context - OpenAPI 3.1 support -- HTTP/2 server push +- Dependency injection for route handlers diff --git a/backlog.html b/backlog.html index 646eef9..947907a 100644 --- a/backlog.html +++ b/backlog.html @@ -48,7 +48,7 @@
  • Per-route rate limiting (different limits for different endpoints)

  • Built-in structured logging with request context

  • OpenAPI 3.1 support

  • -
  • HTTP/2 server push

  • +
  • Dependency injection for route handlers

  • diff --git a/searchindex.js b/searchindex.js index 2fddd87..e94f2d9 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"]],"Choosing an Auth Strategy":[[11,"choosing-an-auth-strategy"]],"Class-Based Views":[[10,"class-based-views"]],"Cloud Platforms":[[4,"cloud-platforms"]],"Code Formatting":[[8,"code-formatting"]],"Command Line Interface":[[3,null]],"Configuration":[[5,null]],"Configuration Class Pattern":[[5,"configuration-class-pattern"]],"Connection Lifecycle":[[16,"connection-lifecycle"]],"Content Negotiation":[[10,"content-negotiation"]],"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"]],"Docker Compose":[[4,"docker-compose"]],"Documentation":[[8,"documentation"]],"Echo Server":[[16,"echo-server"]],"Environment Variables":[[3,"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"]],"Health Check Endpoint":[[4,"health-check-endpoint"]],"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"]],"Production Checklist":[[4,"production-checklist"]],"Project":[[6,null]],"Project Layout":[[8,"project-layout"]],"Project Setup":[[14,"project-setup"]],"Putting It All Together":[[5,"putting-it-all-together"],[7,"putting-it-all-together"]],"Pydantic Validation":[[10,"pydantic-validation"]],"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"]],"Role-Based Access Control":[[11,"role-based-access-control"]],"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"]],"Running Tests":[[8,"running-tests"]],"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 Mounted Apps":[[9,"testing-mounted-apps"]],"Testing Rate Limiting":[[9,"testing-rate-limiting"]],"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 Checking":[[8,"type-checking"]],"Type Convertors":[[7,"type-convertors"]],"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]],"Writing Pure ASGI Middleware":[[13,"writing-pure-asgi-middleware"]],"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":[0,3,4,5,7,10,14,15],"00":0,"01":0,"0441172719":14,"1":[0,1,3,4,5,7,9,10,11,12,14,16],"10":[0,6,7,10],"100":[0,2,10],"1000":16,"1001":16,"1008":16,"1011":16,"127":[3,4,5],"13":4,"14":2,"150mb":4,"16":4,"1965":14,"2":[0,1,4,7,9,10,14,15,16],"200":[0,4,7,9,10,14],"201":[0,7,9,12,14,15],"2026":0,"204":[14,15],"24":11,"2xx":0,"3":[0,1,4,6,7,9,10,14,16],"30":4,"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],"403":11,"404":[0,7,12,14,15],"41d4":7,"422":[2,9,10,14],"429":[0,9,10],"446655440000":7,"500":[2,7,9,10,13,14],"5000":10,"5042":[3,4,7,10,11,14,16],"550e8400":7,"561":2,"60":[0,2,9,10],"600":[0,10],"7":[9,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,11],"As":[0,10],"But":[7,9,10],"By":[3,7,9,10,13,14],"For":[0,3,4,5,7,9,10,11,13,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,11,12,14],"Not":7,"On":[5,10],"One":[6,7,9],"Or":[0,5,8],"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],"_":9,"__call__":13,"__init__":[11,13],"__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":[13,15],"accept":[0,1,2,7,9,10,16],"access":[0,2,4,6,10,13,15],"accumul":16,"acm":3,"across":[2,4,10,15],"activ":[8,16],"actual":[0,4,7,10],"ad":[0,6,10],"adapt":10,"add":[0,2,4,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,2,9,10,13],"ag":[0,10],"again":11,"against":[0,4,10,11],"aggreg":4,"agre":7,"ahead":2,"ai":10,"aiosqlit":15,"alemb":15,"algorithm":11,"alias":2,"alic":10,"aliv":4,"all":[0,2,3,4,6,8,9,10,12,13,15,16],"alloc":9,"allow":[4,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,9,10],"alongsid":10,"alpin":4,"alreadi":[0,9,10],"also":[0,2,3,7,9,10,16],"altern":[0,10],"alwai":[4,5,6,7,10,16],"an":[0,3,4,5,6,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,15],"annual":[7,10],"answer":[10,16],"anyon":6,"anyth":7,"anywher":[4,10],"api":[2,3,4,5,6,7,8,10,13,15,16],"api_kei":11,"api_v1":12,"apispec":2,"app":[0,2,3,4,5,6,7,8,12,13,14,15,16],"appar":0,"apparent_encod":0,"appear":[0,10],"appendchild":16,"appli":[0,13],"applic":[0,2,3,4,5,7,9,10,11,13,14,15],"approach":[5,10,11,12,13],"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],"ask":[6,10,16],"assert":[9,16],"asset":[0,4,6,10],"assign":14,"associ":0,"astral":4,"async":[0,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":[4,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,10,11,13,14,15],"auto":[0,2,8,10,16],"auto_escap":0,"autobuild":8,"autoincr":15,"automat":[0,2,3,4,5,6,7,9,10,11,12,13,14,15],"avail":[0,7,10],"avoid":[9,10,13,16],"aw":4,"awai":16,"await":[0,2,7,9,10,11,12,13,14,15,16],"azur":[3,4],"b":[0,7,9,13,15,16],"back":[0,7,10,15,16],"background":[2,6,8],"backgroundqueu":0,"backlog":6,"bad":[9,10,14],"balanc":4,"bandwidth":10,"bar":10,"bare":[2,16],"base":[0,2,6,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,1,2,4,6,7,11,13,15],"before_request":[0,1,2,9,10,11,12,13,16],"begin":15,"behav":0,"behavior":[5,13],"behind":[4,10],"being":[0,10],"best":[6,11],"better":6,"between":13,"bidirect":[10,16],"big":6,"biggest":12,"bin":[4,8],"binari":[7,10,16],"bind":[0,3,4,5,7],"blob":3,"block":[0,7,9,10,12,16],"blocklist":11,"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,"boundari":10,"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,16],"bugfix":2,"build":[2,4,6,7,8,10,11,15,16],"builder":15,"built":[1,2,4,6,7,9,10,16],"bump":2,"bypass":[4,13],"byte":[0,2,6,7,13,16],"c":[5,16],"cach":[7,9,10],"caddi":4,"caddyfil":4,"call":[2,3,7,9,10,13,14,16],"call_next":13,"callabl":[0,13],"came":7,"can":[0,2,3,4,5,7,9,10,11,12,13,14,15,16],"carri":7,"case":[0,6,7,13],"cat":10,"catalog":14,"catch":[10,11,13,16],"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,6,9,10,11,13,16],"check_api_kei":11,"check_auth":0,"check_exist":[0,10,14,15],"checker":15,"checklist":6,"choic":[7,10],"choos":[6,10],"chunk":[0,10],"chunk_siz":0,"ci":2,"circuit":[0,1,2,10],"class":[2,6,7,8,9,11,13,14,15],"clean":[6,10,14],"cleaner":[10,11,15],"cleanli":5,"cleanup":[2,10],"clear":[11,16],"cli":[2,8,11],"click":6,"client":[0,2,6,7,9,10,11,14],"clone":8,"close":[9,10,15,16],"close_database_connection_pool":0,"closur":16,"cloud":[3,5,6,7],"cmd":4,"code":[2,3,4,5,6,7,9,10,11,14,15,16],"codebas":2,"coercion":10,"collabor":[10,16],"colon":3,"column":15,"com":[0,3,4,5,7,8,10],"combin":7,"come":[7,10,12],"command":[4,6],"commit":[5,15],"common":[0,3,4,5,7,10,11,12,13,14,16],"commonli":7,"commun":[7,10,11],"compact":10,"compat":[0,2],"complement":10,"complet":[7,10,14,16],"complex":[13,15],"compon":13,"compos":[6,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":[4,5,8,15],"configur":[0,2,4,6,7,9,10,13],"confirm":4,"conflict":2,"confus":9,"conn":15,"connect":[0,4,6,7,9,10,13,15],"consid":[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,8,9,13,14],"content_typ":[0,9,10],"context":[1,2,6,9,10,15,16],"contextlib":[10,15],"continu":7,"contract":9,"control":[0,4,5,6,7,10,13,15],"conveni":[0,5,15],"convent":[3,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,8],"cpu":[0,4,7],"crash":2,"creat":[0,6,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":[13,15],"credenti":11,"cross":[10,13],"crud":[6,7,14],"css":10,"csv":[0,10],"curl":[3,4,7,10,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,4,5,6,7,9,10,11,12,14,15],"databas":[4,5,6,7,9,10,11,14],"database_url":[4,5,15],"date":0,"datetim":11,"db":[4,5,15],"dead":16,"debug":[0,2,4,6,10,12],"decim":7,"declar":[2,7],"declarativebas":15,"decod":[2,10,11],"decor":[0,2,7,10],"deep":6,"def":[0,4,6,7,9,10,11,12,13,14,15,16],"def456":11,"default":[0,2,3,4,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,"deni":13,"denpend":2,"dep":2,"depend":[2,4,8,9,13],"depends_on":4,"deploi":[4,6],"deploy":[2,6,7],"depth":10,"describ":10,"descript":[0,10],"design":[7,10,14],"detail":[4,5,10,14],"detect":[0,6,10],"dev":[2,4,5],"develop":[3,4,5,10,15],"devic":10,"dict":[6,7,10,11,14,15],"dictionari":0,"differ":[0,1,3,5,6,9,10,11,15],"digit":7,"direct":[0,2,10,13],"directli":[3,6,7,9,10,14,15],"directori":[0,7,10],"disabl":[4,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":[0,2,8,9,10,11,14],"docker":[5,6,7],"dockerfil":4,"docs_rout":[0,10,14],"docstr":[2,10],"doctyp":16,"document":[0,2,4,6,14,16],"doe":15,"doesn":[0,10,14,15],"domain":[0,4,5,10],"don":[4,5,7,9,10,11,12,15],"done":4,"dot":3,"dotenv":5,"doubl":14,"down":[10,15],"download":10,"downsid":11,"dramat":2,"driver":15,"drop":[2,16],"dump":2,"dune":14,"duplex":10,"duplic":10,"durat":13,"dure":[3,4,9,11,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,11],"empti":[0,14],"enabl":[0,2,4,10,13,14],"enable_async":7,"enable_hst":[0,10,13],"encod":[0,2,11],"encrypt":11,"end":[7,14],"endpoint":[0,1,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,4,10,11,13,14],"entiti":10,"entri":[8,14],"env":[4,6],"environ":[0,4,6,7],"eol":2,"equival":12,"error":[0,2,5,6,15,16],"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,4,5,7,8,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":[4,9,10,16],"exp":11,"expand":2,"expect":7,"expens":4,"expir":[0,10,11],"expire_on_commit":15,"explain":10,"explan":0,"explicit":[7,10,12],"explicitli":[10,12],"explor":[7,10],"export":[0,5,10],"expos":[4,5],"expose_head":0,"express":[6,7],"ext":[0,2,8,9,10,15],"extens":[2,7,8],"extern":7,"extra":[2,4,10,13],"extract":0,"extrem":7,"f":[0,4,6,7,9,10,11,13,14,16],"factori":[11,15],"fail":[9,10,15],"failur":[2,8,9],"falcon":[6,10],"fall":0,"fals":[0,4,5,9,10,14,15],"familiar":[6,12],"fast":[4,6,7,9],"fastapi":6,"faster":[4,10,13],"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,8,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,13,15],"fire":[0,9],"first":[0,8,9,10,11,13,14,15],"fit":6,"fix":8,"fixtur":6,"flag":[4,10,15],"flask":[2,6,7,9,10],"flask_app":[9,10,12],"flatten":2,"float":[0,7,9,10],"flow":[11,13],"fly":[3,4],"fmt":2,"follow":7,"font":10,"forg":[5,10],"forget":0,"form":[0,7,11,12],"format":[0,2,6,7,10,11],"formerli":10,"forward":[4,10],"found":[2,7,14,15],"foundat":10,"fragment":3,"frame":13,"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,8,10],"full_url":[0,7,10],"fulli":[7,16],"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],"getattr":11,"getelementbyid":16,"getenv":5,"getlist":0,"ghcr":4,"git":[5,8],"github":[2,3,8],"gitignor":5,"give":[0,9,10,13,15],"given":[0,9],"global":[12,14],"gmt":0,"go":[4,7,12,16],"goe":[10,12],"good":[4,6,10,11],"googl":[3,4],"got":16,"grace":4,"grade":7,"gradual":[6,10],"graduat":13,"grain":15,"graphen":[0,2,6,10],"graphiql":[2,6,10],"graphql":[0,2,6,8],"great":[3,6,10],"greet":[6,7,10],"greet_world":6,"greetingresourc":10,"group":[2,6],"grow":10,"guard":11,"guid":[2,5,7,11,12,15],"guido":7,"gzip":[6,7],"gzipmiddlewar":13,"h":[7,10,11,14],"h1":[0,7,11],"ha":[7,9,12,14,16],"half":7,"halv":10,"hand":0,"handl":[0,2,4,5,6,7,11,13,16],"handle_auth_error":11,"handle_value_error":[0,10,14],"handler":[0,6,9,10,11,13,14,16],"handshak":16,"happen":[6,7,10],"hard":9,"hasn":0,"have":[0,2,3,7,9,11,12,13,14],"hdf":3,"head":3,"header":[0,2,4,5,6,7,10,11,12,13,16],"health":[6,11],"healthcheck":4,"healthi":4,"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],"heroku":[3,4],"high":[4,10],"hold":[0,6,7],"home":6,"homepag":2,"honor":[4,7],"hood":10,"hook":[0,2,6,7,11],"host":[0,2,4,6,7,9,13],"hostnam":10,"hour":[10,11],"how":[3,5,6,7,10,11,12,14,15],"hs256":11,"hst":6,"html":[0,2,6,7,8,10,11,12],"http":[0,1,2,3,4,5,6,7,8,9,10,11,13,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,9,10,11,14],"incom":[0,7,10,14],"incredibli":10,"independ":4,"index":[0,7,8,10,16],"individu":10,"industri":10,"info":[0,2,10],"inform":[0,14],"infrastructur":[4,6],"inherit":[0,10],"initi":[0,9,16],"inject":[3,10,13],"innermost":13,"input":[2,9,10,14,16],"insensit":[0,6,7],"insid":13,"inspect":[0,2],"instal":[0,2,3,4,5,8,9,10,11,16],"instanc":[0,4,6,7,9],"instant":7,"instantli":4,"instead":[0,7,9,10,13,14,15,16],"instruct":4,"insuffici":11,"int":[0,2,7,10,11,12,14,15],"integ":[0,7,14],"integr":[10,13,14,15],"intens":7,"intent":[6,16],"intention":10,"interact":[2,10,14],"interfac":[2,4,6,7,12],"intern":[9,10,11,13],"interv":4,"invalid":[5,9,10,11],"invalidtokenerror":11,"involv":0,"io":[3,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_http":0,"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,10],"itemout":[0,10],"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,8,10,11,14,16],"jsonifi":12,"jump":7,"just":[4,9,10,13,15,16],"jwt":11,"k":8,"keep":[2,4,5,7,9,10,13,15,16],"kei":[0,4,6,7,9,10,12,15,16],"kennethreitz":[3,8],"keypress":16,"keyword":[0,7,12,13],"know":[5,7],"known":[0,11],"kubernet":4,"kwarg":0,"languag":10,"larg":[0,2,10],"larger":[5,9,13],"last":[0,13],"later":[7,9],"latest":4,"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],"lib":4,"librari":[9,10,16],"licens":0,"lifecycl":[6,11],"lifespan":[0,2,6,14],"lift":7,"lightn":4,"lightweight":[4,7],"like":[0,3,4,7,9,10,11,13,14,16],"limit":[1,2,4,6,8,13,15,16],"line":[6,7],"liner":2,"lingua":7,"lint":8,"list":[0,6,7,9,10,13,15],"list_all_us":11,"list_book":[14,15],"list_item":10,"list_pet":10,"list_us":[0,10,12],"list_users_v2":10,"listen":3,"live":[4,8,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":[4,5,7,9,10,11,14,15,16],"locat":[0,7,11,12],"lock":4,"log":[1,4,6,10,11,13],"log_error":0,"log_level":2,"log_request":13,"log_respons":10,"logic":[6,7,10],"login":[10,11],"logout":11,"long":7,"look":[3,4,6,7],"loop":[7,12,16],"lose":[2,15,16],"lower":[0,5],"lowercas":7,"machin":10,"made":[0,6],"magic":12,"mai":4,"main":[3,8],"make":[4,5,7,8,9,10,11,12,16],"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],"mapped_column":15,"mapper":15,"marimo":[2,10],"mark":[2,10],"marker":2,"marshmallow":[0,2,10],"match":[0,5,7,8,10,14],"matter":10,"max_ag":[0,10],"maximum":[0,13],"me":[0,11],"mean":[4,7,10,12],"mechan":10,"media":[0,2,4,6,7,9,10,11,12,14,15],"memori":[0,2,6,7,10],"messag":[0,7,10,11,13,16],"messagepack":[2,6],"metadata":[0,7,8,15],"method":[0,6,7,9,11,12,13,14,15,16],"microservic":10,"middelwar":0,"middlewar":[0,2,6,7,10],"middleware_cl":0,"middleware_config":0,"might":7,"migrat":[2,6,7,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,"mobil":11,"mode":[0,4,6],"model":[0,2,6,8,9,10],"model_dump":15,"model_valid":15,"modern":[4,10,11,12],"modifi":[0,10,13,14,15],"modul":[0,2,6,7,10],"monitor":4,"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,8,10],"much":[7,10],"multi":0,"multipart":[2,7],"multipl":[0,2,4,10,14],"multiplay":[10,16],"must":[0,7,10,11,14,16],"mutabl":6,"mutat":[0,7,12],"my":0,"my_templ":7,"myapi":4,"myapp":[3,4],"mydb":15,"mypi":8,"mysql":15,"n":[0,7],"name":[0,4,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,8,9],"nervou":7,"network":[9,16],"never":[4,5,10,11,14],"new":[0,7,9,10,12,14,16],"new_endpoint":12,"next":[6,13,16],"next_id":14,"nginx":4,"non":7,"none":[0,2,11,14,15],"nonexist":16,"normal":[0,10,16],"nosniff":13,"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,3,5,7,12],"object":[0,2,7,10,12,13,15,16],"objecttyp":[0,10],"obviou":9,"octet":0,"off":[5,7],"offload":4,"offset":15,"often":[3,7,10],"ok":[0,7,9,14],"old":12,"older":15,"omit":4,"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":[8,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,16],"open_database_connection_pool":0,"openapi":[0,1,2,6,8,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,"orchestr":4,"order":[0,6],"order_bi":15,"organ":[0,5,9,10,12],"origin":[10,13],"orm":15,"other":[0,2,3,4,6,7,15],"otherwis":[0,10,16],"our":14,"out":[5,6,7,13],"outermost":13,"outgo":[7,10],"output":14,"outsid":13,"over":[0,6,7,10,12,15],"overal":2,"overhead":[9,13],"overrid":[0,10],"overwhelm":10,"own":[4,10,15],"p":[4,11,16],"pace":10,"packag":[2,3,4,8],"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,3,4,7,9,10,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":[0,4,6,7,8,10,11,12,13,14,15],"payload":11,"pdf":[0,7,9,10],"pep":2,"per":[0,1,4,9,10],"perfect":10,"perfectli":13,"perform":13,"period":[0,2,9,10],"perman":7,"permiss":11,"permit":10,"persist":[0,10,16],"person":6,"pet":[0,10],"petin":10,"petout":10,"petschema":[0,10],"pgdata":4,"photo":10,"piec":10,"pin":[2,4],"pip":[2,3,4,5,6,8,11,15,16],"pipe":4,"place":[5,10],"placehold":[7,16],"plain":[0,7,10,13,16],"platform":[2,3,5,6,7],"pleasant":6,"plot":10,"plu":15,"plugin":2,"poethepoet":2,"point":[3,4,8,14],"polici":[10,13,16],"poll":4,"pool":[0,6,7,10,12,15],"popular":[7,10,15],"port":[0,3,4,5,7,9],"portion":0,"possibl":7,"post":[0,5,7,9,10,11,12,14,15],"postgr":4,"postgres_db":4,"postgres_password":4,"postgres_us":4,"postgresql":[4,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,10],"primari":0,"primary_kei":15,"print":[0,5,10,13,15,16],"privat":10,"proce":16,"process":[0,4,6,7,9,10,13],"process_data":7,"procfil":4,"prod":5,"produc":[0,7],"product":[2,3,5,6,7,9,10,11,15],"profil":10,"programmat":10,"progress":10,"project":[2,3],"propag":9,"proper":[7,11,15],"properli":[2,5,9,15,16],"properti":[0,2,7,9],"prose":2,"protect":[4,11],"proto":4,"protocol":[3,7,9,10,13,16],"prototyp":[2,3,6],"provid":0,"proxi":6,"public":[0,6,10],"public_path":11,"pure":6,"push":[1,4,6,10],"put":[6,10,14,15],"py":[2,3,4,5,7,8,9,10,14,15],"pydant":[0,2,6,9,14,15],"pyjwt":11,"pypi":2,"pyproject":[2,8],"pytest":[6,7,8,9,16],"python":[0,2,3,4,5,6,7,10,14,15,16],"pythonpath":3,"q":[0,7,12],"queri":[2,4,6,7,10,15,16],"query_str":0,"querydict":0,"queue":[6,7,8],"quick":[0,3,6],"r":[7,9],"race":9,"railwai":[3,4],"rais":[0,2,9,10,11,16],"raise_server_except":9,"random":[0,5],"rang":[0,7,9,10],"rapidoc":[0,10],"rare":7,"rate":[1,2,4,6,8,13],"rate_limit":0,"ratelimit":[0,2,6,9,10,13],"rather":[9,16],"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,3,5,6,10,11,12,14,15],"readabl":10,"readi":[4,5,6,7],"real":[2,5,6,7,10,11,14,15,16],"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],"referr":13,"refresh":15,"refus":10,"regist":[0,9,10,11],"register_blueprint":12,"reject":[1,9,10,16],"relat":[0,10,15],"releas":8,"reliabl":9,"reload":8,"remain":[0,9,10],"rememb":11,"remov":[10,12,14,16],"renam":9,"render":[0,4,6,10],"render_async":7,"render_templ":12,"replac":[2,7,10,14],"repo":8,"report":[7,9,10],"repres":0,"represent":0,"reproduc":4,"req":[0,2,4,6,7,9,10,11,12,13,14,15,16],"request":[1,2,3,4,6,8,11,12,13,14,15],"request_id":[0,2,10,13],"request_model":[0,2,9,10,14,15],"requir":[0,2,4,9,10],"require_rol":11,"research":6,"resolv":[2,10],"resolve_hello":[0,10],"resourc":[7,10,14],"resp":[0,2,4,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,8,9,10,12,13,14,15,16],"response_model":[0,2,10,14,15],"rest":[2,4,6,7,10],"restrict":[4,10,11],"result":[0,2,7,10,15],"resum":2,"resume_incomplet":2,"retri":[0,10],"retriev":[0,10,14],"return":[0,2,4,6,7,9,10,11,12,13,14,15],"reusabl":11,"revers":[0,6],"reverse_proxi":4,"revok":11,"rework":2,"rewrit":2,"rewrot":2,"rfc3986":2,"right":[6,7,10,12,13],"role":6,"roll":15,"room":6,"root":[2,10],"rotat":5,"rout":[1,2,4,6,8,9,13,14,15,16],"routegroup":0,"router":[2,8],"rst":2,"ruff":[2,8],"rule":5,"run":[0,2,3,6,9,10,12,13,16],"run_sync":15,"runnabl":8,"runner":[2,4],"runtim":3,"runtimeerror":0,"s3":3,"safe":[2,14],"sai":7,"said":4,"same":[3,4,6,7,10,12,13,14,15],"sandbox":6,"save":[7,16],"scalar":15,"scale":[6,11],"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":[4,6,7,10,11],"secret_kei":[0,3,4,5,10,11],"section":10,"secur":[0,10,13],"securityheadersmiddlewar":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,13,14,16],"send_byt":[10,16],"send_email":0,"send_json":[10,16],"send_text":[9,10,16],"send_with_head":13,"sensit":11,"sent":[0,2,6,7,13],"separ":[7,9,14],"sequenti":2,"serial":[0,2,6,7,10,16],"serializ":7,"serv":[0,2,3,4,5,6,7,9,14,16],"server":[0,1,2,3,4,5,6,8,9,11,13,14,15],"servererrormiddlewar":13,"servestat":2,"servic":[0,3,4,6,9,10,11,14],"session":[0,2,5,6,7,9,12,13,15],"session_id":10,"sessionmiddlewar":13,"set":[0,2,3,4,5,6,7,9,10,11,15,16],"set_cooki":[0,2,10],"set_text":0,"setattr":15,"setup":[2,5,6,9],"sever":[10,13,16],"sftp":3,"sh":4,"shape":10,"share":[0,3,7,9,10,15],"shell":5,"short":[0,1,2,10],"shorthand":0,"should":[4,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],"significantli":4,"signup":11,"simpl":[3,4,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,8,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,11,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],"spa":11,"spawn":4,"spec":[7,10],"special":[6,10],"specif":[0,2,5,9,10,11,13,14,16],"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,11,13,14,15],"startswith":11,"startup":[0,2,6,9,10],"state":[0,2,9,10,11,16],"stateless":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,4,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":[8,10],"storag":[3,6],"store":[0,5,10,11,14],"str":[0,7,9,10,11,14,15],"straightforward":10,"stranger":[0,10],"strategi":6,"stream":[0,2,6,10,13],"stream_data":0,"stream_fil":[0,2,10],"strict":[10,13],"string":[0,6,7,10,15,16],"strip":[2,10,11],"structur":[1,10],"style":[10,15],"stylesheet":10,"sub":11,"subclass":0,"subcommand":3,"subject":0,"submiss":0,"submit":0,"subrout":[6,9,10,12],"subsequ":[10,11],"subtl":2,"succe":9,"success":[0,7,14],"successfulli":14,"successor":4,"suit":[8,9],"suppli":2,"support":[0,1,2,3,4,6,7,12,15,16],"swagger":[0,6,10,14],"swagger_ui":[0,10],"swallow":16,"switch":[2,15,16],"sync":[2,6,7,12],"synchron":[0,12],"syntax":[2,6,7,12,15],"synthet":9,"system":[3,4,7,10],"t":[0,4,5,7,9,10,11,12,13,14,15],"tab":16,"tabl":15,"tag":0,"take":[6,7],"tamper":[10,11],"target":2,"task":[0,2,6,8],"teach":6,"tear":10,"tell":[7,10,14,15],"templat":[0,2,6],"template_str":[0,7],"templates_dir":0,"termin":[3,4,16],"terms_of_servic":0,"test":[0,2,3,5,6,7,14],"test_500":[2,9],"test_api":9,"test_create_item":9,"test_custom_error":9,"test_echo":16,"test_flask_mount":9,"test_head":9,"test_hello":9,"test_hook":9,"test_json":9,"test_mount":8,"test_rate_limit":9,"test_respond":8,"test_upload":9,"test_valid":9,"test_websocket":9,"test_websocket_404":16,"test_with_lifespan":9,"testclient":[0,2,9,16],"text":[0,2,6,7,9,10,12,16],"textcont":16,"than":[4,9,10,11,12,13,14,15,16],"thei":[0,5,7,9,10,11,12,13,14,16],"them":[3,4,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,10,13],"think":7,"third":[6,9],"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,"ti":4,"time":[0,2,6,7,9,10,12,13,14,15,16],"time_start":0,"timedelta":11,"timeout":4,"timezon":11,"timingmiddlewar":13,"tip":[2,6],"titl":[0,2,7,10,14,15],"tl":4,"togeth":[4,6,10],"token":[0,6,7,10,16],"token_hex":5,"toml":[2,8],"too":[0,3,4,9,10],"tool":[4,8,11,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,9],"trustedhostmiddlewar":[4,13],"try":[6,7,11,16],"tupl":[0,7,9],"tutori":[2,7,14],"two":[7,9,10,13],"type":[0,2,6,10,12,13,14,15,16],"typic":[7,10],"typo":[2,10],"ui":[0,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,11],"unlik":10,"unmaintain":2,"unmatch":10,"unpin":2,"unprocess":10,"unrecogn":10,"until":7,"up":[0,2,4,7,10],"updat":[2,6,7,10,15,16],"update_book":[14,15],"upgrad":[2,8,10,16],"upload":[0,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,4,5,7,10,11,12,15],"user_id":[7,10,11,12],"user_rol":11,"usernam":[10,11],"usr":4,"usual":9,"utc":11,"utf":0,"uuid":[0,2,7,10],"uuid4":0,"uv":[3,4,5,6,8,11,15],"uvicorn":[0,2,6,7,13],"uvloop":4,"v":6,"v1":[0,10],"v2":10,"valid":[0,2,6,7,11,13,14,15],"valu":[0,6,7,9,10,11,12,13,14,15,16],"valueerror":[0,9,10,12,14],"var":4,"variabl":[0,4,6,7],"ve":[6,9,12],"venv":8,"verb":10,"veri":[0,7,15],"verif":11,"verifi":[4,9,11],"verify_token":11,"version":[0,2,6,9,10,14],"via":[0,2,4,5,10,12],"view":[0,2,6,7,9,12],"violat":16,"virtual":[3,4],"visit":[10,14],"volum":4,"vue":10,"w":[9,10,16],"wa":[0,2,7,14],"wai":[3,4,6,7,10,11,12,13,15],"wait":[4,12],"walk":[7,10,14],"walkthrough":10,"want":[0,3,4,6,7,9,10,13,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,7,13],"websocket_connect":[9,16],"websocketdisconnect":16,"websocketrout":8,"welcom":[6,7,11],"well":[6,11],"went":6,"werkzeug":[2,9],"what":[0,7,9,10,16],"whatev":7,"when":[0,2,3,4,5,6,7,9,10,12,14,15,16],"where":[0,4,7,10,11,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,11,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],"wrapper":8,"write":[6,7,10,12],"wrong":10,"ws_auth":16,"wsgi":[0,2,4,6,9,10,12],"www":5,"x":[0,4,6,7,9,10,11,12,13,14],"x00":16,"x01":16,"x02":16,"x89png":7,"xml":0,"xss":10,"xv":8,"yaml":[0,2,6,7,8,9,10],"year":[14,15],"yield":[0,10,15],"yml":[0,4,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,16],"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],"access":11,"ad":[2,13],"after":[9,10],"all":[5,7,14],"allow":5,"an":11,"api":[0,9,11,12,14],"app":[9,10,11],"asgi":13,"asset":3,"auth":11,"authent":11,"background":[0,7],"backlog":1,"base":[10,11],"bearer":11,"befor":[9,10,16],"big":12,"blueprint":12,"book":14,"build":[3,14],"built":13,"chang":2,"changelog":2,"chat":16,"check":[4,8],"checklist":4,"choos":11,"class":[0,5,10],"client":16,"cloud":4,"code":[0,8],"command":3,"compos":4,"configur":5,"connect":16,"content":10,"control":11,"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":[8,10],"echo":16,"endpoint":[4,15],"env":5,"environ":[3,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":[8,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,"health":4,"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,"layout":8,"lifecycl":16,"lifespan":[9,10,15],"limit":[0,9,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":[9,10],"name":3,"negoti":10,"next":14,"openapi":10,"order":13,"other":10,"out":14,"paramet":[7,12],"parti":13,"pattern":5,"platform":4,"postgresql":15,"product":4,"project":[6,8,14],"proxi":4,"public":11,"pure":13,"put":[5,7],"pydant":10,"queri":0,"queue":0,"quick":[7,12],"rate":[0,9,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,"role":11,"room":16,"rout":[0,7,10,11,12],"run":[4,7,8,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,"strategi":11,"support":10,"task":7,"templat":[7,12],"test":[8,9,16],"third":13,"tip":[9,15],"togeth":[5,7],"token":11,"tour":10,"trust":10,"try":14,"tutori":[6,16],"type":[7,8],"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,10],"variabl":[3,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"]],"Choosing an Auth Strategy":[[11,"choosing-an-auth-strategy"]],"Class-Based Views":[[10,"class-based-views"]],"Cloud Platforms":[[4,"cloud-platforms"]],"Code Formatting":[[8,"code-formatting"]],"Command Line Interface":[[3,null]],"Configuration":[[5,null]],"Configuration Class Pattern":[[5,"configuration-class-pattern"]],"Connection Lifecycle":[[16,"connection-lifecycle"]],"Content Negotiation":[[10,"content-negotiation"]],"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"]],"Docker Compose":[[4,"docker-compose"]],"Documentation":[[8,"documentation"]],"Echo Server":[[16,"echo-server"]],"Environment Variables":[[3,"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"]],"Health Check Endpoint":[[4,"health-check-endpoint"]],"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"]],"Production Checklist":[[4,"production-checklist"]],"Project":[[6,null]],"Project Layout":[[8,"project-layout"]],"Project Setup":[[14,"project-setup"]],"Putting It All Together":[[5,"putting-it-all-together"],[7,"putting-it-all-together"]],"Pydantic Validation":[[10,"pydantic-validation"]],"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"]],"Role-Based Access Control":[[11,"role-based-access-control"]],"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"]],"Running Tests":[[8,"running-tests"]],"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 Mounted Apps":[[9,"testing-mounted-apps"]],"Testing Rate Limiting":[[9,"testing-rate-limiting"]],"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 Checking":[[8,"type-checking"]],"Type Convertors":[[7,"type-convertors"]],"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]],"Writing Pure ASGI Middleware":[[13,"writing-pure-asgi-middleware"]],"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":[0,3,4,5,7,10,14,15],"00":0,"01":0,"0441172719":14,"1":[0,1,3,4,5,7,9,10,11,12,14,16],"10":[0,6,7,10],"100":[0,2,10],"1000":16,"1001":16,"1008":16,"1011":16,"127":[3,4,5],"13":4,"14":2,"150mb":4,"16":4,"1965":14,"2":[0,4,7,9,10,14,15,16],"200":[0,4,7,9,10,14],"201":[0,7,9,12,14,15],"2026":0,"204":[14,15],"24":11,"2xx":0,"3":[0,1,4,6,7,9,10,14,16],"30":4,"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],"403":11,"404":[0,7,12,14,15],"41d4":7,"422":[2,9,10,14],"429":[0,9,10],"446655440000":7,"500":[2,7,9,10,13,14],"5000":10,"5042":[3,4,7,10,11,14,16],"550e8400":7,"561":2,"60":[0,2,9,10],"600":[0,10],"7":[9,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,11],"As":[0,10],"But":[7,9,10],"By":[3,7,9,10,13,14],"For":[0,3,4,5,7,9,10,11,13,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,11,12,14],"Not":7,"On":[5,10],"One":[6,7,9],"Or":[0,5,8],"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],"_":9,"__call__":13,"__init__":[11,13],"__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":[13,15],"accept":[0,1,2,7,9,10,16],"access":[0,2,4,6,10,13,15],"accumul":16,"acm":3,"across":[2,4,10,15],"activ":[8,16],"actual":[0,4,7,10],"ad":[0,6,10],"adapt":10,"add":[0,2,4,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,2,9,10,13],"ag":[0,10],"again":11,"against":[0,4,10,11],"aggreg":4,"agre":7,"ahead":2,"ai":10,"aiosqlit":15,"alemb":15,"algorithm":11,"alias":2,"alic":10,"aliv":4,"all":[0,2,3,4,6,8,9,10,12,13,15,16],"alloc":9,"allow":[4,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,9,10],"alongsid":10,"alpin":4,"alreadi":[0,9,10],"also":[0,2,3,7,9,10,16],"altern":[0,10],"alwai":[4,5,6,7,10,16],"an":[0,3,4,5,6,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,15],"annual":[7,10],"answer":[10,16],"anyon":6,"anyth":7,"anywher":[4,10],"api":[2,3,4,5,6,7,8,10,13,15,16],"api_kei":11,"api_v1":12,"apispec":2,"app":[0,2,3,4,5,6,7,8,12,13,14,15,16],"appar":0,"apparent_encod":0,"appear":[0,10],"appendchild":16,"appli":[0,13],"applic":[0,2,3,4,5,7,9,10,11,13,14,15],"approach":[5,10,11,12,13],"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],"ask":[6,10,16],"assert":[9,16],"asset":[0,4,6,10],"assign":14,"associ":0,"astral":4,"async":[0,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":[4,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,10,11,13,14,15],"auto":[0,2,8,10,16],"auto_escap":0,"autobuild":8,"autoincr":15,"automat":[0,2,3,4,5,6,7,9,10,11,12,13,14,15],"avail":[0,7,10],"avoid":[9,10,13,16],"aw":4,"awai":16,"await":[0,2,7,9,10,11,12,13,14,15,16],"azur":[3,4],"b":[0,7,9,13,15,16],"back":[0,7,10,15,16],"background":[2,6,8],"backgroundqueu":0,"backlog":6,"bad":[9,10,14],"balanc":4,"bandwidth":10,"bar":10,"bare":[2,16],"base":[0,2,6,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,1,2,4,6,7,11,13,15],"before_request":[0,1,2,9,10,11,12,13,16],"begin":15,"behav":0,"behavior":[5,13],"behind":[4,10],"being":[0,10],"best":[6,11],"better":6,"between":13,"bidirect":[10,16],"big":6,"biggest":12,"bin":[4,8],"binari":[7,10,16],"bind":[0,3,4,5,7],"blob":3,"block":[0,7,9,10,12,16],"blocklist":11,"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,"boundari":10,"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,16],"bugfix":2,"build":[2,4,6,7,8,10,11,15,16],"builder":15,"built":[1,2,4,6,7,9,10,16],"bump":2,"bypass":[4,13],"byte":[0,2,6,7,13,16],"c":[5,16],"cach":[7,9,10],"caddi":4,"caddyfil":4,"call":[2,3,7,9,10,13,14,16],"call_next":13,"callabl":[0,13],"came":7,"can":[0,2,3,4,5,7,9,10,11,12,13,14,15,16],"carri":7,"case":[0,6,7,13],"cat":10,"catalog":14,"catch":[10,11,13,16],"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,6,9,10,11,13,16],"check_api_kei":11,"check_auth":0,"check_exist":[0,10,14,15],"checker":15,"checklist":6,"choic":[7,10],"choos":[6,10],"chunk":[0,10],"chunk_siz":0,"ci":2,"circuit":[0,1,2,10],"class":[2,6,7,8,9,11,13,14,15],"clean":[6,10,14],"cleaner":[10,11,15],"cleanli":5,"cleanup":[2,10],"clear":[11,16],"cli":[2,8,11],"click":6,"client":[0,2,6,7,9,10,11,14],"clone":8,"close":[9,10,15,16],"close_database_connection_pool":0,"closur":16,"cloud":[3,5,6,7],"cmd":4,"code":[2,3,4,5,6,7,9,10,11,14,15,16],"codebas":2,"coercion":10,"collabor":[10,16],"colon":3,"column":15,"com":[0,3,4,5,7,8,10],"combin":7,"come":[7,10,12],"command":[4,6],"commit":[5,15],"common":[0,3,4,5,7,10,11,12,13,14,16],"commonli":7,"commun":[7,10,11],"compact":10,"compat":[0,2],"complement":10,"complet":[7,10,14,16],"complex":[13,15],"compon":13,"compos":[6,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":[4,5,8,15],"configur":[0,2,4,6,7,9,10,13],"confirm":4,"conflict":2,"confus":9,"conn":15,"connect":[0,4,6,7,9,10,13,15],"consid":[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,8,9,13,14],"content_typ":[0,9,10],"context":[1,2,6,9,10,15,16],"contextlib":[10,15],"continu":7,"contract":9,"control":[0,4,5,6,7,10,13,15],"conveni":[0,5,15],"convent":[3,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,8],"cpu":[0,4,7],"crash":2,"creat":[0,6,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":[13,15],"credenti":11,"cross":[10,13],"crud":[6,7,14],"css":10,"csv":[0,10],"curl":[3,4,7,10,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,4,5,6,7,9,10,11,12,14,15],"databas":[4,5,6,7,9,10,11,14],"database_url":[4,5,15],"date":0,"datetim":11,"db":[4,5,15],"dead":16,"debug":[0,2,4,6,10,12],"decim":7,"declar":[2,7],"declarativebas":15,"decod":[2,10,11],"decor":[0,2,7,10],"deep":6,"def":[0,4,6,7,9,10,11,12,13,14,15,16],"def456":11,"default":[0,2,3,4,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,"deni":13,"denpend":2,"dep":2,"depend":[1,2,4,8,9,13],"depends_on":4,"deploi":[4,6],"deploy":[2,6,7],"depth":10,"describ":10,"descript":[0,10],"design":[7,10,14],"detail":[4,5,10,14],"detect":[0,6,10],"dev":[2,4,5],"develop":[3,4,5,10,15],"devic":10,"dict":[6,7,10,11,14,15],"dictionari":0,"differ":[0,1,3,5,6,9,10,11,15],"digit":7,"direct":[0,2,10,13],"directli":[3,6,7,9,10,14,15],"directori":[0,7,10],"disabl":[4,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":[0,2,8,9,10,11,14],"docker":[5,6,7],"dockerfil":4,"docs_rout":[0,10,14],"docstr":[2,10],"doctyp":16,"document":[0,2,4,6,14,16],"doe":15,"doesn":[0,10,14,15],"domain":[0,4,5,10],"don":[4,5,7,9,10,11,12,15],"done":4,"dot":3,"dotenv":5,"doubl":14,"down":[10,15],"download":10,"downsid":11,"dramat":2,"driver":15,"drop":[2,16],"dump":2,"dune":14,"duplex":10,"duplic":10,"durat":13,"dure":[3,4,9,11,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,11],"empti":[0,14],"enabl":[0,2,4,10,13,14],"enable_async":7,"enable_hst":[0,10,13],"encod":[0,2,11],"encrypt":11,"end":[7,14],"endpoint":[0,1,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,4,10,11,13,14],"entiti":10,"entri":[8,14],"env":[4,6],"environ":[0,4,6,7],"eol":2,"equival":12,"error":[0,2,5,6,15,16],"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,4,5,7,8,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":[4,9,10,16],"exp":11,"expand":2,"expect":7,"expens":4,"expir":[0,10,11],"expire_on_commit":15,"explain":10,"explan":0,"explicit":[7,10,12],"explicitli":[10,12],"explor":[7,10],"export":[0,5,10],"expos":[4,5],"expose_head":0,"express":[6,7],"ext":[0,2,8,9,10,15],"extens":[2,7,8],"extern":7,"extra":[2,4,10,13],"extract":0,"extrem":7,"f":[0,4,6,7,9,10,11,13,14,16],"factori":[11,15],"fail":[9,10,15],"failur":[2,8,9],"falcon":[6,10],"fall":0,"fals":[0,4,5,9,10,14,15],"familiar":[6,12],"fast":[4,6,7,9],"fastapi":6,"faster":[4,10,13],"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,8,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,13,15],"fire":[0,9],"first":[0,8,9,10,11,13,14,15],"fit":6,"fix":8,"fixtur":6,"flag":[4,10,15],"flask":[2,6,7,9,10],"flask_app":[9,10,12],"flatten":2,"float":[0,7,9,10],"flow":[11,13],"fly":[3,4],"fmt":2,"follow":7,"font":10,"forg":[5,10],"forget":0,"form":[0,7,11,12],"format":[0,2,6,7,10,11],"formerli":10,"forward":[4,10],"found":[2,7,14,15],"foundat":10,"fragment":3,"frame":13,"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,8,10],"full_url":[0,7,10],"fulli":[7,16],"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],"getattr":11,"getelementbyid":16,"getenv":5,"getlist":0,"ghcr":4,"git":[5,8],"github":[2,3,8],"gitignor":5,"give":[0,9,10,13,15],"given":[0,9],"global":[12,14],"gmt":0,"go":[4,7,12,16],"goe":[10,12],"good":[4,6,10,11],"googl":[3,4],"got":16,"grace":4,"grade":7,"gradual":[6,10],"graduat":13,"grain":15,"graphen":[0,2,6,10],"graphiql":[2,6,10],"graphql":[0,2,6,8],"great":[3,6,10],"greet":[6,7,10],"greet_world":6,"greetingresourc":10,"group":[2,6],"grow":10,"guard":11,"guid":[2,5,7,11,12,15],"guido":7,"gzip":[6,7],"gzipmiddlewar":13,"h":[7,10,11,14],"h1":[0,7,11],"ha":[7,9,12,14,16],"half":7,"halv":10,"hand":0,"handl":[0,2,4,5,6,7,11,13,16],"handle_auth_error":11,"handle_value_error":[0,10,14],"handler":[0,1,6,9,10,11,13,14,16],"handshak":16,"happen":[6,7,10],"hard":9,"hasn":0,"have":[0,2,3,7,9,11,12,13,14],"hdf":3,"head":3,"header":[0,2,4,5,6,7,10,11,12,13,16],"health":[6,11],"healthcheck":4,"healthi":4,"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],"heroku":[3,4],"high":[4,10],"hold":[0,6,7],"home":6,"homepag":2,"honor":[4,7],"hood":10,"hook":[0,2,6,7,11],"host":[0,2,4,6,7,9,13],"hostnam":10,"hour":[10,11],"how":[3,5,6,7,10,11,12,14,15],"hs256":11,"hst":6,"html":[0,2,6,7,8,10,11,12],"http":[0,2,3,4,5,6,7,8,9,10,11,13,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,9,10,11,14],"incom":[0,7,10,14],"incredibli":10,"independ":4,"index":[0,7,8,10,16],"individu":10,"industri":10,"info":[0,2,10],"inform":[0,14],"infrastructur":[4,6],"inherit":[0,10],"initi":[0,9,16],"inject":[1,3,10,13],"innermost":13,"input":[2,9,10,14,16],"insensit":[0,6,7],"insid":13,"inspect":[0,2],"instal":[0,2,3,4,5,8,9,10,11,16],"instanc":[0,4,6,7,9],"instant":7,"instantli":4,"instead":[0,7,9,10,13,14,15,16],"instruct":4,"insuffici":11,"int":[0,2,7,10,11,12,14,15],"integ":[0,7,14],"integr":[10,13,14,15],"intens":7,"intent":[6,16],"intention":10,"interact":[2,10,14],"interfac":[2,4,6,7,12],"intern":[9,10,11,13],"interv":4,"invalid":[5,9,10,11],"invalidtokenerror":11,"involv":0,"io":[3,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_http":0,"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,10],"itemout":[0,10],"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,8,10,11,14,16],"jsonifi":12,"jump":7,"just":[4,9,10,13,15,16],"jwt":11,"k":8,"keep":[2,4,5,7,9,10,13,15,16],"kei":[0,4,6,7,9,10,12,15,16],"kennethreitz":[3,8],"keypress":16,"keyword":[0,7,12,13],"know":[5,7],"known":[0,11],"kubernet":4,"kwarg":0,"languag":10,"larg":[0,2,10],"larger":[5,9,13],"last":[0,13],"later":[7,9],"latest":4,"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],"lib":4,"librari":[9,10,16],"licens":0,"lifecycl":[6,11],"lifespan":[0,2,6,14],"lift":7,"lightn":4,"lightweight":[4,7],"like":[0,3,4,7,9,10,11,13,14,16],"limit":[1,2,4,6,8,13,15,16],"line":[6,7],"liner":2,"lingua":7,"lint":8,"list":[0,6,7,9,10,13,15],"list_all_us":11,"list_book":[14,15],"list_item":10,"list_pet":10,"list_us":[0,10,12],"list_users_v2":10,"listen":3,"live":[4,8,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":[4,5,7,9,10,11,14,15,16],"locat":[0,7,11,12],"lock":4,"log":[1,4,6,10,11,13],"log_error":0,"log_level":2,"log_request":13,"log_respons":10,"logic":[6,7,10],"login":[10,11],"logout":11,"long":7,"look":[3,4,6,7],"loop":[7,12,16],"lose":[2,15,16],"lower":[0,5],"lowercas":7,"machin":10,"made":[0,6],"magic":12,"mai":4,"main":[3,8],"make":[4,5,7,8,9,10,11,12,16],"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],"mapped_column":15,"mapper":15,"marimo":[2,10],"mark":[2,10],"marker":2,"marshmallow":[0,2,10],"match":[0,5,7,8,10,14],"matter":10,"max_ag":[0,10],"maximum":[0,13],"me":[0,11],"mean":[4,7,10,12],"mechan":10,"media":[0,2,4,6,7,9,10,11,12,14,15],"memori":[0,2,6,7,10],"messag":[0,7,10,11,13,16],"messagepack":[2,6],"metadata":[0,7,8,15],"method":[0,6,7,9,11,12,13,14,15,16],"microservic":10,"middelwar":0,"middlewar":[0,2,6,7,10],"middleware_cl":0,"middleware_config":0,"might":7,"migrat":[2,6,7,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,"mobil":11,"mode":[0,4,6],"model":[0,2,6,8,9,10],"model_dump":15,"model_valid":15,"modern":[4,10,11,12],"modifi":[0,10,13,14,15],"modul":[0,2,6,7,10],"monitor":4,"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,8,10],"much":[7,10],"multi":0,"multipart":[2,7],"multipl":[0,2,4,10,14],"multiplay":[10,16],"must":[0,7,10,11,14,16],"mutabl":6,"mutat":[0,7,12],"my":0,"my_templ":7,"myapi":4,"myapp":[3,4],"mydb":15,"mypi":8,"mysql":15,"n":[0,7],"name":[0,4,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,8,9],"nervou":7,"network":[9,16],"never":[4,5,10,11,14],"new":[0,7,9,10,12,14,16],"new_endpoint":12,"next":[6,13,16],"next_id":14,"nginx":4,"non":7,"none":[0,2,11,14,15],"nonexist":16,"normal":[0,10,16],"nosniff":13,"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,3,5,7,12],"object":[0,2,7,10,12,13,15,16],"objecttyp":[0,10],"obviou":9,"octet":0,"off":[5,7],"offload":4,"offset":15,"often":[3,7,10],"ok":[0,7,9,14],"old":12,"older":15,"omit":4,"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":[8,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,16],"open_database_connection_pool":0,"openapi":[0,1,2,6,8,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,"orchestr":4,"order":[0,6],"order_bi":15,"organ":[0,5,9,10,12],"origin":[10,13],"orm":15,"other":[0,2,3,4,6,7,15],"otherwis":[0,10,16],"our":14,"out":[5,6,7,13],"outermost":13,"outgo":[7,10],"output":14,"outsid":13,"over":[0,6,7,10,12,15],"overal":2,"overhead":[9,13],"overrid":[0,10],"overwhelm":10,"own":[4,10,15],"p":[4,11,16],"pace":10,"packag":[2,3,4,8],"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,3,4,7,9,10,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":[0,4,6,7,8,10,11,12,13,14,15],"payload":11,"pdf":[0,7,9,10],"pep":2,"per":[0,1,4,9,10],"perfect":10,"perfectli":13,"perform":13,"period":[0,2,9,10],"perman":7,"permiss":11,"permit":10,"persist":[0,10,16],"person":6,"pet":[0,10],"petin":10,"petout":10,"petschema":[0,10],"pgdata":4,"photo":10,"piec":10,"pin":[2,4],"pip":[2,3,4,5,6,8,11,15,16],"pipe":4,"place":[5,10],"placehold":[7,16],"plain":[0,7,10,13,16],"platform":[2,3,5,6,7],"pleasant":6,"plot":10,"plu":15,"plugin":2,"poethepoet":2,"point":[3,4,8,14],"polici":[10,13,16],"poll":4,"pool":[0,6,7,10,12,15],"popular":[7,10,15],"port":[0,3,4,5,7,9],"portion":0,"possibl":7,"post":[0,5,7,9,10,11,12,14,15],"postgr":4,"postgres_db":4,"postgres_password":4,"postgres_us":4,"postgresql":[4,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,10],"primari":0,"primary_kei":15,"print":[0,5,10,13,15,16],"privat":10,"proce":16,"process":[0,4,6,7,9,10,13],"process_data":7,"procfil":4,"prod":5,"produc":[0,7],"product":[2,3,5,6,7,9,10,11,15],"profil":10,"programmat":10,"progress":10,"project":[2,3],"propag":9,"proper":[7,11,15],"properli":[2,5,9,15,16],"properti":[0,2,7,9],"prose":2,"protect":[4,11],"proto":4,"protocol":[3,7,9,10,13,16],"prototyp":[2,3,6],"provid":0,"proxi":6,"public":[0,6,10],"public_path":11,"pure":6,"push":[4,6,10],"put":[6,10,14,15],"py":[2,3,4,5,7,8,9,10,14,15],"pydant":[0,2,6,9,14,15],"pyjwt":11,"pypi":2,"pyproject":[2,8],"pytest":[6,7,8,9,16],"python":[0,2,3,4,5,6,7,10,14,15,16],"pythonpath":3,"q":[0,7,12],"queri":[2,4,6,7,10,15,16],"query_str":0,"querydict":0,"queue":[6,7,8],"quick":[0,3,6],"r":[7,9],"race":9,"railwai":[3,4],"rais":[0,2,9,10,11,16],"raise_server_except":9,"random":[0,5],"rang":[0,7,9,10],"rapidoc":[0,10],"rare":7,"rate":[1,2,4,6,8,13],"rate_limit":0,"ratelimit":[0,2,6,9,10,13],"rather":[9,16],"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,3,5,6,10,11,12,14,15],"readabl":10,"readi":[4,5,6,7],"real":[2,5,6,7,10,11,14,15,16],"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],"referr":13,"refresh":15,"refus":10,"regist":[0,9,10,11],"register_blueprint":12,"reject":[1,9,10,16],"relat":[0,10,15],"releas":8,"reliabl":9,"reload":8,"remain":[0,9,10],"rememb":11,"remov":[10,12,14,16],"renam":9,"render":[0,4,6,10],"render_async":7,"render_templ":12,"replac":[2,7,10,14],"repo":8,"report":[7,9,10],"repres":0,"represent":0,"reproduc":4,"req":[0,2,4,6,7,9,10,11,12,13,14,15,16],"request":[1,2,3,4,6,8,11,12,13,14,15],"request_id":[0,2,10,13],"request_model":[0,2,9,10,14,15],"requir":[0,2,4,9,10],"require_rol":11,"research":6,"resolv":[2,10],"resolve_hello":[0,10],"resourc":[7,10,14],"resp":[0,2,4,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,8,9,10,12,13,14,15,16],"response_model":[0,2,10,14,15],"rest":[2,4,6,7,10],"restrict":[4,10,11],"result":[0,2,7,10,15],"resum":2,"resume_incomplet":2,"retri":[0,10],"retriev":[0,10,14],"return":[0,2,4,6,7,9,10,11,12,13,14,15],"reusabl":11,"revers":[0,6],"reverse_proxi":4,"revok":11,"rework":2,"rewrit":2,"rewrot":2,"rfc3986":2,"right":[6,7,10,12,13],"role":6,"roll":15,"room":6,"root":[2,10],"rotat":5,"rout":[1,2,4,6,8,9,13,14,15,16],"routegroup":0,"router":[2,8],"rst":2,"ruff":[2,8],"rule":5,"run":[0,2,3,6,9,10,12,13,16],"run_sync":15,"runnabl":8,"runner":[2,4],"runtim":3,"runtimeerror":0,"s3":3,"safe":[2,14],"sai":7,"said":4,"same":[3,4,6,7,10,12,13,14,15],"sandbox":6,"save":[7,16],"scalar":15,"scale":[6,11],"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":[4,6,7,10,11],"secret_kei":[0,3,4,5,10,11],"section":10,"secur":[0,10,13],"securityheadersmiddlewar":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,13,14,16],"send_byt":[10,16],"send_email":0,"send_json":[10,16],"send_text":[9,10,16],"send_with_head":13,"sensit":11,"sent":[0,2,6,7,13],"separ":[7,9,14],"sequenti":2,"serial":[0,2,6,7,10,16],"serializ":7,"serv":[0,2,3,4,5,6,7,9,14,16],"server":[0,2,3,4,5,6,8,9,11,13,14,15],"servererrormiddlewar":13,"servestat":2,"servic":[0,3,4,6,9,10,11,14],"session":[0,2,5,6,7,9,12,13,15],"session_id":10,"sessionmiddlewar":13,"set":[0,2,3,4,5,6,7,9,10,11,15,16],"set_cooki":[0,2,10],"set_text":0,"setattr":15,"setup":[2,5,6,9],"sever":[10,13,16],"sftp":3,"sh":4,"shape":10,"share":[0,3,7,9,10,15],"shell":5,"short":[0,1,2,10],"shorthand":0,"should":[4,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],"significantli":4,"signup":11,"simpl":[3,4,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,8,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,11,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],"spa":11,"spawn":4,"spec":[7,10],"special":[6,10],"specif":[0,2,5,9,10,11,13,14,16],"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,11,13,14,15],"startswith":11,"startup":[0,2,6,9,10],"state":[0,2,9,10,11,16],"stateless":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,4,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":[8,10],"storag":[3,6],"store":[0,5,10,11,14],"str":[0,7,9,10,11,14,15],"straightforward":10,"stranger":[0,10],"strategi":6,"stream":[0,2,6,10,13],"stream_data":0,"stream_fil":[0,2,10],"strict":[10,13],"string":[0,6,7,10,15,16],"strip":[2,10,11],"structur":[1,10],"style":[10,15],"stylesheet":10,"sub":11,"subclass":0,"subcommand":3,"subject":0,"submiss":0,"submit":0,"subrout":[6,9,10,12],"subsequ":[10,11],"subtl":2,"succe":9,"success":[0,7,14],"successfulli":14,"successor":4,"suit":[8,9],"suppli":2,"support":[0,1,2,3,4,6,7,12,15,16],"swagger":[0,6,10,14],"swagger_ui":[0,10],"swallow":16,"switch":[2,15,16],"sync":[2,6,7,12],"synchron":[0,12],"syntax":[2,6,7,12,15],"synthet":9,"system":[3,4,7,10],"t":[0,4,5,7,9,10,11,12,13,14,15],"tab":16,"tabl":15,"tag":0,"take":[6,7],"tamper":[10,11],"target":2,"task":[0,2,6,8],"teach":6,"tear":10,"tell":[7,10,14,15],"templat":[0,2,6],"template_str":[0,7],"templates_dir":0,"termin":[3,4,16],"terms_of_servic":0,"test":[0,2,3,5,6,7,14],"test_500":[2,9],"test_api":9,"test_create_item":9,"test_custom_error":9,"test_echo":16,"test_flask_mount":9,"test_head":9,"test_hello":9,"test_hook":9,"test_json":9,"test_mount":8,"test_rate_limit":9,"test_respond":8,"test_upload":9,"test_valid":9,"test_websocket":9,"test_websocket_404":16,"test_with_lifespan":9,"testclient":[0,2,9,16],"text":[0,2,6,7,9,10,12,16],"textcont":16,"than":[4,9,10,11,12,13,14,15,16],"thei":[0,5,7,9,10,11,12,13,14,16],"them":[3,4,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,10,13],"think":7,"third":[6,9],"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,"ti":4,"time":[0,2,6,7,9,10,12,13,14,15,16],"time_start":0,"timedelta":11,"timeout":4,"timezon":11,"timingmiddlewar":13,"tip":[2,6],"titl":[0,2,7,10,14,15],"tl":4,"togeth":[4,6,10],"token":[0,6,7,10,16],"token_hex":5,"toml":[2,8],"too":[0,3,4,9,10],"tool":[4,8,11,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,9],"trustedhostmiddlewar":[4,13],"try":[6,7,11,16],"tupl":[0,7,9],"tutori":[2,7,14],"two":[7,9,10,13],"type":[0,2,6,10,12,13,14,15,16],"typic":[7,10],"typo":[2,10],"ui":[0,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,11],"unlik":10,"unmaintain":2,"unmatch":10,"unpin":2,"unprocess":10,"unrecogn":10,"until":7,"up":[0,2,4,7,10],"updat":[2,6,7,10,15,16],"update_book":[14,15],"upgrad":[2,8,10,16],"upload":[0,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,4,5,7,10,11,12,15],"user_id":[7,10,11,12],"user_rol":11,"usernam":[10,11],"usr":4,"usual":9,"utc":11,"utf":0,"uuid":[0,2,7,10],"uuid4":0,"uv":[3,4,5,6,8,11,15],"uvicorn":[0,2,6,7,13],"uvloop":4,"v":6,"v1":[0,10],"v2":10,"valid":[0,2,6,7,11,13,14,15],"valu":[0,6,7,9,10,11,12,13,14,15,16],"valueerror":[0,9,10,12,14],"var":4,"variabl":[0,4,6,7],"ve":[6,9,12],"venv":8,"verb":10,"veri":[0,7,15],"verif":11,"verifi":[4,9,11],"verify_token":11,"version":[0,2,6,9,10,14],"via":[0,2,4,5,10,12],"view":[0,2,6,7,9,12],"violat":16,"virtual":[3,4],"visit":[10,14],"volum":4,"vue":10,"w":[9,10,16],"wa":[0,2,7,14],"wai":[3,4,6,7,10,11,12,13,15],"wait":[4,12],"walk":[7,10,14],"walkthrough":10,"want":[0,3,4,6,7,9,10,13,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,7,13],"websocket_connect":[9,16],"websocketdisconnect":16,"websocketrout":8,"welcom":[6,7,11],"well":[6,11],"went":6,"werkzeug":[2,9],"what":[0,7,9,10,16],"whatev":7,"when":[0,2,3,4,5,6,7,9,10,12,14,15,16],"where":[0,4,7,10,11,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,11,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],"wrapper":8,"write":[6,7,10,12],"wrong":10,"ws_auth":16,"wsgi":[0,2,4,6,9,10,12],"www":5,"x":[0,4,6,7,9,10,11,12,13,14],"x00":16,"x01":16,"x02":16,"x89png":7,"xml":0,"xss":10,"xv":8,"yaml":[0,2,6,7,8,9,10],"year":[14,15],"yield":[0,10,15],"yml":[0,4,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,16],"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],"access":11,"ad":[2,13],"after":[9,10],"all":[5,7,14],"allow":5,"an":11,"api":[0,9,11,12,14],"app":[9,10,11],"asgi":13,"asset":3,"auth":11,"authent":11,"background":[0,7],"backlog":1,"base":[10,11],"bearer":11,"befor":[9,10,16],"big":12,"blueprint":12,"book":14,"build":[3,14],"built":13,"chang":2,"changelog":2,"chat":16,"check":[4,8],"checklist":4,"choos":11,"class":[0,5,10],"client":16,"cloud":4,"code":[0,8],"command":3,"compos":4,"configur":5,"connect":16,"content":10,"control":11,"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":[8,10],"echo":16,"endpoint":[4,15],"env":5,"environ":[3,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":[8,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,"health":4,"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,"layout":8,"lifecycl":16,"lifespan":[9,10,15],"limit":[0,9,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":[9,10],"name":3,"negoti":10,"next":14,"openapi":10,"order":13,"other":10,"out":14,"paramet":[7,12],"parti":13,"pattern":5,"platform":4,"postgresql":15,"product":4,"project":[6,8,14],"proxi":4,"public":11,"pure":13,"put":[5,7],"pydant":10,"queri":0,"queue":0,"quick":[7,12],"rate":[0,9,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,"role":11,"room":16,"rout":[0,7,10,11,12],"run":[4,7,8,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,"strategi":11,"support":10,"task":7,"templat":[7,12],"test":[8,9,16],"third":13,"tip":[9,15],"togeth":[5,7],"token":11,"tour":10,"trust":10,"try":14,"tutori":[6,16],"type":[7,8],"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,10],"variabl":[3,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