v2.py — fastapi Source File
Architecture documentation for v2.py, a python file in the fastapi codebase. 24 imports, 2 dependents.
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
Functions
- _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()
- get_flat_models_from_model()
- get_missing_field_error()
- get_model_fields()
- get_model_name_map()
- get_schema_from_model_field()
- is_scalar_field()
- normalize_name()
- serialize_sequence_value()
Classes
Dependencies
- __init__.py
- __init__.py
- collections.abc
- constants.py
- copy
- dataclasses
- enum
- functools
- lenient_issubclass
- params.py
- pydantic
- pydantic._internal._schema_generation_shared
- pydantic._internal._typing_extra
- pydantic.fields
- pydantic.json_schema
- pydantic.warnings
- pydantic_core
- pydantic_core.core_schema
- re
- shared.py
- types.py
- typing
- typing_extensions
- warnings
Imported By
Source
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