# {py:mod}`labthings_fastapi.thing` ```{py:module} labthings_fastapi.thing ``` ```{autodoc2-docstring} labthings_fastapi.thing :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Thing ` - ```{autodoc2-docstring} labthings_fastapi.thing.Thing :summary: ``` ```` ### API `````{py:class} Thing :canonical: labthings_fastapi.thing.Thing ```{autodoc2-docstring} labthings_fastapi.thing.Thing ``` ````{py:attribute} title :canonical: labthings_fastapi.thing.Thing.title :type: str :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing.title ``` ```` ````{py:attribute} _labthings_blocking_portal :canonical: labthings_fastapi.thing.Thing._labthings_blocking_portal :type: typing.Optional[anyio.from_thread.BlockingPortal] :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing._labthings_blocking_portal ``` ```` ````{py:attribute} path :canonical: labthings_fastapi.thing.Thing.path :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing.path ``` ```` ````{py:method} __aenter__() :canonical: labthings_fastapi.thing.Thing.__aenter__ :async: ```{autodoc2-docstring} labthings_fastapi.thing.Thing.__aenter__ ``` ```` ````{py:method} __aexit__(exc_t, exc_v, exc_tb) :canonical: labthings_fastapi.thing.Thing.__aexit__ :async: ```{autodoc2-docstring} labthings_fastapi.thing.Thing.__aexit__ ``` ```` ````{py:method} attach_to_server(server: labthings_fastapi.server.ThingServer, path: str) :canonical: labthings_fastapi.thing.Thing.attach_to_server ```{autodoc2-docstring} labthings_fastapi.thing.Thing.attach_to_server ``` ```` ````{py:attribute} _labthings_thing_settings :canonical: labthings_fastapi.thing.Thing._labthings_thing_settings :type: typing.Optional[labthings_fastapi.thing_settings.ThingSettings] :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing._labthings_thing_settings ``` ```` ````{py:property} thing_settings :canonical: labthings_fastapi.thing.Thing.thing_settings :type: labthings_fastapi.thing_settings.ThingSettings ```{autodoc2-docstring} labthings_fastapi.thing.Thing.thing_settings ``` ```` ````{py:attribute} _labthings_thing_state :canonical: labthings_fastapi.thing.Thing._labthings_thing_state :type: typing.Optional[dict] :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing._labthings_thing_state ``` ```` ````{py:property} thing_state :canonical: labthings_fastapi.thing.Thing.thing_state :type: collections.abc.Mapping ```{autodoc2-docstring} labthings_fastapi.thing.Thing.thing_state ``` ```` ````{py:method} validate_thing_description() :canonical: labthings_fastapi.thing.Thing.validate_thing_description ```{autodoc2-docstring} labthings_fastapi.thing.Thing.validate_thing_description ``` ```` ````{py:attribute} _cached_thing_description :canonical: labthings_fastapi.thing.Thing._cached_thing_description :type: typing.Optional[tuple[typing.Optional[str], typing.Optional[str], labthings_fastapi.thing_description.model.ThingDescription]] :value: > None ```{autodoc2-docstring} labthings_fastapi.thing.Thing._cached_thing_description ``` ```` ````{py:method} thing_description(path: typing.Optional[str] = None, base: typing.Optional[str] = None) -> labthings_fastapi.thing_description.model.ThingDescription :canonical: labthings_fastapi.thing.Thing.thing_description ```{autodoc2-docstring} labthings_fastapi.thing.Thing.thing_description ``` ```` ````{py:method} thing_description_dict(path: typing.Optional[str] = None, base: typing.Optional[str] = None) -> dict :canonical: labthings_fastapi.thing.Thing.thing_description_dict ```{autodoc2-docstring} labthings_fastapi.thing.Thing.thing_description_dict ``` ```` ````{py:method} observe_property(property_name: str, stream: anyio.abc.ObjectSendStream) :canonical: labthings_fastapi.thing.Thing.observe_property ```{autodoc2-docstring} labthings_fastapi.thing.Thing.observe_property ``` ```` ````{py:method} observe_action(action_name: str, stream: anyio.abc.ObjectSendStream) :canonical: labthings_fastapi.thing.Thing.observe_action ```{autodoc2-docstring} labthings_fastapi.thing.Thing.observe_action ``` ```` `````