# {py:mod}`labthings_fastapi.decorators` ```{py:module} labthings_fastapi.decorators ``` ```{autodoc2-docstring} labthings_fastapi.decorators :allowtitles: ``` ## Package Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`mark_thing_action ` - ```{autodoc2-docstring} labthings_fastapi.decorators.mark_thing_action :summary: ``` * - {py:obj}`thing_action ` - ```{autodoc2-docstring} labthings_fastapi.decorators.thing_action :summary: ``` * - {py:obj}`thing_property ` - ```{autodoc2-docstring} labthings_fastapi.decorators.thing_property :summary: ``` * - {py:obj}`fastapi_endpoint ` - ```{autodoc2-docstring} labthings_fastapi.decorators.fastapi_endpoint :summary: ``` ```` ### API ````{py:function} mark_thing_action(func: typing.Callable, **kwargs) -> labthings_fastapi.descriptors.ActionDescriptor :canonical: labthings_fastapi.decorators.mark_thing_action ```{autodoc2-docstring} labthings_fastapi.decorators.mark_thing_action ``` ```` ````{py:function} thing_action(func: typing.Optional[typing.Callable] = None, **kwargs) :canonical: labthings_fastapi.decorators.thing_action ```{autodoc2-docstring} labthings_fastapi.decorators.thing_action ``` ```` ````{py:function} thing_property(func: typing.Callable) -> labthings_fastapi.descriptors.PropertyDescriptor :canonical: labthings_fastapi.decorators.thing_property ```{autodoc2-docstring} labthings_fastapi.decorators.thing_property ``` ```` ````{py:function} fastapi_endpoint(method: labthings_fastapi.descriptors.HTTPMethod, path: typing.Optional[str] = None, **kwargs) :canonical: labthings_fastapi.decorators.fastapi_endpoint ```{autodoc2-docstring} labthings_fastapi.decorators.fastapi_endpoint ``` ````