field_annotation_is_complex() — fastapi Function Reference
Architecture documentation for the field_annotation_is_complex() function in shared.py from the fastapi codebase.
Entity Profile
Dependency Diagram
graph TD e3e32bb4_c2f8_785e_9705_9539ba56c60e["field_annotation_is_complex()"] 3e898b29_4dd8_c417_2d9b_a84d867423b4["shared.py"] e3e32bb4_c2f8_785e_9705_9539ba56c60e -->|defined in| 3e898b29_4dd8_c417_2d9b_a84d867423b4 935832d6_93ad_1258_7852_84ffec4ea5d4["field_annotation_is_scalar()"] 935832d6_93ad_1258_7852_84ffec4ea5d4 -->|calls| e3e32bb4_c2f8_785e_9705_9539ba56c60e dfada564_89da_782d_9604_dfd9bf49f8ea["_annotation_is_complex()"] e3e32bb4_c2f8_785e_9705_9539ba56c60e -->|calls| dfada564_89da_782d_9604_dfd9bf49f8ea style e3e32bb4_c2f8_785e_9705_9539ba56c60e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
fastapi/_compat/shared.py lines 90–103
def field_annotation_is_complex(annotation: Union[type[Any], None]) -> bool:
origin = get_origin(annotation)
if origin is Union or origin is UnionType:
return any(field_annotation_is_complex(arg) for arg in get_args(annotation))
if origin is Annotated:
return field_annotation_is_complex(get_args(annotation)[0])
return (
_annotation_is_complex(annotation)
or _annotation_is_complex(origin)
or hasattr(origin, "__pydantic_core_schema__")
or hasattr(origin, "__get_pydantic_core_schema__")
)
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does field_annotation_is_complex() do?
field_annotation_is_complex() is a function in the fastapi codebase, defined in fastapi/_compat/shared.py.
Where is field_annotation_is_complex() defined?
field_annotation_is_complex() is defined in fastapi/_compat/shared.py at line 90.
What does field_annotation_is_complex() call?
field_annotation_is_complex() calls 1 function(s): _annotation_is_complex.
What calls field_annotation_is_complex()?
field_annotation_is_complex() is called by 1 function(s): field_annotation_is_scalar.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free