Import Namespaces
These are the important namespaces in the repository.
| Namespace | Description |
|---|---|
hololinked.core |
Definition of Thing class, Property, Action and Event classes, StateMachine, Logger & the EventLoop that executes operations. |
hololinked.serializers |
Serializers for different data formats (JSON, MessagePack, etc.) |
hololinked.server |
Protocol specific server implementations |
hololinked.client |
ObjectProxy, protocol specific client implementations, client abstractions and ClientFactory. |
hololinked.param |
Copy of holoviz param library with implementation specific modifications. |
hololinked.storage |
Database clients for data persistence. |
hololinked.metadata |
Device description languages a Thing can be described in. hololinked.metadata.td holds the W3C Web of Things Thing Description/ThingModel parsing and generation. |
hololinked.injection |
Dependency injection layer, holds the lazy adapter registries like Serializers, SchemaValidators, StorageBackends and MetadataFormats that resolve an implementation by name on first use. |
hololinked.schema_validators |
Validators that check property, action and event payloads against a schema (JSON Schema, fastjsonschema, pydantic). |
A hexagonal architecture is followed with hololinked.core being the important part of the repository.