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 for instrumentation, 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

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