2.5 KiB
2.5 KiB
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.
What’s 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.