How codelearner236/hypergraph-based-p2p-library works
This repository is a Python peer-to-peer networking library with two terminal interfaces: a multi-node network manager and a single-node CLI. Users start nodes, connect peers, and exercise direct messaging, broadcast, ping/discovery, and hyperedge multicast; topology and hyperedge state can be saved as CSV and visualized. The graph separates orchestration, peer runtime, and topology/visualization. Some links rely on the SOURCE INDEX or explicit comments because excerpts omit implementation details.
Main entry points: network_manager.py Network manager · node_cli.py Single-node CLI · node.py Enhanced node · visualize_hypergraph.py Topology visualizer
Components 11
Terminal interfaces
- Network manager
P2P Library/network_manager.py - Single-node CLI
P2P Library/node_cli.py
Peer runtime
- Enhanced node
P2P Library/p2p/node.py - Message protocol
P2P Library/p2p/protocol.py
Topology and visualization
- Hyperedge manager
P2P Library/p2p/hypergraph.py - Topology CSV
P2P Library/p2p/hypergraph.py - Hyperedge CSV
P2P Library/p2p/hypergraph.py - Topology visualizer
P2P Library/visualize_hypergraph.py
Other components
- Operator
- Peer nodes
- Graph output
Connections 17
- Operator → Network manager: runs commands
P2P Library/network_manager.py - Operator → Single-node CLI: runs commands
P2P Library/node_cli.py - Network manager → Enhanced node: starts and controls
P2P Library/network_manager.py - Single-node CLI → Enhanced node: starts and controls
P2P Library/node_cli.py - Network manager → Hyperedge manager: manages hyperedges
P2P Library/network_manager.py - Single-node CLI → Hyperedge manager: manages hyperedges
P2P Library/node_cli.py - Network manager → Topology CSV: exports topology
P2P Library/network_manager.py - Network manager → Topology visualizer: launches plotter
P2P Library/network_manager.py - Single-node CLI → Topology CSV: exports topology
P2P Library/node_cli.py - Single-node CLI → Topology visualizer: launches plotter
P2P Library/node_cli.py - Enhanced node → Message protocol: formats messages
P2P Library/p2p/node.py - Enhanced node → Peer nodes: sends and receives
P2P Library/p2p/node.py - Enhanced node → Hyperedge manager: multicasts to members
P2P Library/p2p/node.py - Hyperedge manager → Hyperedge CSV: loads and saves
P2P Library/p2p/hypergraph.py - Topology CSV → Topology visualizer: read from CSV
P2P Library/visualize_hypergraph.py - Hyperedge CSV → Topology visualizer: read from CSV
P2P Library/visualize_hypergraph.py - Topology visualizer → Graph output: renders graphs
P2P Library/visualize_hypergraph.py