Metadata-Version: 2.4
Name: echohub
Version: 2.0.1
Summary: Local-first telemetry deck for Echopoint data.
Author: Ujjwal Vivek
License: MIT
Keywords: echohub,echopoint,dashboard,telemetry,tui,tkinter
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: basedpyright>=1.31; extra == "dev"
Dynamic: license-file

# Echohub

**Echohub** is a local-first telemetry deck built around Echopoint data. One Python engine owns fetching, caching, normalization and analytics; two renderers consume the same `DashboardState`:

- **GUI** - native Python/Tk desktop app with dense data workspaces and interactive canvases.
- **TUI** - keyboard-first true-color terminal interface.

## Network contract

```text
GET /v1/health
       │
       ├── last_updated unchanged ──> use local store.json
       │
       └── last_updated changed ────> GET /v1/store once
```

Manual refresh is explicit:

```text
REFRESH
  └─ request upstream refresh once
       └─ wait while Echopoint works
  └─ verify last_updated
       └─ download /v1/store once only if changed
```

## Quick start

```sh
# Requires Python 3.11+

# Sync with the server
python run.py sync

# Run tests
python -m pytest

# Run the GUI and TUI
python run.py gui
python run.py tui

# Install the package locally
python -m pip install -e .
echohub gui

# Offline mode (no network access)
python run.py --offline gui
python run.py --offline tui

# Demo mode (no network access, no data)
python run.py --demo gui
python run.py --demo tui
```

## Controls

| Context               | Controls                                                 |
| --------------------- | -------------------------------------------------------- |
| Global                | `R` refresh, `C` check changes, `1`–`8` switch workspace |
| TUI Projects          | `J/K` rows, `H/L` column window                          |
| TUI Constellation     | `J/K` focused project                                    |
| TUI Activity          | `J/K` commits                                            |
| TUI Contributions     | `H/L` weeks                                              |
| TUI Sources           | `T` tab, `J/K` rows                                      |
| TUI Inspector         | `J/K` keys                                               |
| GUI/Web tables        | wheel rows, Shift+wheel/trackpad columns                 |
| GUI/Web constellation | wheel zoom, drag pan, click focus                        |

## License

MIT licensed.
