Home / Function/ __init__() — fastapi Function Reference

__init__() — fastapi Function Reference

Architecture documentation for the __init__() function in routing.py from the fastapi codebase.

Entity Profile

Dependency Diagram

graph TD
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116["__init__()"]
  aa28685f_bb97_e988_ff40_3e5385960f32["APIRoute"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|defined in| aa28685f_bb97_e988_ff40_3e5385960f32
  2b3c8ec5_f007_7808_7e6a_0e94569b6a17["get_route_handler()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 2b3c8ec5_f007_7808_7e6a_0e94569b6a17
  28261a63_2ba9_f1ff_1d1b_475348a45a65["Default()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 28261a63_2ba9_f1ff_1d1b_475348a45a65
  7ee6f7cb_c895_d136_b942_3a323fcab521["get_typed_return_annotation()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 7ee6f7cb_c895_d136_b942_3a323fcab521
  dba5a7c0_1fab_8f88_2c80_2b79c3b3dc47["is_body_allowed_for_status_code()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| dba5a7c0_1fab_8f88_2c80_2b79c3b3dc47
  8e7d845c_a4e7_ee84_5295_5f3b995b05b4["create_model_field()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 8e7d845c_a4e7_ee84_5295_5f3b995b05b4
  1b892f95_174f_a6fa_5ff9_9cd8b88e8ee0["get()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 1b892f95_174f_a6fa_5ff9_9cd8b88e8ee0
  097a7e41_8095_d61f_b849_128514c58040["get_dependant()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 097a7e41_8095_d61f_b849_128514c58040
  3a3fcbe8_4556_0002_0c59_0917c6099b2b["get_parameterless_sub_dependant()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 3a3fcbe8_4556_0002_0c59_0917c6099b2b
  df2bd000_d29c_ac4b_5eca_426e3122a385["get_flat_dependant()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| df2bd000_d29c_ac4b_5eca_426e3122a385
  18580490_8a5f_0766_c8e1_329e703c7527["_should_embed_body_fields()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 18580490_8a5f_0766_c8e1_329e703c7527
  442274ca_f275_350e_f39a_7f88cd50be4a["get_body_field()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| 442274ca_f275_350e_f39a_7f88cd50be4a
  a5e26c9e_a11d_22bd_62d4_6c455577d2d9["request_response()"]
  d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 -->|calls| a5e26c9e_a11d_22bd_62d4_6c455577d2d9
  style d8b4fb83_3521_0b7e_fcfa_0c7f161ca116 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

fastapi/routing.py lines 557–687

    def __init__(
        self,
        path: str,
        endpoint: Callable[..., Any],
        *,
        response_model: Any = Default(None),
        status_code: Optional[int] = None,
        tags: Optional[list[Union[str, Enum]]] = None,
        dependencies: Optional[Sequence[params.Depends]] = None,
        summary: Optional[str] = None,
        description: Optional[str] = None,
        response_description: str = "Successful Response",
        responses: Optional[dict[Union[int, str], dict[str, Any]]] = None,
        deprecated: Optional[bool] = None,
        name: Optional[str] = None,
        methods: Optional[Union[set[str], list[str]]] = None,
        operation_id: Optional[str] = None,
        response_model_include: Optional[IncEx] = None,
        response_model_exclude: Optional[IncEx] = None,
        response_model_by_alias: bool = True,
        response_model_exclude_unset: bool = False,
        response_model_exclude_defaults: bool = False,
        response_model_exclude_none: bool = False,
        include_in_schema: bool = True,
        response_class: Union[type[Response], DefaultPlaceholder] = Default(
            JSONResponse
        ),
        dependency_overrides_provider: Optional[Any] = None,
        callbacks: Optional[list[BaseRoute]] = None,
        openapi_extra: Optional[dict[str, Any]] = None,
        generate_unique_id_function: Union[
            Callable[["APIRoute"], str], DefaultPlaceholder
        ] = Default(generate_unique_id),
    ) -> None:
        self.path = path
        self.endpoint = endpoint
        if isinstance(response_model, DefaultPlaceholder):
            return_annotation = get_typed_return_annotation(endpoint)
            if lenient_issubclass(return_annotation, Response):
                response_model = None
            else:
                response_model = return_annotation
        self.response_model = response_model
        self.summary = summary
        self.response_description = response_description
        self.deprecated = deprecated
        self.operation_id = operation_id
        self.response_model_include = response_model_include
        self.response_model_exclude = response_model_exclude
        self.response_model_by_alias = response_model_by_alias
        self.response_model_exclude_unset = response_model_exclude_unset
        self.response_model_exclude_defaults = response_model_exclude_defaults
        self.response_model_exclude_none = response_model_exclude_none
        self.include_in_schema = include_in_schema
        self.response_class = response_class
        self.dependency_overrides_provider = dependency_overrides_provider
        self.callbacks = callbacks
        self.openapi_extra = openapi_extra
        self.generate_unique_id_function = generate_unique_id_function
        self.tags = tags or []
        self.responses = responses or {}
        self.name = get_name(endpoint) if name is None else name
        self.path_regex, self.path_format, self.param_convertors = compile_path(path)
        if methods is None:
            methods = ["GET"]
        self.methods: set[str] = {method.upper() for method in methods}
        if isinstance(generate_unique_id_function, DefaultPlaceholder):
            current_generate_unique_id: Callable[[APIRoute], str] = (
                generate_unique_id_function.value
            )
        else:
            current_generate_unique_id = generate_unique_id_function
        self.unique_id = self.operation_id or current_generate_unique_id(self)
        # normalize enums e.g. http.HTTPStatus
        if isinstance(status_code, IntEnum):
            status_code = int(status_code)
        self.status_code = status_code
        if self.response_model:
            assert is_body_allowed_for_status_code(status_code), (
                f"Status code {status_code} must not have a response body"
            )

Domain

Subdomains

Defined In

Frequently Asked Questions

What does __init__() do?
__init__() is a function in the fastapi codebase, defined in fastapi/routing.py.
Where is __init__() defined?
__init__() is defined in fastapi/routing.py at line 557.
What does __init__() call?
__init__() calls 12 function(s): Default, _should_embed_body_fields, create_model_field, get, get_body_field, get_dependant, get_flat_dependant, get_parameterless_sub_dependant, and 4 more.

Analyze Your Own Codebase

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

Try Supermodel Free