# {py:mod}`labthings_fastapi.client` ```{py:module} labthings_fastapi.client ``` ```{autodoc2-docstring} labthings_fastapi.client :allowtitles: ``` ## Submodules ```{toctree} :titlesonly: :maxdepth: 1 labthings_fastapi.client.outputs labthings_fastapi.client.in_server ``` ## Package Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ThingClient ` - ```{autodoc2-docstring} labthings_fastapi.client.ThingClient :summary: ``` * - {py:obj}`PropertyClientDescriptor ` - ```{autodoc2-docstring} labthings_fastapi.client.PropertyClientDescriptor :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`get_link ` - ```{autodoc2-docstring} labthings_fastapi.client.get_link :summary: ``` * - {py:obj}`get_link_href ` - ```{autodoc2-docstring} labthings_fastapi.client.get_link_href :summary: ``` * - {py:obj}`task_href ` - ```{autodoc2-docstring} labthings_fastapi.client.task_href :summary: ``` * - {py:obj}`poll_task ` - ```{autodoc2-docstring} labthings_fastapi.client.poll_task :summary: ``` * - {py:obj}`property_descriptor ` - ```{autodoc2-docstring} labthings_fastapi.client.property_descriptor :summary: ``` * - {py:obj}`add_action ` - ```{autodoc2-docstring} labthings_fastapi.client.add_action :summary: ``` * - {py:obj}`add_property ` - ```{autodoc2-docstring} labthings_fastapi.client.add_property :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ACTION_RUNNING_KEYWORDS ` - ```{autodoc2-docstring} labthings_fastapi.client.ACTION_RUNNING_KEYWORDS :summary: ``` ```` ### API ````{py:data} ACTION_RUNNING_KEYWORDS :canonical: labthings_fastapi.client.ACTION_RUNNING_KEYWORDS :value: > ['idle', 'pending', 'running'] ```{autodoc2-docstring} labthings_fastapi.client.ACTION_RUNNING_KEYWORDS ``` ```` ````{py:function} get_link(obj: dict, rel: str) -> collections.abc.Mapping :canonical: labthings_fastapi.client.get_link ```{autodoc2-docstring} labthings_fastapi.client.get_link ``` ```` ````{py:function} get_link_href(obj: dict, rel: str) -> str :canonical: labthings_fastapi.client.get_link_href ```{autodoc2-docstring} labthings_fastapi.client.get_link_href ``` ```` ````{py:function} task_href(t) :canonical: labthings_fastapi.client.task_href ```{autodoc2-docstring} labthings_fastapi.client.task_href ``` ```` ````{py:function} poll_task(client, task, interval=0.5, first_interval=0.05) :canonical: labthings_fastapi.client.poll_task ```{autodoc2-docstring} labthings_fastapi.client.poll_task ``` ```` `````{py:class} ThingClient(base_url: str, client: typing.Optional[httpx.Client] = None) :canonical: labthings_fastapi.client.ThingClient ```{autodoc2-docstring} labthings_fastapi.client.ThingClient ``` ````{py:method} __init__(base_url: str, client: typing.Optional[httpx.Client] = None) :canonical: labthings_fastapi.client.ThingClient.__init__ ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.__init__ ``` ```` ````{py:method} get_property(path: str) -> typing.Any :canonical: labthings_fastapi.client.ThingClient.get_property ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.get_property ``` ```` ````{py:method} set_property(path: str, value: typing.Any) :canonical: labthings_fastapi.client.ThingClient.set_property ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.set_property ``` ```` ````{py:method} invoke_action(path: str, **kwargs) :canonical: labthings_fastapi.client.ThingClient.invoke_action ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.invoke_action ``` ```` ````{py:method} follow_link(response: dict, rel: str) -> httpx.Response :canonical: labthings_fastapi.client.ThingClient.follow_link ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.follow_link ``` ```` ````{py:method} from_url(thing_url: str, client: typing.Optional[httpx.Client] = None, **kwargs) -> typing_extensions.Self :canonical: labthings_fastapi.client.ThingClient.from_url :classmethod: ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.from_url ``` ```` ````{py:method} subclass_from_td(thing_description: dict) -> type[typing_extensions.Self] :canonical: labthings_fastapi.client.ThingClient.subclass_from_td :classmethod: ```{autodoc2-docstring} labthings_fastapi.client.ThingClient.subclass_from_td ``` ```` ````` ````{py:class} PropertyClientDescriptor :canonical: labthings_fastapi.client.PropertyClientDescriptor ```{autodoc2-docstring} labthings_fastapi.client.PropertyClientDescriptor ``` ```` ````{py:function} property_descriptor(property_name: str, model: typing.Union[type, pydantic.BaseModel], description: typing.Optional[str] = None, readable: bool = True, writeable: bool = True, property_path: typing.Optional[str] = None) -> labthings_fastapi.client.PropertyClientDescriptor :canonical: labthings_fastapi.client.property_descriptor ```{autodoc2-docstring} labthings_fastapi.client.property_descriptor ``` ```` ````{py:function} add_action(cls: type[labthings_fastapi.client.ThingClient], action_name: str, action: dict) :canonical: labthings_fastapi.client.add_action ```{autodoc2-docstring} labthings_fastapi.client.add_action ``` ```` ````{py:function} add_property(cls: type[labthings_fastapi.client.ThingClient], property_name: str, property: dict) :canonical: labthings_fastapi.client.add_property ```{autodoc2-docstring} labthings_fastapi.client.add_property ``` ````