Skip to content

Commit 06eaf4a

Browse files
Add small section on Properties vs Settings in the docs
1 parent 5af35ed commit 06eaf4a

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

docs/source/lt_core_concepts.rst

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,26 @@ At its core LabThings FastAPI is a server-based framework. To use LabThings Fast
1010

1111
The server API is accessed over an HTTP requests, allowing client code (see below) to be written in any language that can send an HTTP request.
1212

13-
Client Code
14-
-----------
15-
16-
Clients or client code (Not to be confused with a :class:`.ThingClient`, see below) is the terminology used to describe any software that uses HTTP requests to access the LabThing Server. Clients can be written in any language that supports an HTTP request. However, LabThings FastAPI provides additional functionality that makes writing client code in Python easier.
17-
1813
Everything is a Thing
1914
---------------------
2015

21-
As described in :doc:`wot_core_concepts`, a Thing represents a piece of hardware or software. LabThings-FastAPI automatically generates a `Thing Description`_ to describe each Thing. Each function offered by the Thing is either a Property, Action, or Event. These are termed "interaction affordances" in WoT_ terminology.
16+
As described in :doc:`wot_core_concepts`, a Thing represents a piece of hardware or software. LabThings-FastAPI automatically generates a `Thing Description`_ to describe each Thing. Each function offered by the Thing is either a Property or Action (LabThings-FastAPI does not yet support Events). These are termed "interaction affordances" in WoT_ terminology.
2217

2318
Code on the LabThings FastAPI Server is composed of Things, however these can call generic Python functions/classes. The entire HTTP API served by the server is defined by :class:`.Thing` objects. As such the full API is composed of the actions and properties (and perhaps eventually events) defined in each Thing.
2419

2520
_`Thing Description`: wot_core_concepts#thing
2621
_`WoT`: wot_core_concepts
2722

23+
Properties vs Settings
24+
----------------------
25+
26+
A Thing in LabThings-FastAPI can have Settings as well as Properties. "Setting" is LabThings-FastAPI terminology for a "Property" with a value that persists after the server is restarted. All Settings are Properties, and -- except for persisting after a server restart -- Settings are identical to any other Properties.
27+
28+
Client Code
29+
-----------
30+
31+
Clients or client code (Not to be confused with a :class:`.ThingClient`, see below) is the terminology used to describe any software that uses HTTP requests to access the LabThing Server. Clients can be written in any language that supports an HTTP request. However, LabThings FastAPI provides additional functionality that makes writing client code in Python easier.
32+
2833
ThingClients
2934
------------
3035

0 commit comments

Comments
 (0)