Home / File/ main.py — fastapi Source File

main.py — fastapi Source File

Architecture documentation for main.py, a python file in the fastapi codebase. 3 imports, 1 dependents.

File python FastAPI Applications 3 imports 1 dependents 2 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  1c33ec6d_9dd6_311d_1bf8_df673f486b93["main.py"]
  0dda2280_3359_8460_301c_e98c77e78185["typing"]
  1c33ec6d_9dd6_311d_1bf8_df673f486b93 --> 0dda2280_3359_8460_301c_e98c77e78185
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  1c33ec6d_9dd6_311d_1bf8_df673f486b93 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"]
  1c33ec6d_9dd6_311d_1bf8_df673f486b93 --> 6913fbd4_39df_d14b_44bb_522e99b65b90
  2940db76_e8b5_19c6_c46f_df1ff4eedba4["test_main.py"]
  2940db76_e8b5_19c6_c46f_df1ff4eedba4 --> 1c33ec6d_9dd6_311d_1bf8_df673f486b93
  style 1c33ec6d_9dd6_311d_1bf8_df673f486b93 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from typing import Union

from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel

fake_secret_token = "coneofsilence"

fake_db = {
    "foo": {"id": "foo", "title": "Foo", "description": "There goes my hero"},
    "bar": {"id": "bar", "title": "Bar", "description": "The bartenders"},
}

app = FastAPI()


class Item(BaseModel):
    id: str
    title: str
    description: Union[str, None] = None


@app.get("/items/{item_id}", response_model=Item)
async def read_main(item_id: str, x_token: str = Header()):
    if x_token != fake_secret_token:
        raise HTTPException(status_code=400, detail="Invalid X-Token header")
    if item_id not in fake_db:
        raise HTTPException(status_code=404, detail="Item not found")
    return fake_db[item_id]


@app.post("/items/")
async def create_item(item: Item, x_token: str = Header()) -> Item:
    if x_token != fake_secret_token:
        raise HTTPException(status_code=400, detail="Invalid X-Token header")
    if item.id in fake_db:
        raise HTTPException(status_code=409, detail="Item already exists")
    fake_db[item.id] = item.model_dump()
    return item

Domain

Subdomains

Classes

Dependencies

Frequently Asked Questions

What does main.py do?
main.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Applications subdomain.
What functions are defined in main.py?
main.py defines 2 function(s): create_item, read_main.
What does main.py depend on?
main.py imports 3 module(s): __init__.py, pydantic, typing.
What files import main.py?
main.py is imported by 1 file(s): test_main.py.
Where is main.py in the architecture?
main.py is located at docs_src/app_testing/app_b_py39/main.py (domain: FastAPI, subdomain: Applications, directory: docs_src/app_testing/app_b_py39).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free