routing.py — fastapi Source File
Architecture documentation for routing.py, a python file in the fastapi codebase. 50 imports, 19 dependents.
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
Functions
Dependencies
- Default
- DefaultPlaceholder
- Dependant
- EndpointContext
- FastAPIError
- RequestValidationError
- ResponseValidationError
- WebSocketRequestValidationError
- __init__.py
- __init__.py
- _should_embed_body_fields
- annotated_doc
- collections.abc
- contextlib
- create_model_field
- datastructures.py
- email.message
- encoders.py
- enum
- exceptions.py
- functools
- generate_unique_id
- get_body_field
- get_dependant
- get_flat_dependant
- get_parameterless_sub_dependant
- get_typed_return_annotation
- get_value_or_default
- inspect
- is_body_allowed_for_status_code
- json
- jsonable_encoder
- models.py
- params.py
- solve_dependencies
- starlette
- starlette._exception_handler
- starlette._utils
- starlette.concurrency
- starlette.exceptions
- starlette.requests
- starlette.responses
- starlette.routing
- starlette.types
- starlette.websockets
- types.py
- typing
- typing_extensions
- utils.py
- utils.py
Imported By
- fastapi/__init__.py
- fastapi/applications.py
- tests/test_custom_route_class.py
- tests/test_generate_unique_id_function.py
- tests/test_route_scope.py
- docs_src/custom_request_and_route/tutorial001_an_py310.py
- docs_src/custom_request_and_route/tutorial001_an_py39.py
- docs_src/custom_request_and_route/tutorial001_py310.py
- docs_src/custom_request_and_route/tutorial001_py39.py
- docs_src/custom_request_and_route/tutorial002_an_py310.py
- docs_src/custom_request_and_route/tutorial002_an_py39.py
- docs_src/custom_request_and_route/tutorial002_py310.py
- docs_src/path_operation_advanced_configuration/tutorial002_py39.py
- docs_src/custom_request_and_route/tutorial002_py39.py
- docs_src/custom_request_and_route/tutorial003_py310.py
- docs_src/generate_clients/tutorial003_py39.py
- docs_src/custom_request_and_route/tutorial003_py39.py
- fastapi/openapi/utils.py
- fastapi/utils.py
Source
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