How srijanitribedi/hypergraph-based-p2p-library works
This is a Python peer-to-peer networking library with two terminal interfaces: one manages a local multi-node network, while the other operates a single node. Users start nodes, connect peers, ping or message them, and optionally define hyperedges for multicast; topology and hyperedge state can be saved to CSV and visualized. The excerpts show these workflows and core module references, but do not establish every internal dispatch or persistence call, so those links are omitted where evidence is insufficient.
Main entry points: network_manager.py Network Manager · node.py Enhanced Node · visualize_hypergraph.py Hypergraph Visualizer · node_cli.py Single-node CLI
Components 14
Terminal Interfaces
- Network Manager
P2P Library/network_manager.py - Single-node CLI
P2P Library/node_cli.py
Peer Networking
- Enhanced Node
P2P Library/p2p/node.py - Socket Transport
P2P Library/p2p/node.py - Message Protocol
P2P Library/p2p/protocol.py
Hypergraph and Topology
- Hypergraph Manager
P2P Library/p2p/hypergraph.py - Topology CSV
P2P Library/p2p/hypergraph.py - Hyperedge CSV
P2P Library/p2p/hypergraph.py - Connections CSV
P2P Library/connections.csv - Hypergraph CSV
P2P Library/hypergraph.csv
Visualization
- Hypergraph Visualizer
P2P Library/visualize_hypergraph.py - Topology Views
P2P Library/visualize_hypergraph.py
Other components
- Operator
- Remote Peers
Connections 15
- Operator → Network Manager: operates
P2P Library/network_manager.py - Operator → Single-node CLI: operates
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 - Enhanced Node → Socket Transport: uses
P2P Library/p2p/node.py - Enhanced Node → Message Protocol: uses messages
P2P Library/p2p/node.py - Socket Transport → Remote Peers: exchanges TCP data
- Network Manager → Hypergraph Manager: manages hyperedges
P2P Library/network_manager.py - Single-node CLI → Hypergraph Manager: manages hyperedges
P2P Library/node_cli.py - Network Manager → Topology CSV: exports topology
P2P Library/network_manager.py - Hypergraph Manager → Hyperedge CSV: loads and saves
P2P Library/p2p/hypergraph.py - Topology CSV → Connections CSV: reads and writes
P2P Library/p2p/hypergraph.py - Hypergraph Visualizer → Hypergraph CSV: reads hyperedges
P2P Library/visualize_hypergraph.py - Hypergraph Visualizer → Connections CSV: reads links
P2P Library/visualize_hypergraph.py - Hypergraph Visualizer → Topology Views: renders views
P2P Library/visualize_hypergraph.py