Browse Source

migrate startup/shutdown events to lifespan API

pull/14773/head
Pravin Kamble 6 months ago
parent
commit
f6467ce58d
  1. 12
      docs_src/app_testing/tutorial003_py39.py
  2. 9
      docs_src/body/tutorial001_py310.py
  3. 8
      docs_src/body/tutorial001_py39.py
  4. 9
      docs_src/body/tutorial002_py310.py
  5. 9
      docs_src/body/tutorial002_py39.py
  6. 12
      docs_src/events/tutorial001_py39.py
  7. 12
      docs_src/events/tutorial002_py39.py
  8. 9
      docs_src/security/tutorial001_an_py39.py
  9. 9
      docs_src/security/tutorial002_an_py310.py
  10. 10
      docs_src/security/tutorial002_py310.py
  11. 9
      docs_src/security/tutorial002_py39.py
  12. 11
      docs_src/sql_databases/tutorial001_an_py310.py
  13. 11
      docs_src/sql_databases/tutorial001_an_py39.py
  14. 11
      docs_src/sql_databases/tutorial001_py310.py
  15. 10
      docs_src/sql_databases/tutorial001_py39.py
  16. 10
      docs_src/sql_databases/tutorial002_an_py310.py
  17. 10
      docs_src/sql_databases/tutorial002_an_py39.py
  18. 11
      docs_src/sql_databases/tutorial002_py310.py
  19. 10
      docs_src/sql_databases/tutorial002_py39.py

12
docs_src/app_testing/tutorial003_py39.py

@ -1,15 +1,19 @@
from contextlib import asynccontextmanager
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
app = FastAPI()
items = {} items = {}
@app.on_event("startup") @asynccontextmanager
async def startup_event(): async def lifespan(app):
items["foo"] = {"name": "Fighters"} items["foo"] = {"name": "Fighters"}
items["bar"] = {"name": "Tenders"} items["bar"] = {"name": "Tenders"}
yield
app = FastAPI(lifespan=lifespan)
@app.get("/items/{item_id}") @app.get("/items/{item_id}")

9
docs_src/body/tutorial001_py310.py

@ -1,3 +1,5 @@
from contextlib import asynccontextmanager
from fastapi import FastAPI from fastapi import FastAPI
from pydantic import BaseModel from pydantic import BaseModel
@ -9,7 +11,12 @@ class Item(BaseModel):
tax: float | None = None tax: float | None = None
app = FastAPI() @asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
@app.post("/items/") @app.post("/items/")

8
docs_src/body/tutorial001_py39.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Union from typing import Union
from fastapi import FastAPI from fastapi import FastAPI
@ -11,7 +12,12 @@ class Item(BaseModel):
tax: Union[float, None] = None tax: Union[float, None] = None
app = FastAPI() @asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
@app.post("/items/") @app.post("/items/")

9
docs_src/body/tutorial002_py310.py

@ -1,3 +1,5 @@
from contextlib import asynccontextmanager
from fastapi import FastAPI from fastapi import FastAPI
from pydantic import BaseModel from pydantic import BaseModel
@ -9,7 +11,12 @@ class Item(BaseModel):
tax: float | None = None tax: float | None = None
app = FastAPI() @asynccontextmanager
async def lifespan(app: FastAPI):
yield
app = FastAPI(lifespan=lifespan)
@app.post("/items/") @app.post("/items/")

9
docs_src/body/tutorial002_py39.py

@ -1,3 +1,5 @@
from collections.abc import AsyncGenerator
from contextlib import asynccontextmanager
from typing import Union from typing import Union
from fastapi import FastAPI from fastapi import FastAPI
@ -11,7 +13,12 @@ class Item(BaseModel):
tax: Union[float, None] = None tax: Union[float, None] = None
app = FastAPI() @asynccontextmanager
async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
yield
app = FastAPI(lifespan=lifespan)
@app.post("/items/") @app.post("/items/")

12
docs_src/events/tutorial001_py39.py

@ -1,14 +1,18 @@
from fastapi import FastAPI from contextlib import asynccontextmanager
app = FastAPI() from fastapi import FastAPI
items = {} items = {}
@app.on_event("startup") @asynccontextmanager
async def startup_event(): async def lifespan(app):
items["foo"] = {"name": "Fighters"} items["foo"] = {"name": "Fighters"}
items["bar"] = {"name": "Tenders"} items["bar"] = {"name": "Tenders"}
yield
app = FastAPI(lifespan=lifespan)
@app.get("/items/{item_id}") @app.get("/items/{item_id}")

12
docs_src/events/tutorial002_py39.py

@ -1,14 +1,18 @@
from fastapi import FastAPI from contextlib import asynccontextmanager
app = FastAPI() from fastapi import FastAPI
@app.on_event("shutdown") @asynccontextmanager
def shutdown_event(): async def lifespan(app):
yield
with open("log.txt", mode="a") as log: with open("log.txt", mode="a") as log:
log.write("Application shutdown") log.write("Application shutdown")
app = FastAPI(lifespan=lifespan)
@app.get("/items/") @app.get("/items/")
async def read_items(): async def read_items():
return [{"name": "Foo"}] return [{"name": "Foo"}]

9
docs_src/security/tutorial001_an_py39.py

@ -1,9 +1,16 @@
from contextlib import asynccontextmanager
from typing import Annotated from typing import Annotated
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer from fastapi.security import OAuth2PasswordBearer
app = FastAPI()
@asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

9
docs_src/security/tutorial002_an_py310.py

@ -1,10 +1,17 @@
from contextlib import asynccontextmanager
from typing import Annotated from typing import Annotated
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer from fastapi.security import OAuth2PasswordBearer
from pydantic import BaseModel from pydantic import BaseModel
app = FastAPI()
@asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

10
docs_src/security/tutorial002_py310.py

@ -1,8 +1,16 @@
from contextlib import asynccontextmanager
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer from fastapi.security import OAuth2PasswordBearer
from pydantic import BaseModel from pydantic import BaseModel
app = FastAPI()
@asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

9
docs_src/security/tutorial002_py39.py

@ -1,10 +1,17 @@
from contextlib import asynccontextmanager
from typing import Union from typing import Union
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer from fastapi.security import OAuth2PasswordBearer
from pydantic import BaseModel from pydantic import BaseModel
app = FastAPI()
@asynccontextmanager
async def lifespan(app):
yield
app = FastAPI(lifespan=lifespan)
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

11
docs_src/sql_databases/tutorial001_an_py310.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Annotated from typing import Annotated
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -29,12 +30,14 @@ def get_session():
SessionDep = Annotated[Session, Depends(get_session)] SessionDep = Annotated[Session, Depends(get_session)]
app = FastAPI()
@asynccontextmanager
@app.on_event("startup") async def lifespan(app):
def on_startup():
create_db_and_tables() create_db_and_tables()
yield
app = FastAPI(lifespan=lifespan)
@app.post("/heroes/") @app.post("/heroes/")

11
docs_src/sql_databases/tutorial001_an_py39.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Annotated, Union from typing import Annotated, Union
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -29,12 +30,14 @@ def get_session():
SessionDep = Annotated[Session, Depends(get_session)] SessionDep = Annotated[Session, Depends(get_session)]
app = FastAPI()
@asynccontextmanager
@app.on_event("startup") async def lifespan(app):
def on_startup():
create_db_and_tables() create_db_and_tables()
yield
app = FastAPI(lifespan=lifespan)
@app.post("/heroes/") @app.post("/heroes/")

11
docs_src/sql_databases/tutorial001_py310.py

@ -1,3 +1,5 @@
from contextlib import asynccontextmanager
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
from sqlmodel import Field, Session, SQLModel, create_engine, select from sqlmodel import Field, Session, SQLModel, create_engine, select
@ -25,12 +27,13 @@ def get_session():
yield session yield session
app = FastAPI() @asynccontextmanager
async def lifespan(app):
create_db_and_tables()
yield
@app.on_event("startup") app = FastAPI(lifespan=lifespan)
def on_startup():
create_db_and_tables()
@app.post("/heroes/") @app.post("/heroes/")

10
docs_src/sql_databases/tutorial001_py39.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Union from typing import Union
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -27,12 +28,13 @@ def get_session():
yield session yield session
app = FastAPI() @asynccontextmanager
async def lifespan(app):
create_db_and_tables()
yield
@app.on_event("startup") app = FastAPI(lifespan=lifespan)
def on_startup():
create_db_and_tables()
@app.post("/heroes/") @app.post("/heroes/")

10
docs_src/sql_databases/tutorial002_an_py310.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Annotated from typing import Annotated
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -45,12 +46,15 @@ def get_session():
SessionDep = Annotated[Session, Depends(get_session)] SessionDep = Annotated[Session, Depends(get_session)]
app = FastAPI()
@app.on_event("startup") @asynccontextmanager
def on_startup(): async def lifespan(app):
create_db_and_tables() create_db_and_tables()
yield
app = FastAPI(lifespan=lifespan)
@app.post("/heroes/", response_model=HeroPublic) @app.post("/heroes/", response_model=HeroPublic)

10
docs_src/sql_databases/tutorial002_an_py39.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Annotated, Union from typing import Annotated, Union
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -45,12 +46,15 @@ def get_session():
SessionDep = Annotated[Session, Depends(get_session)] SessionDep = Annotated[Session, Depends(get_session)]
app = FastAPI()
@app.on_event("startup") @asynccontextmanager
def on_startup(): async def lifespan(app):
create_db_and_tables() create_db_and_tables()
yield
app = FastAPI(lifespan=lifespan)
@app.post("/heroes/", response_model=HeroPublic) @app.post("/heroes/", response_model=HeroPublic)

11
docs_src/sql_databases/tutorial002_py310.py

@ -1,3 +1,5 @@
from contextlib import asynccontextmanager
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
from sqlmodel import Field, Session, SQLModel, create_engine, select from sqlmodel import Field, Session, SQLModel, create_engine, select
@ -42,12 +44,13 @@ def get_session():
yield session yield session
app = FastAPI() @asynccontextmanager
async def lifespan(app):
create_db_and_tables()
yield
@app.on_event("startup") app = FastAPI(lifespan=lifespan)
def on_startup():
create_db_and_tables()
@app.post("/heroes/", response_model=HeroPublic) @app.post("/heroes/", response_model=HeroPublic)

10
docs_src/sql_databases/tutorial002_py39.py

@ -1,3 +1,4 @@
from contextlib import asynccontextmanager
from typing import Union from typing import Union
from fastapi import Depends, FastAPI, HTTPException, Query from fastapi import Depends, FastAPI, HTTPException, Query
@ -44,12 +45,13 @@ def get_session():
yield session yield session
app = FastAPI() @asynccontextmanager
async def lifespan(app):
create_db_and_tables()
yield
@app.on_event("startup") app = FastAPI(lifespan=lifespan)
def on_startup():
create_db_and_tables()
@app.post("/heroes/", response_model=HeroPublic) @app.post("/heroes/", response_model=HeroPublic)

Loading…
Cancel
Save