Home / File/ routing.py — fastapi Source File

routing.py — fastapi Source File

Architecture documentation for routing.py, a python file in the fastapi codebase. 50 imports, 19 dependents.

File python FastAPI Routing 50 imports 19 dependents 9 functions 5 classes

Entity Profile

Dependency Diagram

graph LR
  de395a51_26f8_3424_1af0_2f5bef39c893["routing.py"]
  a88eb002_9197_73f3_410d_ee5315767f34["contextlib"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> a88eb002_9197_73f3_410d_ee5315767f34
  ab116559_4c6a_3726_ee77_79dfb70e7942["email.message"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> ab116559_4c6a_3726_ee77_79dfb70e7942
  958aa7af_9d63_fe0c_3544_91dd93294508["functools"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 958aa7af_9d63_fe0c_3544_91dd93294508
  d01056e9_3915_bd46_d8dd_a25ff9c1e35c["inspect"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> d01056e9_3915_bd46_d8dd_a25ff9c1e35c
  c1ef60e8_e635_2e82_29e5_a79e03e975d6["json"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> c1ef60e8_e635_2e82_29e5_a79e03e975d6
  57435f98_d97c_449e_ad42_afacbc7e4272["types.py"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 57435f98_d97c_449e_ad42_afacbc7e4272
  07d79a2e_d4e9_0bbb_be90_936274444c8c["collections.abc"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 07d79a2e_d4e9_0bbb_be90_936274444c8c
  712b7268_fde0_3ca8_dc06_7aa9a47c77d9["enum"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 712b7268_fde0_3ca8_dc06_7aa9a47c77d9
  0dda2280_3359_8460_301c_e98c77e78185["typing"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 0dda2280_3359_8460_301c_e98c77e78185
  5efacb44_5373_ceb9_9579_6e6603820488["annotated_doc"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 5efacb44_5373_ceb9_9579_6e6603820488
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  2bb4dd2d_8b8a_6502_751c_38eabb6ae71e["params.py"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> 2bb4dd2d_8b8a_6502_751c_38eabb6ae71e
  aac750d7_00e7_a28d_9e64_89918311078b["__init__.py"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> aac750d7_00e7_a28d_9e64_89918311078b
  dc4a1804_f7b4_848b_3280_30523680d7b9["datastructures.py"]
  de395a51_26f8_3424_1af0_2f5bef39c893 --> dc4a1804_f7b4_848b_3280_30523680d7b9
  style de395a51_26f8_3424_1af0_2f5bef39c893 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import contextlib
import email.message
import functools
import inspect
import json
import types
from collections.abc import (
    AsyncIterator,
    Awaitable,
    Collection,
    Coroutine,
    Generator,
    Mapping,
    Sequence,
)
from contextlib import (
    AbstractAsyncContextManager,
    AbstractContextManager,
    AsyncExitStack,
    asynccontextmanager,
)
from enum import Enum, IntEnum
from typing import (
    Annotated,
    Any,
    Callable,
    Optional,
    TypeVar,
    Union,
)

from annotated_doc import Doc
from fastapi import params
from fastapi._compat import (
    ModelField,
    Undefined,
    lenient_issubclass,
)
from fastapi.datastructures import Default, DefaultPlaceholder
from fastapi.dependencies.models import Dependant
from fastapi.dependencies.utils import (
    _should_embed_body_fields,
    get_body_field,
    get_dependant,
    get_flat_dependant,
    get_parameterless_sub_dependant,
    get_typed_return_annotation,
    solve_dependencies,
)
from fastapi.encoders import jsonable_encoder
from fastapi.exceptions import (
    EndpointContext,
    FastAPIError,
    RequestValidationError,
    ResponseValidationError,
    WebSocketRequestValidationError,
)
from fastapi.types import DecoratedCallable, IncEx
from fastapi.utils import (
    create_model_field,
// ... (4575 more lines)

Domain

Subdomains

Frequently Asked Questions

What does routing.py do?
routing.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in routing.py?
routing.py defines 9 function(s): _extract_endpoint_context, _merge_lifespan_context, _wrap_gen_lifespan_context, get_request_handler, get_websocket_app, request_response, run_endpoint_function, serialize_response, websocket_session.
What does routing.py depend on?
routing.py imports 50 module(s): Default, DefaultPlaceholder, Dependant, EndpointContext, FastAPIError, RequestValidationError, ResponseValidationError, WebSocketRequestValidationError, and 42 more.
What files import routing.py?
routing.py is imported by 19 file(s): __init__.py, applications.py, test_custom_route_class.py, test_generate_unique_id_function.py, test_route_scope.py, tutorial001_an_py310.py, tutorial001_an_py39.py, tutorial001_py310.py, and 11 more.
Where is routing.py in the architecture?
routing.py is located at fastapi/routing.py (domain: FastAPI, subdomain: Routing, directory: fastapi).

Analyze Your Own Codebase

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

Try Supermodel Free