Web of Things
W3C

Developer Resources

There are various resources available to build Web of Things applications. These are libraries, ready-to-use software, services or SDKs, which can be used in different stages of development or for development needs and are grouped below.

Category
Platform
Language
Obsolete*
Showing 45 matching tools

Editing and Validation

Tools for editing, validating, and parsing Thing Descriptions in various programming environments

Name Description Languages
Thing Description Playground Browser application for validating and designing W3C Thing Descriptions and Thing Models. JavaScript
Eclipse edi{TD}or Eclipse ediTDor - A tool for simply designing W3C Thing Descriptions TypeScript
TD-code VS Code extension for validating and designing W3C Thing Descriptions and Thing Models. TypeScript
Eclipse Ditto :: WoT :: Model This module contains a W3C WoT (Web of Things) Java model following the Web of Things (WoT) Thing Description 1.1 Java
Java API for Thing Descriptions of WoT (JDTs) Java API for Thing Descriptions of the Web of Things Java
wot-td (Obsolete) Rust crate to produce and consume Web Of Things Thing Descriptions Rust
Golang ThingDescription This is a Golang package containing all structs to represent a ThingDescription in code and also to serialize and deserialize it. Go
tmtd Transpiling thing-model to thing-descriptions Go
Wot-DTDL-Converter A two way converter for TM and DTDL files C#

Runtimes for TD Exposers

Libraries implementing a WoT Runtime for building Things according to WoT paradigms

Name Description Languages
Eclipse Thingweb node-wot A fast and extensible framework to connect any device with your browser and backend applications TypeScript
Eclipse Ditto :: WoT This module contains models and implementation of the W3C “Web of Things” (WoT) integration of Eclipse Ditto Java
SANE Web of Things Servient This project contains an implementation of the W3C Web of Things (WoT) architecture written in Java Java
wot-serve (Obsolete) Web of Things (WoT) Thing server Rust
wotpy wotpy is an experimental asynchronous implementation of a W3C Web of Things runtime Python

Runtimes for TD Consumers

Libraries implementing a WoT Runtime for consuming Things and building custom applications

Name Description Languages
Eclipse Thingweb node-wot A fast and extensible framework to connect any device with your browser and backend applications TypeScript
Node generator for Node-RED Command line tool to convert Node-RED function node, Swagger document, or WoT Thing Description to a custom Node. JavaScript
dart_wot Framework to build Web of Things applications in Dart and Flutter. Dart
SANE Web of Things Servient W3C Web of Things implementation for Java Java
kotlin-wot A Framework for implementing Web of Things in Kotlin Kotlin
WoT.Net A .Net Standard 2.0 WoT Consumer Implementation C#
wotpy wotpy is an experimental asynchronous implementation of a W3C Web of Things runtime Python

TD Directories

Services hosting a Thing Description Directory implementing the W3C WoT Discovery specification

Name Description Languages
TinyIoT Thing Directory W3C WoT Thing Description Directory (TDD) Go
WoT Hive This implementation is compliant with the standard specification but aims at providing enriched features thanks to the usage of other W3C standards related to Semantic Web technologies. JavaScript
Domus TDD API Semantic storage for device metadata based on W3C Thing Description information model Python
wot-discovery (Obsolete) Tiny implementation of WoT Discovery Rust
Zion Zion employs the best open-source technologies to provide a scalable TDD service TypeScript

Development Environments and UIs

Tools aiding WoT application development with user interfaces and other utilities

Name Description Languages
WoT Application Manager WoT Application Manager - a CLI to quickly build a Web of Things application. TypeScript
WoT Wrench A web app to control Web of Things devices TSX
Thing Model Catalog CLI A CLI Client for ThingModel Catalogs Go
Thing Control Panel visual admin client for Things compliant with W3C WoT, like a control panel, to test or interact with a server that has no GUI. Based on material design. TypeScript
BLAST Block Applications For Things JavaScript
W-ADE Wade is an API development environment for Web of Things that was designed for the W3C WoT building blocks TypeScript
wot-fxui (Obsolete) Desktop, mobile, and browser UI for interacting with Things via TDs Java

WoT Software and Middleware

Deployable software providing functions like gateway, proxying, simulation, and testing

Name Description Languages
sayWoT! Industrial-grade implementation integrating devices into Siemens software No-Code
Web of Things Test Bench Thing Description based testing framework based on eclipse-thingweb/node-wot TypeScript
WebThings Gateway WebThings Gateway - a self-hosted web application for monitoring and controlling a building over the web TypeScript
UA Edge Translator An industrial connectivity edge application translating from proprietary protocols to OPC UA leveraging the W3C Web of Things (WoT) thing descriptions. C#
VO-WoT VO-WoT is an experimental implementation of a W3C WoT Runtime and the W3C WoT Scripting API in Python. Python
WoT Anything Web of Things server to integrate APIs or lots of virtual things TypeScript
Shadow Thing Creates and deploys a virtual Web of Things servient based on its Thing Description TypeScript

Online Things

Publicly accessible Things for testing Consumer applications and learning TD communication

Name Description Languages
Eclipse Thingweb - Online Things for Testing Publicly accessible test Things hosted by Eclipse Thingweb
Thing Model Catalog Repository W3C Thing Models for Products

Other Tooling

Name Description Languages
Eclipse AASX Package Explorer AASX Package Explorer C#
Eclipse LMOS Open-source, cloud-native platform for Multi-Agent systems
WoTify Repository of Devices that can be WoT Enabled Vue

* Tools with developer activity older than 2 years are marked as obsolete.