Home / File/ tutorial002_py39.py — fastapi Source File

tutorial002_py39.py — fastapi Source File

Architecture documentation for tutorial002_py39.py, a python file in the fastapi codebase. 5 imports, 0 dependents.

File python FastAPI Applications 5 imports 2 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  7e870b86_0d98_211e_50cb_657f1bc9e159["tutorial002_py39.py"]
  0dda2280_3359_8460_301c_e98c77e78185["typing"]
  7e870b86_0d98_211e_50cb_657f1bc9e159 --> 0dda2280_3359_8460_301c_e98c77e78185
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  7e870b86_0d98_211e_50cb_657f1bc9e159 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  ea747667_035c_8539_a8f7_f347fb7e7c39["encoders.py"]
  7e870b86_0d98_211e_50cb_657f1bc9e159 --> ea747667_035c_8539_a8f7_f347fb7e7c39
  1ac1bc37_1a47_e7e2_9156_ab0473094700["jsonable_encoder"]
  7e870b86_0d98_211e_50cb_657f1bc9e159 --> 1ac1bc37_1a47_e7e2_9156_ab0473094700
  6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"]
  7e870b86_0d98_211e_50cb_657f1bc9e159 --> 6913fbd4_39df_d14b_44bb_522e99b65b90
  style 7e870b86_0d98_211e_50cb_657f1bc9e159 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from typing import Union

from fastapi import FastAPI
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel

app = FastAPI()


class Item(BaseModel):
    name: Union[str, None] = None
    description: Union[str, None] = None
    price: Union[float, None] = None
    tax: float = 10.5
    tags: list[str] = []


items = {
    "foo": {"name": "Foo", "price": 50.2},
    "bar": {"name": "Bar", "description": "The bartenders", "price": 62, "tax": 20.2},
    "baz": {"name": "Baz", "description": None, "price": 50.2, "tax": 10.5, "tags": []},
}


@app.get("/items/{item_id}", response_model=Item)
async def read_item(item_id: str):
    return items[item_id]


@app.patch("/items/{item_id}")
async def update_item(item_id: str, item: Item) -> Item:
    stored_item_data = items[item_id]
    stored_item_model = Item(**stored_item_data)
    update_data = item.model_dump(exclude_unset=True)
    updated_item = stored_item_model.model_copy(update=update_data)
    items[item_id] = jsonable_encoder(updated_item)
    return updated_item

Domain

Subdomains

Classes

Dependencies

Frequently Asked Questions

What does tutorial002_py39.py do?
tutorial002_py39.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 tutorial002_py39.py?
tutorial002_py39.py defines 2 function(s): read_item, update_item.
What does tutorial002_py39.py depend on?
tutorial002_py39.py imports 5 module(s): __init__.py, encoders.py, jsonable_encoder, pydantic, typing.
Where is tutorial002_py39.py in the architecture?
tutorial002_py39.py is located at docs_src/body_updates/tutorial002_py39.py (domain: FastAPI, subdomain: Applications, directory: docs_src/body_updates).

Analyze Your Own Codebase

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

Try Supermodel Free