]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
⬆️ Upgrade configuration for Ruff v0.2.0 (#11075)
authorCharlie Marsh <crmarsh416@gmail.com>
Tue, 26 Mar 2024 16:56:53 +0000 (12:56 -0400)
committerGitHub <noreply@github.com>
Tue, 26 Mar 2024 16:56:53 +0000 (11:56 -0500)
44 files changed:
.pre-commit-config.yaml
docs_src/dependencies/tutorial005_an.py
docs_src/dependencies/tutorial005_an_py310.py
docs_src/dependencies/tutorial005_an_py39.py
docs_src/header_params/tutorial002.py
docs_src/header_params/tutorial002_an_py310.py
docs_src/header_params/tutorial002_py310.py
docs_src/query_params_str_validations/tutorial003.py
docs_src/query_params_str_validations/tutorial003_an.py
docs_src/query_params_str_validations/tutorial003_an_py310.py
docs_src/query_params_str_validations/tutorial003_an_py39.py
docs_src/query_params_str_validations/tutorial007.py
docs_src/query_params_str_validations/tutorial007_an.py
docs_src/query_params_str_validations/tutorial007_an_py310.py
docs_src/query_params_str_validations/tutorial007_an_py39.py
docs_src/query_params_str_validations/tutorial007_py310.py
docs_src/query_params_str_validations/tutorial014.py
docs_src/query_params_str_validations/tutorial014_an.py
docs_src/query_params_str_validations/tutorial014_an_py310.py
docs_src/query_params_str_validations/tutorial014_an_py39.py
docs_src/query_params_str_validations/tutorial014_py310.py
docs_src/security/tutorial003_an.py
docs_src/security/tutorial003_an_py310.py
docs_src/security/tutorial003_an_py39.py
docs_src/security/tutorial004.py
docs_src/security/tutorial004_an.py
docs_src/security/tutorial004_an_py310.py
docs_src/security/tutorial004_an_py39.py
docs_src/security/tutorial004_py310.py
docs_src/security/tutorial005.py
docs_src/security/tutorial005_an.py
docs_src/security/tutorial005_an_py310.py
docs_src/security/tutorial005_an_py39.py
docs_src/security/tutorial005_py310.py
docs_src/security/tutorial005_py39.py
docs_src/security/tutorial007_an.py
docs_src/security/tutorial007_an_py39.py
fastapi/dependencies/utils.py
fastapi/encoders.py
pyproject.toml
requirements-tests.txt
tests/test_param_include_in_schema.py
tests/test_regex_deprecated_body.py
tests/test_regex_deprecated_params.py

index a7f2fb3f229d31d77630f5bf748e9c22e52141f7..4d49845d6730db07a7c629038c885d1acf6b3a76 100644 (file)
@@ -14,7 +14,7 @@ repos:
     -   id: end-of-file-fixer
     -   id: trailing-whitespace
 -   repo: https://github.com/charliermarsh/ruff-pre-commit
-    rev: v0.1.2
+    rev: v0.2.0
     hooks:
     -   id: ruff
         args:
index 6785099dabe7b4cc28e10ac72e783857d3a3d7e0..1d78c17a2a09fbfb332df9da12dc3756b1a59f25 100644 (file)
@@ -21,6 +21,6 @@ def query_or_cookie_extractor(
 
 @app.get("/items/")
 async def read_query(
-    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)]
+    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)],
 ):
     return {"q_or_cookie": query_or_default}
index 6c0aa0b3686be611ce5b16fc57710881495c71ae..5ccfc62bdfb272a4f3f585891a6560d2404280f3 100644 (file)
@@ -20,6 +20,6 @@ def query_or_cookie_extractor(
 
 @app.get("/items/")
 async def read_query(
-    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)]
+    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)],
 ):
     return {"q_or_cookie": query_or_default}
index e8887e162167c70eac111e5074c7b4471e200f07..d5dd8dca9aad28a62a85bfd504e7f6a373c5e938 100644 (file)
@@ -20,6 +20,6 @@ def query_or_cookie_extractor(
 
 @app.get("/items/")
 async def read_query(
-    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)]
+    query_or_default: Annotated[str, Depends(query_or_cookie_extractor)],
 ):
     return {"q_or_cookie": query_or_default}
index 639ab1735d0685e4c57a87a797c40fafac5c6f8c..0a34f17cc4b59035aa509cfed1c91361c6bd1886 100644 (file)
@@ -7,6 +7,6 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    strange_header: Union[str, None] = Header(default=None, convert_underscores=False)
+    strange_header: Union[str, None] = Header(default=None, convert_underscores=False),
 ):
     return {"strange_header": strange_header}
index b340647b600d078e97809e8c442759e12b16160c..8a102749f289f21db9f7ed447c1c91a8b2b55ced 100644 (file)
@@ -7,6 +7,6 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    strange_header: Annotated[str | None, Header(convert_underscores=False)] = None
+    strange_header: Annotated[str | None, Header(convert_underscores=False)] = None,
 ):
     return {"strange_header": strange_header}
index b7979b542a1439716032ad5bca5f32adb896b2f4..10d6716c649e74732c5afd120710981b8b30f16f 100644 (file)
@@ -5,6 +5,6 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    strange_header: str | None = Header(default=None, convert_underscores=False)
+    strange_header: str | None = Header(default=None, convert_underscores=False),
 ):
     return {"strange_header": strange_header}
index 73d2e08c8ef0d33cc74dc1796a52440e5fad8f2b..7d4917373a342321af61e981741f35d36437d895 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Union[str, None] = Query(default=None, min_length=3, max_length=50)
+    q: Union[str, None] = Query(default=None, min_length=3, max_length=50),
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index a3665f6a85d6cc891e327be5a131fe183ea5a78b..0dd14086cf245ede2530f5138195f4e476601ade 100644 (file)
@@ -8,7 +8,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[Union[str, None], Query(min_length=3, max_length=50)] = None
+    q: Annotated[Union[str, None], Query(min_length=3, max_length=50)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index 836af04de0bee562239dc87e96b6af0d34b84381..79a604b6ce9355f6d94e362a0ccc4bc36f5e36a4 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[str | None, Query(min_length=3, max_length=50)] = None
+    q: Annotated[str | None, Query(min_length=3, max_length=50)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index 87a4268394a616c4619bc578e04a294d154d088f..3d6697793fd48ee1700e5f35dece805deb0aa8fe 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[Union[str, None], Query(min_length=3, max_length=50)] = None
+    q: Annotated[Union[str, None], Query(min_length=3, max_length=50)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index cb836569e980e0ad913fb2f6d20c2810e019aab3..27b649e1455d471b32a38eb5522bd045c624bcf4 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Union[str, None] = Query(default=None, title="Query string", min_length=3)
+    q: Union[str, None] = Query(default=None, title="Query string", min_length=3),
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index 3bc85cc0cf51131ecabba5ee39b84239d779e4d8..4b3c8de4b92578f276acad3f62bd00403f314420 100644 (file)
@@ -8,7 +8,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[Union[str, None], Query(title="Query string", min_length=3)] = None
+    q: Annotated[Union[str, None], Query(title="Query string", min_length=3)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index 5933911fdfaafe464e26fb5131543e56c5d0da8e..ef18e500d6cb3e688d7e8497b7c70502a6148558 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[str | None, Query(title="Query string", min_length=3)] = None
+    q: Annotated[str | None, Query(title="Query string", min_length=3)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index dafa1c5c949882503672169996c65bea5037d1ac..8d7a82c4658ad4e334448b59a3f77aea3c6242d8 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: Annotated[Union[str, None], Query(title="Query string", min_length=3)] = None
+    q: Annotated[Union[str, None], Query(title="Query string", min_length=3)] = None,
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index e3e1ef2e087116b42e7c8346b98834573c952123..c283576d52b52f177ca1d2f580247155a746d862 100644 (file)
@@ -5,7 +5,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    q: str | None = Query(default=None, title="Query string", min_length=3)
+    q: str | None = Query(default=None, title="Query string", min_length=3),
 ):
     results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
     if q:
index 50e0a6c2b18cebcf70b6b9229b2844666e5599e6..779db1c80ed58a4b5006158eb19d21021f79e3a2 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    hidden_query: Union[str, None] = Query(default=None, include_in_schema=False)
+    hidden_query: Union[str, None] = Query(default=None, include_in_schema=False),
 ):
     if hidden_query:
         return {"hidden_query": hidden_query}
index a9a9c44270c440fe24117e245e771406f9b06b3c..2eaa585407db1e8a92a0aa33b5784aca2f359cd6 100644 (file)
@@ -8,7 +8,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    hidden_query: Annotated[Union[str, None], Query(include_in_schema=False)] = None
+    hidden_query: Annotated[Union[str, None], Query(include_in_schema=False)] = None,
 ):
     if hidden_query:
         return {"hidden_query": hidden_query}
index 5fba54150be79ca4c82026592a8b12abfecfc316..e728dbdb597f717356f1fe16a5f3b79312209ca8 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    hidden_query: Annotated[str | None, Query(include_in_schema=False)] = None
+    hidden_query: Annotated[str | None, Query(include_in_schema=False)] = None,
 ):
     if hidden_query:
         return {"hidden_query": hidden_query}
index b079852100f644eeedf75a6b60c560953dbb4f6b..aaf7703a5786f5582222402ad73bdb04b0aad7ad 100644 (file)
@@ -7,7 +7,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    hidden_query: Annotated[Union[str, None], Query(include_in_schema=False)] = None
+    hidden_query: Annotated[Union[str, None], Query(include_in_schema=False)] = None,
 ):
     if hidden_query:
         return {"hidden_query": hidden_query}
index 1b617efdd128a043e7f06ccb863b33fe92fc3986..97bb3386ee0f9c7be0c5181654a914d59e8fc9b2 100644 (file)
@@ -5,7 +5,7 @@ app = FastAPI()
 
 @app.get("/items/")
 async def read_items(
-    hidden_query: str | None = Query(default=None, include_in_schema=False)
+    hidden_query: str | None = Query(default=None, include_in_schema=False),
 ):
     if hidden_query:
         return {"hidden_query": hidden_query}
index 261cb4857d2f1971e4ca08bd48dc976b3d9739a2..8fb40dd4aa8d005f2787b196ca98b49615c2679c 100644 (file)
@@ -68,7 +68,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -90,6 +90,6 @@ async def login(form_data: Annotated[OAuth2PasswordRequestForm, Depends()]):
 
 @app.get("/users/me")
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
index a03f4f8bf5fb0bf5caa3546a4ffd9df7720482c5..ced4a2fbc18b7783820900dc3f795cc78e175a83 100644 (file)
@@ -67,7 +67,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -89,6 +89,6 @@ async def login(form_data: Annotated[OAuth2PasswordRequestForm, Depends()]):
 
 @app.get("/users/me")
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
index 308dbe798fa17e8796f3dcfab74d2c3ab4ec253e..068a3933e1a053a213b2fb8cc5bf4b9d1564525f 100644 (file)
@@ -67,7 +67,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -89,6 +89,6 @@ async def login(form_data: Annotated[OAuth2PasswordRequestForm, Depends()]):
 
 @app.get("/users/me")
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
index 044eec70037da6ab2bbf0e7999f7295b6f785335..d0fbaa57220816bc6b132a831d3f01402f5747bb 100644 (file)
@@ -114,7 +114,7 @@ async def get_current_active_user(current_user: User = Depends(get_current_user)
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: OAuth2PasswordRequestForm = Depends()
+    form_data: OAuth2PasswordRequestForm = Depends(),
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
index c78e8496c642772b8310b29f00068a7b5c58eceb..eebd36d64c2544b44ff2789961c8ed3e6c61d7cc 100644 (file)
@@ -108,7 +108,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -117,7 +117,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -135,13 +135,13 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
index 36dbc677e06389af925261d934da467eba54cd3f..4e50ada7c3c98a6ac9d625d8dc276c368c489e8f 100644 (file)
@@ -107,7 +107,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -116,7 +116,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -134,13 +134,13 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
index 23fc04a72143329d8149240fe67aff14981aa16a..eb49aaa67cdfa1488fd909aaed5aa6d0e1c15124 100644 (file)
@@ -107,7 +107,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Depends(get_current_user)]
+    current_user: Annotated[User, Depends(get_current_user)],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -116,7 +116,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -134,13 +134,13 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
index 8363d45ab534987cc8b0d21a8aae142318965831..5a905783d6137d153c3192c593f8a2e541eb4dd6 100644 (file)
@@ -113,7 +113,7 @@ async def get_current_active_user(current_user: User = Depends(get_current_user)
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: OAuth2PasswordRequestForm = Depends()
+    form_data: OAuth2PasswordRequestForm = Depends(),
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
index b16bf440a51c1bb69339a49b02b536e3e7d3f4ee..d4a6975da6d36f7ac608fd5a1acfc4e4ae9ba81c 100644 (file)
@@ -136,7 +136,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: User = Security(get_current_user, scopes=["me"])
+    current_user: User = Security(get_current_user, scopes=["me"]),
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -145,7 +145,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: OAuth2PasswordRequestForm = Depends()
+    form_data: OAuth2PasswordRequestForm = Depends(),
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -165,7 +165,7 @@ async def read_users_me(current_user: User = Depends(get_current_active_user)):
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: User = Security(get_current_active_user, scopes=["items"])
+    current_user: User = Security(get_current_active_user, scopes=["items"]),
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index 95e406b32f74837790e25fab8bf1f1c7347d1037..982daed2f5462e547d5c59a17b2032ed5bb0322b 100644 (file)
@@ -137,7 +137,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Security(get_current_user, scopes=["me"])]
+    current_user: Annotated[User, Security(get_current_user, scopes=["me"])],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -146,7 +146,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -161,14 +161,14 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])]
+    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index c6116a5ed120f3f42f634a94ef52372cddeeb19a..79aafbff1b100c237ea28a10b036ec169dd49fd1 100644 (file)
@@ -136,7 +136,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Security(get_current_user, scopes=["me"])]
+    current_user: Annotated[User, Security(get_current_user, scopes=["me"])],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -145,7 +145,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -160,14 +160,14 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])]
+    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index af51c08b5081d87288ae619b30a1aa269d782374..3bdab5507fcdabdbec3a46cd0d1b375e86fa53df 100644 (file)
@@ -136,7 +136,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: Annotated[User, Security(get_current_user, scopes=["me"])]
+    current_user: Annotated[User, Security(get_current_user, scopes=["me"])],
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -145,7 +145,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
+    form_data: Annotated[OAuth2PasswordRequestForm, Depends()],
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -160,14 +160,14 @@ async def login_for_access_token(
 
 @app.get("/users/me/", response_model=User)
 async def read_users_me(
-    current_user: Annotated[User, Depends(get_current_active_user)]
+    current_user: Annotated[User, Depends(get_current_active_user)],
 ):
     return current_user
 
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])]
+    current_user: Annotated[User, Security(get_current_active_user, scopes=["items"])],
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index 37a22c70907f628f5cc9288b703f093961ada09f..9f75aa0beb4b9561734168630d1c35015ecfec15 100644 (file)
@@ -135,7 +135,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: User = Security(get_current_user, scopes=["me"])
+    current_user: User = Security(get_current_user, scopes=["me"]),
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -144,7 +144,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: OAuth2PasswordRequestForm = Depends()
+    form_data: OAuth2PasswordRequestForm = Depends(),
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -164,7 +164,7 @@ async def read_users_me(current_user: User = Depends(get_current_active_user)):
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: User = Security(get_current_active_user, scopes=["items"])
+    current_user: User = Security(get_current_active_user, scopes=["items"]),
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index c275807636c4bd347755264b3a6bf7d5ea595efb..bac2489320e1f40d6a4afaa6da6969fcf7b72994 100644 (file)
@@ -136,7 +136,7 @@ async def get_current_user(
 
 
 async def get_current_active_user(
-    current_user: User = Security(get_current_user, scopes=["me"])
+    current_user: User = Security(get_current_user, scopes=["me"]),
 ):
     if current_user.disabled:
         raise HTTPException(status_code=400, detail="Inactive user")
@@ -145,7 +145,7 @@ async def get_current_active_user(
 
 @app.post("/token")
 async def login_for_access_token(
-    form_data: OAuth2PasswordRequestForm = Depends()
+    form_data: OAuth2PasswordRequestForm = Depends(),
 ) -> Token:
     user = authenticate_user(fake_users_db, form_data.username, form_data.password)
     if not user:
@@ -165,7 +165,7 @@ async def read_users_me(current_user: User = Depends(get_current_active_user)):
 
 @app.get("/users/me/items/")
 async def read_own_items(
-    current_user: User = Security(get_current_active_user, scopes=["items"])
+    current_user: User = Security(get_current_active_user, scopes=["items"]),
 ):
     return [{"item_id": "Foo", "owner": current_user.username}]
 
index 9e9c3cd7020f0f06e08ecb97bfa0487a117e7ef6..0d211dfde55867ec73a3166cc58baca2f6a491ac 100644 (file)
@@ -10,7 +10,7 @@ security = HTTPBasic()
 
 
 def get_current_username(
-    credentials: Annotated[HTTPBasicCredentials, Depends(security)]
+    credentials: Annotated[HTTPBasicCredentials, Depends(security)],
 ):
     current_username_bytes = credentials.username.encode("utf8")
     correct_username_bytes = b"stanleyjobson"
index 3d9ea27269eed54c9de5f470363d09950909dc1d..87ef9865743549ed63a1997fee29de4fe12f9eea 100644 (file)
@@ -10,7 +10,7 @@ security = HTTPBasic()
 
 
 def get_current_username(
-    credentials: Annotated[HTTPBasicCredentials, Depends(security)]
+    credentials: Annotated[HTTPBasicCredentials, Depends(security)],
 ):
     current_username_bytes = credentials.username.encode("utf8")
     correct_username_bytes = b"stanleyjobson"
index b73473484159c0d3e43c2c8ab4e8d45507887a48..02284b4ed001b2101b73734b2eaee1fa82501b5e 100644 (file)
@@ -743,7 +743,7 @@ async def request_body_to_args(
                 results: List[Union[bytes, str]] = []
 
                 async def process_fn(
-                    fn: Callable[[], Coroutine[Any, Any, Any]]
+                    fn: Callable[[], Coroutine[Any, Any, Any]],
                 ) -> None:
                     result = await fn()
                     results.append(result)  # noqa: B023
index e5017139319b1d53c30a537a0b40c4eba873b9ca..431387f716dadcc708a483e716461cf7828a56b6 100644 (file)
@@ -86,7 +86,7 @@ ENCODERS_BY_TYPE: Dict[Type[Any], Callable[[Any], Any]] = {
 
 
 def generate_encoders_by_class_tuples(
-    type_encoder_map: Dict[Any, Callable[[Any], Any]]
+    type_encoder_map: Dict[Any, Callable[[Any], Any]],
 ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]:
     encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(
         tuple
index c23e82ef4709f0800529f176fa1b82567eada1ad..24dc5ab77e0fd1be5972a0260f3c2d05c2675446 100644 (file)
@@ -139,7 +139,7 @@ omit = [
     "docs_src/response_model/tutorial003_04_py310.py",
 ]
 
-[tool.ruff]
+[tool.ruff.lint]
 select = [
     "E",  # pycodestyle errors
     "W",  # pycodestyle warnings
@@ -155,7 +155,7 @@ ignore = [
     "W191",  # indentation contains tabs
 ]
 
-[tool.ruff.per-file-ignores]
+[tool.ruff.lint.per-file-ignores]
 "__init__.py" = ["F401"]
 "docs_src/dependencies/tutorial007.py" = ["F821"]
 "docs_src/dependencies/tutorial008.py" = ["F821"]
@@ -188,9 +188,9 @@ ignore = [
 "docs_src/dependencies/tutorial008b_an_py39.py" = ["B904"]
 
 
-[tool.ruff.isort]
+[tool.ruff.lint.isort]
 known-third-party = ["fastapi", "pydantic", "starlette"]
 
-[tool.ruff.pyupgrade]
+[tool.ruff.lint.pyupgrade]
 # Preserve types, even if a file imports `from __future__ import annotations`.
 keep-runtime-typing = true
index a5586c5cef6387a8839ca5590affd5c0b2fcfc73..09ca9cb52cdbc924f80ce6523fcc5af9b4d2eca0 100644 (file)
@@ -4,7 +4,7 @@ pydantic-settings >=2.0.0
 pytest >=7.1.3,<8.0.0
 coverage[toml] >= 6.5.0,< 8.0
 mypy ==1.4.1
-ruff ==0.1.2
+ruff ==0.2.0
 email_validator >=1.1.1,<3.0.0
 dirty-equals ==0.6.0
 # TODO: once removing databases from tutorial, upgrade SQLAlchemy
index 26201e9e2d496f32c5a0f886a24e1d701c81b70a..f461947c977a794473686487be84d39679944f49 100644 (file)
@@ -9,14 +9,14 @@ app = FastAPI()
 
 @app.get("/hidden_cookie")
 async def hidden_cookie(
-    hidden_cookie: Optional[str] = Cookie(default=None, include_in_schema=False)
+    hidden_cookie: Optional[str] = Cookie(default=None, include_in_schema=False),
 ):
     return {"hidden_cookie": hidden_cookie}
 
 
 @app.get("/hidden_header")
 async def hidden_header(
-    hidden_header: Optional[str] = Header(default=None, include_in_schema=False)
+    hidden_header: Optional[str] = Header(default=None, include_in_schema=False),
 ):
     return {"hidden_header": hidden_header}
 
@@ -28,7 +28,7 @@ async def hidden_path(hidden_path: str = Path(include_in_schema=False)):
 
 @app.get("/hidden_query")
 async def hidden_query(
-    hidden_query: Optional[str] = Query(default=None, include_in_schema=False)
+    hidden_query: Optional[str] = Query(default=None, include_in_schema=False),
 ):
     return {"hidden_query": hidden_query}
 
index ca1ab514c8acb28532c93a96ae57e6e075c504fc..7afddd9ae00b3bbfaced62ad970cd06e3405a016 100644 (file)
@@ -14,7 +14,7 @@ def get_client():
 
         @app.post("/items/")
         async def read_items(
-            q: Annotated[str | None, Form(regex="^fixedquery$")] = None
+            q: Annotated[str | None, Form(regex="^fixedquery$")] = None,
         ):
             if q:
                 return f"Hello {q}"
index 79a65335339c283b8aa65507934ef332079ac971..7190b543cb63ed80327dfdecb0eda99624b6d5b4 100644 (file)
@@ -14,7 +14,7 @@ def get_client():
 
         @app.get("/items/")
         async def read_items(
-            q: Annotated[str | None, Query(regex="^fixedquery$")] = None
+            q: Annotated[str | None, Query(regex="^fixedquery$")] = None,
         ):
             if q:
                 return f"Hello {q}"