ivy

a python boilerplate for an IoT node data acqusition system (DAS)

https://github.com/tum-esm/ivy

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
    Organization tum-esm has institutional domain (www.ei.tum.de)
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation ·

Repository

a python boilerplate for an IoT node data acqusition system (DAS)

Basic Info
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

🌱 Ivy

Supported Python Versions GitHub Tag
GitHub License Documentation Status DOI

A Python boilerplate for an IoT node data acquisition system (DAS) supporting remote configuration and software updates. An Ivy-based network is made up of many (remote) computers running autonomously - e.g., performing measurements, controlling actuators, etc. - and a central backend connecting these devices.

The idea of Ivy is that you can start building your own DAS based on Ivy instead of starting from scratch. You have full control over the codebase but do not have to rewrite all the logic that every autonomous DAS has to implement. In addition, Ivy provides you with a well-tested and proven way of upgrading your sensor nodes remotely.

This work is funded by the Horizon 2020 ICOS Cities PAUL Project under grant no. 101037319, and the ERC Consolidator Grant CoSense4Climate under grant no. 101089203.

Related Projects:

🪽 The Ivy software template is based on the experience gained when realizing the Hermes Project
🔨 Many utility functions from the tum-esm-utils package are included here.
🕷️ This client-side code connects to the following IoT platforms: Tenta, ThingsBoard
🌤️ The software architecture of Pyra is quite similar to the Ivy template. If we were to start building Pyra again today, we could use the Ivy template and save time on developing a new reliable architecture.

Owner

  • Name: TUM - Environmental Sensing and Modeling
  • Login: tum-esm
  • Kind: organization
  • Location: Germany

JOSS Publication

Ivy: A Data Acquisition System for Distributed Sensor Networks Supporting Remote Configuration and Software Updates
Published
October 03, 2025
Volume 10, Issue 114, Page 8862
Authors
Moritz Makowski ORCID
Environmental Sensing and Modeling, Technical University of Munich (TUM), Munich, Germany
Jia Chen ORCID
Environmental Sensing and Modeling, Technical University of Munich (TUM), Munich, Germany
Editor
Neea Rusch ORCID
Tags
Environmental Sensing Sensor Networks Data Acquisition System Wireless Sensor Networks Cyber-Physical System Autonomous System Remote Configuration Software Updates Reproducible Research Observability Monitoring Autonomous Systems Boilerplate Publish-Subscribe Message Broker MQTT Real-time IoT Pydantic

Citation (CITATION.cff)

authors:
  - affiliation: Technical University of Munich
    family-names: Makowski
    given-names: Moritz
    orcid: 0000-0002-2948-2993
  - affiliation: Technical University of Munich
    family-names: Chen
    given-names: Jia
    orcid: 0000-0002-6350-6610
cff-version: 1.2.0
date-released: "2024-12-29"
doi: 10.5281/zenodo.14562882
license:
  - cc-by-4.0
title:
  "Ivy: A Data Acquisition System for Distributed Sensor Networks Supporting
  Remote Configuration and Software Updates"
type: software
version: 1.0.0

GitHub Events

Total
  • Issues event: 8
  • Watch event: 4
  • Delete event: 3
  • Issue comment event: 6
  • Public event: 1
  • Push event: 23
  • Pull request event: 1
  • Create event: 6
Last Year
  • Issues event: 8
  • Watch event: 4
  • Delete event: 3
  • Issue comment event: 6
  • Public event: 1
  • Push event: 23
  • Pull request event: 1
  • Create event: 6

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 334
  • Total Committers: 1
  • Avg Commits per committer: 334.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 131
  • Committers: 1
  • Avg Commits per committer: 131.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Moritz Makowski m****z@d****v 334
Committer Domains (Top 20 + Academic)

Dependencies

.github/workflows/branch-on-tag.yaml actions
  • actions/checkout v4 composite
.github/workflows/render-paper.yaml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/test.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v5 composite
  • pdm-project/setup-pdm v4 composite
docs/package.json npm
  • @types/json-schema ^7.0.11 development
  • @types/node 20.1.4 development
  • serve ^14.2.1 development
  • typescript 5.0.4 development
  • autoprefixer ^10.4.17
  • next ^13.5.6
  • nextra ^2.13.2
  • nextra-theme-docs ^2.13.2
  • postcss ^8.4.33
  • react ^18.2.0
  • react-dom ^18.2.0
  • tailwindcss ^3.3.2
  • zod ^3.22.4
pyproject.toml pypi
  • click >=8.1.7
  • filelock >=3.16.1
  • paho-mqtt >=2.1.0
  • psutil >=6.1.0
  • pydantic >=2.10.4
  • pytest >=8.3.3
  • python-dotenv >=1.0.1
  • tenta >=0.1.5
  • tum-esm-utils >=2.5.3
  • typing-extensions >=4.12.2