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 eliminate this knowledge overlap, through systematic beginner friendly approach, yet maintaining interoperability and building with extensible components.

Whether you’re doing serious R&D with high end equipment, working in a university lab putting togther an experiment, or hacking on a weekend project, hololinked provides you a decent mental framework to meet your data acquisition and remote control requirements. From distributed control systems in a synchrotron, to smart-home experiments on a Raspberry Pi or desktop applications for instrumentation, hololinked lets you describe hardware capabilities as first-class Python objects, by combining Python’s expressive power with W3C Web of Things standards.

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.