Cargo Features

things-api has no features set by default.

[dependencies]
things-api = { version = "0.1.0", features = ["device", "accessory", "hub", "server", "client"] }
device

The device feature gives the developer access to all the tools needed to create a device driver. this feature is available in rust, python and javascript, to make it easier to create drivers for resource constrained devices.

accessory

The accessory feature gives the developer access to all the tools needed to create an accessory. An accessory is a device that can be controlled and control a device, but it can not communicate with other accessories. This feature is available in rust, python and javascript, to make it easier to create accessories for resource constrained devices, which is their most likely application.

hub

The hub feature gives the developer access to all the tools needed to create a hub. A hub is the central device in a smart-home system, and even though it can be replaced by one or more servers, it needs to be able to communicate with all the devices in the system. This is why it is only available in rust.

server

The server feature gives the developer access to all the tools needed to create a server. A server is a device that can relay, modify and store data from devices, accessories and the hub. The server feature is available in rust, python and javascript, because servers do not need to be resource intensive.

client

The client feature gives the developer access to all the tools needed to create a client. A client is a device that can recive and send data indirectly to devices, accessories, the hub and servers. It is available in rust, python and javascript, because clients need to run on a wide range of devices, including the web.