hololinked
hololinked

pythonic IoT and data-acquisition runtime
compatible with the modern web

$ pip install hololinked

20

7

💡 Motivation

The Internet of Things (IoT) landscape is deeply fragmented. Firmware engineers write device code in C/C++, data scientists live in Python, and software engineers handle networking in rigorous, formal environments, juggling multiple protocols, data formats, and API definitions. Connecting these worlds is hard, and the friction often shows up as brittle glue code, misunderstandings, and knowledge gaps.

hololinked was created to address this (in python), through a systematic beginner friendly approach, yet maintaining interoperability and building with extensible components.

From distributed control systems in a synchrotron, smart-home experiments, to desktop applications or a connected science or electronics lab, hololinked provides you a decent mental framework to meet your data acquisition, remote control or IoT requirements.

Describe your hardware capabilities as first-class Python objects, by combining Python’s expressive power with W3C Web of Things standards, leveraging many protocols and data formats.

NOTE: Currently only CPython supported, therefore it may not work on highly constrained embedded devices.

EXAMPLES

oscilloscope

simulation of a device that samples time-varying voltage signals at a very high speed

CodeDemo

spectrometer

simulation of a device that measures electromagnetic spectrum, typically used to analyze light sources

camera

simulation of a camera with image and video streaming

Property
Action
Event
JSON Schema
Pydantic
Idiomatic

example.py

contribute to codebase

hololinked is fully maintained in open source under the Apache 2.0 license — and always will be! Leave us a star on GitHub.
We welcome contributions from the community! Whether it's reporting issues, suggesting new features, or submitting pull requests, your input helps us improve hololinked for everyone.

Submit FeedbackContact
Good First Issues

Suitable for newcomers to get started with the repository, sorted with varying levels of difficulty

Browse IssuesCONTRIBUTING.MD
Developer Notes

Explains how the repository is structured, design decisions & inner workings, helping developers understand the codebase

Submit Examples or Implementations

If you have device implementations that others might find useful, let the community know! We can maintain a pull mirror or another repository pointing to all implementations from contributors.

Star History Chart: API must be down if you see this
office hours

Join me for live discussions, Q&A sessions, feature brainstorming, and collaborative problem-solving. I look forward to seeing you there!

Wednesdays
4-6 PM Berlin/Europe Time
Fridays
9-10AM, 4-6 PM Berlin/Europe Time
schedule on cal.comemail for meeting link
🚀
development roadmap
v0.2.0 to v0.2.12
2024-07-21Validation of the repository's ideology and core features, support HTTP & ZMQ
v0.3.0 to v0.3.12
2025-08-17Supports MQTT for pub-sub events
v0.3.13 to v0.3.15
2026 AprilSupports CoAP for all of properties, actions and events
v0.4.0 & above
2026 JuneImproves partially implemented repository architecture to a more robust or at least a long term one
v0.5.0 & above
2026 July to DecemberAPI first approach, Agentic plugins, Telemetry
v1.0.0 to v2.0.0
2027 and beyondFocus on stability and consolidation