41 lines
2.5 KiB
Markdown
41 lines
2.5 KiB
Markdown
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.
|