Home / File/ utils.py — fastapi Source File

utils.py — fastapi Source File

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

File python DependencyInjection Resolver 39 imports 3 dependents 25 functions 2 classes

Entity Profile

Dependency Diagram

graph LR
  9e602cbf_3139_86ae_5666_97b8806942de["utils.py"]
  4cff5a35_9399_b238_3d2b_e2cca82878e1["dataclasses"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 4cff5a35_9399_b238_3d2b_e2cca82878e1
  d01056e9_3915_bd46_d8dd_a25ff9c1e35c["inspect"]
  9e602cbf_3139_86ae_5666_97b8806942de --> d01056e9_3915_bd46_d8dd_a25ff9c1e35c
  65099b90_26c1_5db5_09e6_30dc0ea421e3["sys"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 65099b90_26c1_5db5_09e6_30dc0ea421e3
  07d79a2e_d4e9_0bbb_be90_936274444c8c["collections.abc"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 07d79a2e_d4e9_0bbb_be90_936274444c8c
  a88eb002_9197_73f3_410d_ee5315767f34["contextlib"]
  9e602cbf_3139_86ae_5666_97b8806942de --> a88eb002_9197_73f3_410d_ee5315767f34
  49bf6a50_8793_6899_5793_f23aa939e5fd["copy"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 49bf6a50_8793_6899_5793_f23aa939e5fd
  0dda2280_3359_8460_301c_e98c77e78185["typing"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 0dda2280_3359_8460_301c_e98c77e78185
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  2bb4dd2d_8b8a_6502_751c_38eabb6ae71e["params.py"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 2bb4dd2d_8b8a_6502_751c_38eabb6ae71e
  aac750d7_00e7_a28d_9e64_89918311078b["__init__.py"]
  9e602cbf_3139_86ae_5666_97b8806942de --> aac750d7_00e7_a28d_9e64_89918311078b
  5bca856a_f0af_e71f_c4ca_cb6510fbc659["background.py"]
  9e602cbf_3139_86ae_5666_97b8806942de --> 5bca856a_f0af_e71f_c4ca_cb6510fbc659
  dc716d57_75c7_1136_7c80_2b5bb5ee95ab["BackgroundTasks"]
  9e602cbf_3139_86ae_5666_97b8806942de --> dc716d57_75c7_1136_7c80_2b5bb5ee95ab
  e587e889_5c93_286d_8323_600fa8470a5c["concurrency.py"]
  9e602cbf_3139_86ae_5666_97b8806942de --> e587e889_5c93_286d_8323_600fa8470a5c
  b630faa9_9abe_ac01_eb1a_c46607435850["contextmanager_in_threadpool"]
  9e602cbf_3139_86ae_5666_97b8806942de --> b630faa9_9abe_ac01_eb1a_c46607435850
  style 9e602cbf_3139_86ae_5666_97b8806942de fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import dataclasses
import inspect
import sys
from collections.abc import Mapping, Sequence
from contextlib import AsyncExitStack, contextmanager
from copy import copy, deepcopy
from dataclasses import dataclass
from typing import (
    Annotated,
    Any,
    Callable,
    ForwardRef,
    Optional,
    Union,
    cast,
)

from fastapi import params
from fastapi._compat import (
    ModelField,
    RequiredParam,
    Undefined,
    copy_field_info,
    create_body_model,
    evaluate_forwardref,
    field_annotation_is_scalar,
    field_annotation_is_scalar_sequence,
    field_annotation_is_sequence,
    get_cached_model_fields,
    get_missing_field_error,
    is_bytes_or_nonable_bytes_annotation,
    is_bytes_sequence_annotation,
    is_scalar_field,
    is_uploadfile_or_nonable_uploadfile_annotation,
    is_uploadfile_sequence_annotation,
    lenient_issubclass,
    sequence_types,
    serialize_sequence_value,
    value_is_sequence,
)
from fastapi.background import BackgroundTasks
from fastapi.concurrency import (
    asynccontextmanager,
    contextmanager_in_threadpool,
)
from fastapi.dependencies.models import Dependant
from fastapi.exceptions import DependencyScopeError
from fastapi.logger import logger
from fastapi.security.oauth2 import SecurityScopes
from fastapi.types import DependencyCacheKey
from fastapi.utils import create_model_field, get_path_param_names
from pydantic import BaseModel, Json
from pydantic.fields import FieldInfo
from starlette.background import BackgroundTasks as StarletteBackgroundTasks
from starlette.concurrency import run_in_threadpool
from starlette.datastructures import (
    FormData,
    Headers,
    ImmutableMultiDict,
    QueryParams,
// ... (968 more lines)

Subdomains

Dependencies

Frequently Asked Questions

What does utils.py do?
utils.py is a source file in the fastapi codebase, written in python. It belongs to the DependencyInjection domain, Resolver subdomain.
What functions are defined in utils.py?
utils.py defines 25 function(s): _extract_form_body, _get_flat_fields_from_params, _get_multidict_value, _get_signature, _is_json_field, _should_embed_body_fields, _solve_generator, _validate_value_with_model_field, add_non_field_param_to_dependency, add_param_to_fields, and 15 more.
What does utils.py depend on?
utils.py imports 39 module(s): BackgroundTasks, Dependant, DependencyScopeError, SecurityScopes, __init__.py, __init__.py, annotationlib, background.py, and 31 more.
What files import utils.py?
utils.py is imported by 3 file(s): routing.py, test_multipart_installation.py, utils.py.
Where is utils.py in the architecture?
utils.py is located at fastapi/dependencies/utils.py (domain: DependencyInjection, subdomain: Resolver, directory: fastapi/dependencies).

Analyze Your Own Codebase

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

Try Supermodel Free