# {py:mod}`labthings_fastapi.utilities.introspection` ```{py:module} labthings_fastapi.utilities.introspection ``` ```{autodoc2-docstring} labthings_fastapi.utilities.introspection :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`EmptyObject ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyObject :summary: ``` * - {py:obj}`StrictEmptyObject ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyObject :summary: ``` * - {py:obj}`EmptyInput ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyInput :summary: ``` * - {py:obj}`StrictEmptyInput ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyInput :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`input_model_from_signature ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.input_model_from_signature :summary: ``` * - {py:obj}`function_dependencies ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.function_dependencies :summary: ``` * - {py:obj}`fastapi_dependency_params ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.fastapi_dependency_params :summary: ``` * - {py:obj}`return_type ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.return_type :summary: ``` * - {py:obj}`get_docstring ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.get_docstring :summary: ``` * - {py:obj}`get_summary ` - ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.get_summary :summary: ``` ```` ### API `````{py:class} EmptyObject :canonical: labthings_fastapi.utilities.introspection.EmptyObject Bases: {py:obj}`pydantic.BaseModel` ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyObject ``` ````{py:attribute} model_config :canonical: labthings_fastapi.utilities.introspection.EmptyObject.model_config :value: > 'ConfigDict(...)' ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyObject.model_config ``` ```` ````` `````{py:class} StrictEmptyObject :canonical: labthings_fastapi.utilities.introspection.StrictEmptyObject Bases: {py:obj}`labthings_fastapi.utilities.introspection.EmptyObject` ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyObject ``` ````{py:attribute} model_config :canonical: labthings_fastapi.utilities.introspection.StrictEmptyObject.model_config :value: > 'ConfigDict(...)' ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyObject.model_config ``` ```` ````` `````{py:class} EmptyInput :canonical: labthings_fastapi.utilities.introspection.EmptyInput Bases: {py:obj}`pydantic.RootModel` ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyInput ``` ````{py:attribute} root :canonical: labthings_fastapi.utilities.introspection.EmptyInput.root :type: typing.Optional[labthings_fastapi.utilities.introspection.EmptyObject] :value: > None ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.EmptyInput.root ``` ```` ````` `````{py:class} StrictEmptyInput :canonical: labthings_fastapi.utilities.introspection.StrictEmptyInput Bases: {py:obj}`labthings_fastapi.utilities.introspection.EmptyInput` ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyInput ``` ````{py:attribute} root :canonical: labthings_fastapi.utilities.introspection.StrictEmptyInput.root :type: typing.Optional[labthings_fastapi.utilities.introspection.StrictEmptyObject] :value: > None ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.StrictEmptyInput.root ``` ```` ````` ````{py:function} input_model_from_signature(func: typing.Callable, remove_first_positional_arg: bool = False, ignore: typing.Optional[typing.Sequence[str]] = None) -> type[pydantic.BaseModel] :canonical: labthings_fastapi.utilities.introspection.input_model_from_signature ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.input_model_from_signature ``` ```` ````{py:function} function_dependencies(func: typing.Callable, dependency_types: typing.Sequence[typing.Type]) -> typing.Dict[str, tuple[type, type]] :canonical: labthings_fastapi.utilities.introspection.function_dependencies ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.function_dependencies ``` ```` ````{py:function} fastapi_dependency_params(func: typing.Callable) -> typing.Sequence[inspect.Parameter] :canonical: labthings_fastapi.utilities.introspection.fastapi_dependency_params ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.fastapi_dependency_params ``` ```` ````{py:function} return_type(func: typing.Callable) -> typing.Type :canonical: labthings_fastapi.utilities.introspection.return_type ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.return_type ``` ```` ````{py:function} get_docstring(obj: typing.Any, remove_summary=False) -> typing.Optional[str] :canonical: labthings_fastapi.utilities.introspection.get_docstring ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.get_docstring ``` ```` ````{py:function} get_summary(obj: typing.Any) -> typing.Optional[str] :canonical: labthings_fastapi.utilities.introspection.get_summary ```{autodoc2-docstring} labthings_fastapi.utilities.introspection.get_summary ``` ````