meshviz-studio-decentralize.../README.md

2.5 KiB
Raw Blame History

MeshViz Studio: Decentralized Real-Time Collaborative Data Visualization for Offline Edge Meshes

Overview

  • MeshViz Studio is an open-source platform that enables real-time, privacy-preserving data visualization across distributed edge networks. It is designed for multi-tenant operators (utilities, manufacturing, building ops) with intermittent connectivity.
  • Architecture focuses on offline-first operation, delta-based synchronization, and a registry of data contracts for cross-organization dashboard sharing without exposing raw data.

Whats included in this repository

  • A Python-based backend core with a minimal DeltaCRDT implementation and a DeltaStore wrapper.
  • FastAPI endpoints to push deltas, merge remote state, and fetch current state.
  • A contracts registry (meshviz/contracts/registry.json) describing datasets and widget schemas.
  • An adapters marketplace scaffold (meshviz/adapters) with a sample MQTT adapter.
  • A test suite with basic tests for CRDT merging and API behavior.
  • Packaging scaffolding (pyproject.toml), test script (test.sh), and publishing boilerplate (READY_TO_PUBLISH).

Running locally

  • Install dependencies (use a virtual environment):
    • pip install fastapi uvicorn pytest httpx
  • Start API (for quick local testing):
    • uvicorn meshviz.main:app --reload
  • Run tests and packaging verification:
    • ./test.sh

Project structure highlights

  • meshviz/crdt.py: DeltaCRDT core merging logic.
  • meshviz/core.py: DeltaStore wrapper around CRDT.
  • meshviz/main.py: FastAPI app with endpoints for delta submission and merging.
  • meshviz/contracts/registry.json: JSON registry for datasets and widgets.
  • meshviz/adapters/: Adapter marketplace scaffold with a sample MQTT adapter.
  • AGENTS.md: Architecture and contribution guidelines for agents.
  • README.md: This file, with a marketing and usage description.
  • pyproject.toml: Packaging metadata, project name, and build configuration.
  • test.sh: Automated test runner that verifies tests and packaging steps.
  • READY_TO_PUBLISH: Placeholder file indicating readiness to publish.

Hooking into packaging and publishing

  • Python package name: meshviz_studio_decentralized_real_time_c (as per pyproject.toml).
  • Readme linked via pyproject readme field so registries surface marketing copy.
  • The READY_TO_PUBLISH file is created when everything passes the quality gates.

This repository is a stepping stone toward a full production-grade platform. The current build provides a concrete, testable core that can be iterated by subsequent agents in the swarm.