labthings_fastapi.thing_description.model

Module Contents

Classes

Version

Subprotocol

Type

DataSchema

Response

PropertyOp

ActionOp

EventOp

RootOp

Form

InteractionAffordance

PropertyAffordance

ActionAffordance

EventAffordance

LinkElement

SecuritySchemeEnum

In

Qop

Flow

BaseSecurityScheme

NoSecurityScheme

NameAndIn

BasicSecurityScheme

DigestSecurityScheme

APISecurityScheme

BearerSecurityScheme

PskSecurityScheme

Oauth2SecurityScheme

WotTdSchema16October2019

Functions

uses_thing_context

Data

AnyUri

Description

Descriptions

Title

Titles

Security

Scopes

TypeDeclaration

THING_CONTEXT_URL

THING_CONTEXT_URL_v1

ThingContextType

ThingContext

Op

OpT

Links

SecurityScheme

ThingDescription

API

class labthings_fastapi.thing_description.model.Version

Bases: pydantic.BaseModel

instance: str

None

labthings_fastapi.thing_description.model.AnyUri

None

labthings_fastapi.thing_description.model.Description

None

labthings_fastapi.thing_description.model.Descriptions

None

labthings_fastapi.thing_description.model.Title

None

labthings_fastapi.thing_description.model.Titles

None

labthings_fastapi.thing_description.model.Security

None

labthings_fastapi.thing_description.model.Scopes

None

labthings_fastapi.thing_description.model.TypeDeclaration

None

class labthings_fastapi.thing_description.model.Subprotocol(*args, **kwds)

Bases: enum.Enum

longpoll

‘longpoll’

websub

‘websub’

sse

‘sse’

labthings_fastapi.thing_description.model.THING_CONTEXT_URL

‘https://www.w3.org/2022/wot/td/v1.1’

labthings_fastapi.thing_description.model.THING_CONTEXT_URL_v1

‘https://www.w3.org/2019/wot/td/v1’

labthings_fastapi.thing_description.model.ThingContextType

None

labthings_fastapi.thing_description.model.uses_thing_context(v: labthings_fastapi.thing_description.model.ThingContextType)
labthings_fastapi.thing_description.model.ThingContext

None

class labthings_fastapi.thing_description.model.Type(*args, **kwds)

Bases: enum.Enum

boolean

‘boolean’

integer

‘integer’

number

‘number’

string

‘string’

object

‘object’

array

‘array’

null

‘null’

class labthings_fastapi.thing_description.model.DataSchema

Bases: pydantic.BaseModel

field_type: Optional[labthings_fastapi.thing_description.model.TypeDeclaration]

‘Field(…)’

description: Optional[labthings_fastapi.thing_description.model.Description]

None

title: Optional[labthings_fastapi.thing_description.model.Title]

None

descriptions: Optional[labthings_fastapi.thing_description.model.Descriptions]

None

titles: Optional[labthings_fastapi.thing_description.model.Titles]

None

writeOnly: Optional[bool]

None

readOnly: Optional[bool]

None

oneOf: Optional[list[labthings_fastapi.thing_description.model.DataSchema]]

None

unit: Optional[str]

None

enum: Optional[list]

None

format: Optional[str]

None

const: Optional[Any]

None

default: Optional[Any]

None

type: Optional[labthings_fastapi.thing_description.model.Type]

None

items: Optional[Union[labthings_fastapi.thing_description.model.DataSchema, List[labthings_fastapi.thing_description.model.DataSchema]]]

None

maxItems: Optional[int]

‘Field(…)’

minItems: Optional[int]

‘Field(…)’

minimum: Optional[Union[int, float]]

None

maximum: Optional[Union[int, float]]

None

exclusiveMinimum: Optional[Union[int, float]]

None

exclusiveMaximum: Optional[Union[int, float]]

None

multipleOf: Optional[Union[int, float]]

None

properties: Optional[Mapping[str, labthings_fastapi.thing_description.model.DataSchema]]

None

required: Optional[list[str]]

None

minLength: Optional[int]

None

maxLength: Optional[int]

None

pattern: Optional[str]

None

contentEncoding: Optional[str]

None

contentMediaType: Optional[str]

None

model_config

‘ConfigDict(…)’

class labthings_fastapi.thing_description.model.Response

Bases: pydantic.BaseModel

contentType: Optional[str]

None

class labthings_fastapi.thing_description.model.PropertyOp(*args, **kwds)

Bases: enum.Enum

readproperty

‘readproperty’

writeproperty

‘writeproperty’

observeproperty

‘observeproperty’

unobserveproperty

‘unobserveproperty’

class labthings_fastapi.thing_description.model.ActionOp(*args, **kwds)

Bases: enum.Enum

invokeaction

‘invokeaction’

class labthings_fastapi.thing_description.model.EventOp(*args, **kwds)

Bases: enum.Enum

subscribeevent

‘subscribeevent’

unsubscribeevent

‘unsubscribeevent’

class labthings_fastapi.thing_description.model.RootOp(*args, **kwds)

Bases: enum.Enum

readallproperties

‘readallproperties’

writeallproperties

‘writeallproperties’

readmultipleproperties

‘readmultipleproperties’

writemultipleproperties

‘writemultipleproperties’

labthings_fastapi.thing_description.model.Op

None

labthings_fastapi.thing_description.model.OpT

‘TypeVar(…)’

class labthings_fastapi.thing_description.model.Form

Bases: pydantic.BaseModel, typing.Generic[labthings_fastapi.thing_description.model.OpT]

model_config

‘ConfigDict(…)’

href: labthings_fastapi.thing_description.model.AnyUri

None

op: Optional[Union[labthings_fastapi.thing_description.model.OpT, List[labthings_fastapi.thing_description.model.OpT]]]

None

contentType: Optional[str]

None

contentCoding: Optional[str]

None

subprotocol: Optional[labthings_fastapi.thing_description.model.Subprotocol]

None

security: Optional[labthings_fastapi.thing_description.model.Security]

None

scopes: Optional[labthings_fastapi.thing_description.model.Scopes]

None

response: Optional[labthings_fastapi.thing_description.model.Response]

None

class labthings_fastapi.thing_description.model.InteractionAffordance

Bases: pydantic.BaseModel

model_config

‘ConfigDict(…)’

description: Optional[labthings_fastapi.thing_description.model.Description]

None

descriptions: Optional[labthings_fastapi.thing_description.model.Descriptions]

None

title: Optional[labthings_fastapi.thing_description.model.Title]

None

titles: Optional[labthings_fastapi.thing_description.model.Titles]

None

forms: List[labthings_fastapi.thing_description.model.Form]

‘Field(…)’

uriVariables: Optional[Dict[str, labthings_fastapi.thing_description.model.DataSchema]]

None

class labthings_fastapi.thing_description.model.PropertyAffordance

Bases: labthings_fastapi.thing_description.model.InteractionAffordance, labthings_fastapi.thing_description.model.DataSchema

observable: Optional[bool]

None

forms: List[labthings_fastapi.thing_description.model.Form[labthings_fastapi.thing_description.model.PropertyOp]]

‘Field(…)’

class labthings_fastapi.thing_description.model.ActionAffordance

Bases: labthings_fastapi.thing_description.model.InteractionAffordance

field_type: Optional[labthings_fastapi.thing_description.model.TypeDeclaration]

‘Field(…)’

input: Optional[labthings_fastapi.thing_description.model.DataSchema]

None

output: Optional[labthings_fastapi.thing_description.model.DataSchema]

None

safe: Optional[bool]

None

idempotent: Optional[bool]

None

forms: List[labthings_fastapi.thing_description.model.Form[labthings_fastapi.thing_description.model.ActionOp]]

‘Field(…)’

class labthings_fastapi.thing_description.model.EventAffordance

Bases: pydantic.BaseModel

field_type: Optional[labthings_fastapi.thing_description.model.TypeDeclaration]

‘Field(…)’

subscription: Optional[labthings_fastapi.thing_description.model.DataSchema]

None

data: Optional[labthings_fastapi.thing_description.model.DataSchema]

None

cancellation: Optional[labthings_fastapi.thing_description.model.DataSchema]

None

forms: List[labthings_fastapi.thing_description.model.Form[labthings_fastapi.thing_description.model.EventOp]]

‘Field(…)’

class labthings_fastapi.thing_description.model.LinkElement

Bases: pydantic.BaseModel

model_config

‘ConfigDict(…)’

href: labthings_fastapi.thing_description.model.AnyUri

None

type: Optional[str]

None

rel: Optional[str]

None

anchor: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

None

class labthings_fastapi.thing_description.model.SecuritySchemeEnum(*args, **kwds)

Bases: enum.Enum

nosec

‘nosec’

basic

‘basic’

digest

‘digest’

apikey

‘apikey’

bearer

‘bearer’

psk

‘psk’

oauth2

‘oauth2’

class labthings_fastapi.thing_description.model.In(*args, **kwds)

Bases: enum.Enum

header

‘header’

query

‘query’

body

‘body’

cookie

‘cookie’

class labthings_fastapi.thing_description.model.Qop(*args, **kwds)

Bases: enum.Enum

auth

‘auth’

auth_int

‘auth-int’

class labthings_fastapi.thing_description.model.Flow(*args, **kwds)

Bases: enum.Enum

code

‘code’

class labthings_fastapi.thing_description.model.BaseSecurityScheme

Bases: pydantic.BaseModel

field_type: Optional[labthings_fastapi.thing_description.model.TypeDeclaration]

‘Field(…)’

description: Optional[labthings_fastapi.thing_description.model.Description]

None

descriptions: Optional[labthings_fastapi.thing_description.model.Descriptions]

None

proxy: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

scheme: labthings_fastapi.thing_description.model.SecuritySchemeEnum

None

class labthings_fastapi.thing_description.model.NoSecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

description: Optional[labthings_fastapi.thing_description.model.Description]

‘Field(…)’

class labthings_fastapi.thing_description.model.NameAndIn

Bases: pydantic.BaseModel

in_: Optional[labthings_fastapi.thing_description.model.In]

‘Field(…)’

name: Optional[str]

None

class labthings_fastapi.thing_description.model.BasicSecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme, labthings_fastapi.thing_description.model.NameAndIn

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

class labthings_fastapi.thing_description.model.DigestSecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme, labthings_fastapi.thing_description.model.NameAndIn

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

qop: Optional[labthings_fastapi.thing_description.model.Qop]

None

class labthings_fastapi.thing_description.model.APISecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme, labthings_fastapi.thing_description.model.NameAndIn

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

class labthings_fastapi.thing_description.model.BearerSecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme, labthings_fastapi.thing_description.model.NameAndIn

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

authorization: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

alg: Optional[str]

None

format: Optional[str]

None

class labthings_fastapi.thing_description.model.PskSecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

identity: Optional[str]

None

class labthings_fastapi.thing_description.model.Oauth2SecurityScheme

Bases: labthings_fastapi.thing_description.model.BaseSecurityScheme

scheme: Literal[labthings_fastapi.thing_description.model.SecuritySchemeEnum]

None

authorization: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

token: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

refresh: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

scopes: Optional[Union[List[str], str]]

None

flow: Optional[labthings_fastapi.thing_description.model.Flow]

None

labthings_fastapi.thing_description.model.SecurityScheme

None

class labthings_fastapi.thing_description.model.WotTdSchema16October2019

Bases: pydantic.BaseModel

model_config

‘ConfigDict(…)’

id: Optional[pydantic.AnyUrl]

None

title: labthings_fastapi.thing_description.model.Title

None

titles: Optional[labthings_fastapi.thing_description.model.Titles]

None

properties: Optional[Dict[str, labthings_fastapi.thing_description.model.PropertyAffordance]]

None

actions: Optional[Dict[str, labthings_fastapi.thing_description.model.ActionAffordance]]

None

events: Optional[Dict[str, labthings_fastapi.thing_description.model.EventAffordance]]

None

description: Optional[labthings_fastapi.thing_description.model.Description]

None

descriptions: Optional[labthings_fastapi.thing_description.model.Descriptions]

None

version: Optional[labthings_fastapi.thing_description.model.Version]

None

None

forms: Optional[List[labthings_fastapi.thing_description.model.Form[labthings_fastapi.thing_description.model.RootOp]]]

‘Field(…)’

base: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

securityDefinitions: Dict[str, labthings_fastapi.thing_description.model.SecurityScheme]

None

support: Optional[labthings_fastapi.thing_description.model.AnyUri]

None

created: Optional[datetime.datetime]

None

modified: Optional[datetime.datetime]

None

security: Union[str, List[str]]

None

field_type: Optional[labthings_fastapi.thing_description.model.TypeDeclaration]

‘Field(…)’

field_context: labthings_fastapi.thing_description.model.ThingContext

‘Field(…)’

labthings_fastapi.thing_description.model.ThingDescription

None