Home / File/ v2.py — fastapi Source File

v2.py — fastapi Source File

Architecture documentation for v2.py, a python file in the fastapi codebase. 24 imports, 2 dependents.

File python FastAPI Applications 24 imports 2 dependents 18 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  3e134d50_38c1_8523_f518_6686c1d9752b["v2.py"]
  b423f231_0305_b686_5fea_7c66fe42f25b["re"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> b423f231_0305_b686_5fea_7c66fe42f25b
  9c2c9cad_dfd2_7d1a_1c6d_b8a448285db4["warnings"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 9c2c9cad_dfd2_7d1a_1c6d_b8a448285db4
  07d79a2e_d4e9_0bbb_be90_936274444c8c["collections.abc"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 07d79a2e_d4e9_0bbb_be90_936274444c8c
  49bf6a50_8793_6899_5793_f23aa939e5fd["copy"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 49bf6a50_8793_6899_5793_f23aa939e5fd
  4cff5a35_9399_b238_3d2b_e2cca82878e1["dataclasses"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 4cff5a35_9399_b238_3d2b_e2cca82878e1
  712b7268_fde0_3ca8_dc06_7aa9a47c77d9["enum"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 712b7268_fde0_3ca8_dc06_7aa9a47c77d9
  958aa7af_9d63_fe0c_3544_91dd93294508["functools"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 958aa7af_9d63_fe0c_3544_91dd93294508
  0dda2280_3359_8460_301c_e98c77e78185["typing"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 0dda2280_3359_8460_301c_e98c77e78185
  aac750d7_00e7_a28d_9e64_89918311078b["__init__.py"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> aac750d7_00e7_a28d_9e64_89918311078b
  3e898b29_4dd8_c417_2d9b_a84d867423b4["shared.py"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 3e898b29_4dd8_c417_2d9b_a84d867423b4
  eda91ac5_1bd0_0d8b_6e77_6b82c2f46ce9["lenient_issubclass"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> eda91ac5_1bd0_0d8b_6e77_6b82c2f46ce9
  f7401fdc_196d_558c_fd5a_ca3454b39efb["constants.py"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> f7401fdc_196d_558c_fd5a_ca3454b39efb
  57435f98_d97c_449e_ad42_afacbc7e4272["types.py"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 57435f98_d97c_449e_ad42_afacbc7e4272
  6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"]
  3e134d50_38c1_8523_f518_6686c1d9752b --> 6913fbd4_39df_d14b_44bb_522e99b65b90
  style 3e134d50_38c1_8523_f518_6686c1d9752b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import re
import warnings
from collections.abc import Sequence
from copy import copy
from dataclasses import dataclass, is_dataclass
from enum import Enum
from functools import lru_cache
from typing import (
    Annotated,
    Any,
    Union,
    cast,
)

from fastapi._compat import lenient_issubclass, shared
from fastapi.openapi.constants import REF_TEMPLATE
from fastapi.types import IncEx, ModelNameMap, UnionType
from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model
from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError
from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation
from pydantic import ValidationError as ValidationError
from pydantic._internal._schema_generation_shared import (  # type: ignore[attr-defined]
    GetJsonSchemaHandler as GetJsonSchemaHandler,
)
from pydantic._internal._typing_extra import eval_type_lenient
from pydantic.fields import FieldInfo as FieldInfo
from pydantic.json_schema import GenerateJsonSchema as GenerateJsonSchema
from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue
from pydantic_core import CoreSchema as CoreSchema
from pydantic_core import PydanticUndefined
from pydantic_core import Url as Url
from pydantic_core.core_schema import (
    with_info_plain_validator_function as with_info_plain_validator_function,
)
from typing_extensions import Literal, get_args, get_origin

RequiredParam = PydanticUndefined
Undefined = PydanticUndefined
evaluate_forwardref = eval_type_lenient

# TODO: remove when dropping support for Pydantic < v2.12.3
_Attrs = {
    "default": ...,
    "default_factory": None,
    "alias": None,
    "alias_priority": None,
    "validation_alias": None,
    "serialization_alias": None,
    "title": None,
    "field_title_generator": None,
    "description": None,
    "examples": None,
    "exclude": None,
    "exclude_if": None,
    "discriminator": None,
    "deprecated": None,
    "json_schema_extra": None,
    "frozen": None,
    "validate_default": None,
    "repr": True,
// ... (376 more lines)

Domain

Subdomains

Classes

Dependencies

Frequently Asked Questions

What does v2.py do?
v2.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 v2.py?
v2.py defines 18 function(s): _has_computed_fields, _regenerate_error_with_loc, asdict, copy_field_info, create_body_model, get_cached_model_fields, get_definitions, get_flat_models_from_annotation, get_flat_models_from_field, get_flat_models_from_fields, and 8 more.
What does v2.py depend on?
v2.py imports 24 module(s): __init__.py, __init__.py, collections.abc, constants.py, copy, dataclasses, enum, functools, and 16 more.
What files import v2.py?
v2.py is imported by 2 file(s): __init__.py, test_compat.py.
Where is v2.py in the architecture?
v2.py is located at fastapi/_compat/v2.py (domain: FastAPI, subdomain: Applications, directory: fastapi/_compat).

Analyze Your Own Codebase

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

Try Supermodel Free