The following issues were found

tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py
5 issues
Missing module docstring
Error

Line: 1 Column: 1

              from fastapi.testclient import TestClient

from docs_src.custom_request_and_route.tutorial002 import app

client = TestClient(app)


def test_endpoint_works():
    response = client.post("/", json=[1, 2, 3])

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 8 Column: 1

              client = TestClient(app)


def test_endpoint_works():
    response = client.post("/", json=[1, 2, 3])
    assert response.json() == 6


def test_exception_handler_body_access():

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 10
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              
def test_endpoint_works():
    response = client.post("/", json=[1, 2, 3])
    assert response.json() == 6


def test_exception_handler_body_access():
    response = client.post("/", json={"numbers": [1, 2, 3]})


            

Reported by Bandit.

Missing function or method docstring
Error

Line: 13 Column: 1

                  assert response.json() == 6


def test_exception_handler_body_access():
    response = client.post("/", json={"numbers": [1, 2, 3]})

    assert response.json() == {
        "detail": {
            "body": '{"numbers": [1, 2, 3]}',

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 16
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def test_exception_handler_body_access():
    response = client.post("/", json={"numbers": [1, 2, 3]})

    assert response.json() == {
        "detail": {
            "body": '{"numbers": [1, 2, 3]}',
            "errors": [
                {
                    "loc": ["body"],

            

Reported by Bandit.

docs_src/security/tutorial007.py
5 issues
Unable to import 'fastapi'
Error

Line: 3 Column: 1

              import secrets

from fastapi import Depends, FastAPI, HTTPException, status
from fastapi.security import HTTPBasic, HTTPBasicCredentials

app = FastAPI()

security = HTTPBasic()


            

Reported by Pylint.

Unable to import 'fastapi.security'
Error

Line: 4 Column: 1

              import secrets

from fastapi import Depends, FastAPI, HTTPException, status
from fastapi.security import HTTPBasic, HTTPBasicCredentials

app = FastAPI()

security = HTTPBasic()


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import secrets

from fastapi import Depends, FastAPI, HTTPException, status
from fastapi.security import HTTPBasic, HTTPBasicCredentials

app = FastAPI()

security = HTTPBasic()


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 11 Column: 1

              security = HTTPBasic()


def get_current_username(credentials: HTTPBasicCredentials = Depends(security)):
    correct_username = secrets.compare_digest(credentials.username, "stanleyjobson")
    correct_password = secrets.compare_digest(credentials.password, "swordfish")
    if not (correct_username and correct_password):
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 24 Column: 1

              

@app.get("/users/me")
def read_current_user(username: str = Depends(get_current_username)):
    return {"username": username}

            

Reported by Pylint.

docs_src/additional_status_codes/tutorial001.py
5 issues
Unable to import 'fastapi'
Error

Line: 3 Column: 1

              from typing import Optional

from fastapi import Body, FastAPI, status
from fastapi.responses import JSONResponse

app = FastAPI()

items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}}


            

Reported by Pylint.

Unable to import 'fastapi.responses'
Error

Line: 4 Column: 1

              from typing import Optional

from fastapi import Body, FastAPI, status
from fastapi.responses import JSONResponse

app = FastAPI()

items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}}


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from typing import Optional

from fastapi import Body, FastAPI, status
from fastapi.responses import JSONResponse

app = FastAPI()

items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}}


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 12 Column: 1

              

@app.put("/items/{item_id}")
async def upsert_item(
    item_id: str, name: Optional[str] = Body(None), size: Optional[int] = Body(None)
):
    if item_id in items:
        item = items[item_id]
        item["name"] = name

            

Reported by Pylint.

Unnecessary "else" after "return"
Error

Line: 15 Column: 5

              async def upsert_item(
    item_id: str, name: Optional[str] = Body(None), size: Optional[int] = Body(None)
):
    if item_id in items:
        item = items[item_id]
        item["name"] = name
        item["size"] = size
        return item
    else:

            

Reported by Pylint.

tests/test_tutorial/test_testing/test_main.py
5 issues
Missing module docstring
Error

Line: 1 Column: 1

              from docs_src.app_testing.test_main import client, test_read_main

openapi_schema = {
    "openapi": "3.0.2",
    "info": {"title": "FastAPI", "version": "0.1.0"},
    "paths": {
        "/": {
            "get": {
                "responses": {

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 23 Column: 1

              }


def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema



            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 25
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              
def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 26
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Bandit.

Missing function or method docstring
Error

Line: 29 Column: 1

                  assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Pylint.

tests/test_tutorial/test_testing/test_tutorial001.py
5 issues
Missing module docstring
Error

Line: 1 Column: 1

              from docs_src.app_testing.tutorial001 import client, test_read_main

openapi_schema = {
    "openapi": "3.0.2",
    "info": {"title": "FastAPI", "version": "0.1.0"},
    "paths": {
        "/": {
            "get": {
                "responses": {

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 23 Column: 1

              }


def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema



            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 25
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              
def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Bandit.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 26
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def test_openapi_schema():
    response = client.get("/openapi.json")
    assert response.status_code == 200, response.text
    assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Bandit.

Missing function or method docstring
Error

Line: 29 Column: 1

                  assert response.json() == openapi_schema


def test_main():
    test_read_main()

            

Reported by Pylint.

docs_src/sql_databases_peewee/sql_app/database.py
5 issues
Unable to import 'peewee'
Error

Line: 3 Column: 1

              from contextvars import ContextVar

import peewee

DATABASE_NAME = "test.db"
db_state_default = {"closed": None, "conn": None, "ctx": None, "transactions": None}
db_state = ContextVar("db_state", default=db_state_default.copy())



            

Reported by Pylint.

Access to a protected member _ConnectionState of a client class
Error

Line: 10 Column: 29

              db_state = ContextVar("db_state", default=db_state_default.copy())


class PeeweeConnectionState(peewee._ConnectionState):
    def __init__(self, **kwargs):
        super().__setattr__("_state", db_state)
        super().__init__(**kwargs)

    def __setattr__(self, name, value):

            

Reported by Pylint.

Access to a protected member _state of a client class
Error

Line: 24 Column: 1

              
db = peewee.SqliteDatabase(DATABASE_NAME, check_same_thread=False)

db._state = PeeweeConnectionState()

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from contextvars import ContextVar

import peewee

DATABASE_NAME = "test.db"
db_state_default = {"closed": None, "conn": None, "ctx": None, "transactions": None}
db_state = ContextVar("db_state", default=db_state_default.copy())



            

Reported by Pylint.

Missing class docstring
Error

Line: 10 Column: 1

              db_state = ContextVar("db_state", default=db_state_default.copy())


class PeeweeConnectionState(peewee._ConnectionState):
    def __init__(self, **kwargs):
        super().__setattr__("_state", db_state)
        super().__init__(**kwargs)

    def __setattr__(self, name, value):

            

Reported by Pylint.

docs_src/settings/app02/main.py
5 issues
Unable to import 'fastapi'
Error

Line: 3 Column: 1

              from functools import lru_cache

from fastapi import Depends, FastAPI

from .config import Settings

app = FastAPI()



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 5 Column: 1

              
from fastapi import Depends, FastAPI

from .config import Settings

app = FastAPI()


@lru_cache()

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from functools import lru_cache

from fastapi import Depends, FastAPI

from .config import Settings

app = FastAPI()



            

Reported by Pylint.

Missing function or method docstring
Error

Line: 11 Column: 1

              

@lru_cache()
def get_settings():
    return Settings()


@app.get("/info")
async def info(settings: Settings = Depends(get_settings)):

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 16 Column: 1

              

@app.get("/info")
async def info(settings: Settings = Depends(get_settings)):
    return {
        "app_name": settings.app_name,
        "admin_email": settings.admin_email,
        "items_per_user": settings.items_per_user,
    }

            

Reported by Pylint.

docs_src/wsgi/tutorial001.py
5 issues
Unable to import 'fastapi'
Error

Line: 1 Column: 1

              from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from flask import Flask, escape, request

flask_app = Flask(__name__)


@flask_app.route("/")
def flask_main():

            

Reported by Pylint.

Unable to import 'fastapi.middleware.wsgi'
Error

Line: 2 Column: 1

              from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from flask import Flask, escape, request

flask_app = Flask(__name__)


@flask_app.route("/")
def flask_main():

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from flask import Flask, escape, request

flask_app = Flask(__name__)


@flask_app.route("/")
def flask_main():

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 9 Column: 1

              

@flask_app.route("/")
def flask_main():
    name = request.args.get("name", "World")
    return f"Hello, {escape(name)} from Flask!"


app = FastAPI()

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 18 Column: 1

              

@app.get("/v2")
def read_main():
    return {"message": "Hello World"}


app.mount("/v1", WSGIMiddleware(flask_app))

            

Reported by Pylint.

tests/test_callable_endpoint.py
5 issues
Missing module docstring
Error

Line: 1 Column: 1

              from functools import partial
from typing import Optional

from fastapi import FastAPI
from fastapi.testclient import TestClient


def main(some_arg, q: Optional[str] = None):
    return {"some_arg": some_arg, "q": q}

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 8 Column: 1

              from fastapi.testclient import TestClient


def main(some_arg, q: Optional[str] = None):
    return {"some_arg": some_arg, "q": q}


endpoint = partial(main, "foo")


            

Reported by Pylint.

Argument name "q" doesn't conform to snake_case naming style
Error

Line: 8 Column: 1

              from fastapi.testclient import TestClient


def main(some_arg, q: Optional[str] = None):
    return {"some_arg": some_arg, "q": q}


endpoint = partial(main, "foo")


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 22 Column: 1

              client = TestClient(app)


def test_partial():
    response = client.get("/?q=bar")
    data = response.json()
    assert data == {"some_arg": "foo", "q": "bar"}

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 25
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def test_partial():
    response = client.get("/?q=bar")
    data = response.json()
    assert data == {"some_arg": "foo", "q": "bar"}

            

Reported by Bandit.

fastapi/openapi/docs.py
5 issues
Unable to import 'starlette.responses'
Error

Line: 5 Column: 1

              from typing import Any, Dict, Optional

from fastapi.encoders import jsonable_encoder
from starlette.responses import HTMLResponse


def get_swagger_ui_html(
    *,
    openapi_url: str,

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import json
from typing import Any, Dict, Optional

from fastapi.encoders import jsonable_encoder
from starlette.responses import HTMLResponse


def get_swagger_ui_html(
    *,

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 8 Column: 1

              from starlette.responses import HTMLResponse


def get_swagger_ui_html(
    *,
    openapi_url: str,
    title: str,
    swagger_js_url: str = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@3/swagger-ui-bundle.js",
    swagger_css_url: str = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@3/swagger-ui.css",

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 65 Column: 1

                  return HTMLResponse(html)


def get_redoc_html(
    *,
    openapi_url: str,
    title: str,
    redoc_js_url: str = "https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js",
    redoc_favicon_url: str = "https://fastapi.tiangolo.com/img/favicon.png",

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 107 Column: 1

                  return HTMLResponse(html)


def get_swagger_ui_oauth2_redirect_html() -> HTMLResponse:
    html = """
    <!DOCTYPE html>
    <html lang="en-US">
    <body onload="run()">
    </body>

            

Reported by Pylint.