diff --git a/README.md b/README.md index 925b8015..bd3cc1c3 100644 --- a/README.md +++ b/README.md @@ -21,102 +21,100 @@ Read more in the [documentation on ReadTheDocs](https://py-libp2p.readthedocs.io ## Maintainers -Currently maintained by [@pacrob](https://github.com/pacrob) and [@dhuseby](https://github.com/dhuseby), looking for assistance! +Currently maintained by [@pacrob](https://github.com/pacrob), [@seetadev](https://github.com/seetadev) and [@dhuseby](https://github.com/dhuseby), looking for assistance! ## Feature Breakdown py-libp2p aims for conformity with [the standard libp2p modules](https://libp2p.io/implementations/). Below is a breakdown of the modules we have developed, are developing, and may develop in the future. -> Legend: βœ…: Done Β  πŸ› οΈ: In Progress Β  🚫: Missing Β  ❌: Not planned +> Legend: βœ…: Done Β πŸ› οΈ: In Progress/UsableΒ  🌱 Prototype/Unstable  ❌: Missing -| libp2p Node | Status | -| ------------ | :----: | -| **`libp2p`** | βœ… | +______________________________________________________________________ -| Core Protocols | Status | -| -------------- | :----: | -| **`Ping`** | βœ… | -| **`Identify`** | βœ… | +### Transports -| Transport Protocols | Status | -| ------------------- | :----: | -| **`TCP`** | βœ… | -| **`QUIC`** | πŸ› οΈ | -| **`UDP`** | 🚫 | -| **`WebSockets`** | ❌ | -| **`UTP`** | ❌ | -| **`WebRTC`** | ❌ | -| **`SCTP`** | ❌ | -| **`Tor`** | ❌ | -| **`i2p`** | ❌ | -| **`cjdns`** | ❌ | -| **`Bluetooth LE`** | ❌ | -| **`Audio TP`** | ❌ | -| **`Zerotier`** | ❌ | +| **Transport** | **Status** | **Source** | +| -------------------------------------- | :--------: | :---------------------------------------------------------------------------------: | +| **`libp2p-tcp`** | βœ… | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/transport/tcp/tcp.py) | +| **`libp2p-quic`** | 🌱 | | +| **`libp2p-websocket`** | ❌ | | +| **`libp2p-webrtc-browser-to-server`** | ❌ | | +| **`libp2p-webrtc-private-to-private`** | ❌ | | -| Stream Muxers | Status | -| ---------------- | :----: | -| **`multiplex`** | βœ… | -| **`yamux`** | 🚫 | -| **`benchmarks`** | ❌ | -| **`muxado`** | ❌ | -| **`spdystream`** | ❌ | -| **`spdy`** | ❌ | -| **`http2`** | ❌ | -| **`QUIC`** | ❌ | +______________________________________________________________________ -| Protocol Muxers | Status | -| ----------------- | :----: | -| **`multiselect`** | βœ… | +### NAT Traversal -| Switch (Swarm) | Status | -| ------------------ | :----: | -| **`Switch`** | βœ… | -| **`Dialer stack`** | βœ… | +| **NAT Traversal** | **Status** | +| ----------------------------- | :--------: | +| **`libp2p-circuit-relay-v2`** | ❌ | +| **`libp2p-autonat`** | ❌ | +| **`libp2p-hole-punching`** | ❌ | -| Peer Discovery | Status | -| -------------------- | :----: | -| **`bootstrap list`** | 🚫 | -| **`Kademlia DHT`** | ❌ | -| **`mDNS`** | ❌ | -| **`PEX`** | ❌ | -| **`DNS`** | ❌ | +______________________________________________________________________ -| Content Routing | Status | -| ------------------ | :----: | -| **`Kademlia DHT`** | ❌ | -| **`floodsub`** | βœ… | -| **`gossipsub`** | βœ… | -| **`PHT`** | ❌ | +### Secure Communication -| Peer Routing | Status | -| ------------------ | :----: | -| **`Kademlia DHT`** | ❌ | -| **`floodsub`** | βœ… | -| **`gossipsub`** | βœ… | -| **`PHT`** | ❌ | +| **Secure Communication** | **Status** | **Source** | +| ------------------------ | :--------: | :---------------------------------------------------------------------------: | +| **`libp2p-noise`** | 🌱 | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/security/noise) | +| **`libp2p-tls`** | ❌ | | -| NAT Traversal | Status | -| ------------------------ | :----: | -| **`nat-pmp`** | ❌ | -| **`upnp`** | ❌ | -| **`ext addr discovery`** | ❌ | -| **`STUN-like`** | ❌ | -| **`line-switch relay`** | ❌ | -| **`pkt-switch relay`** | ❌ | +______________________________________________________________________ -| Exchange | Status | -| ---------------- | :----: | -| **`HTTP`** | ❌ | -| **`Bitswap`** | ❌ | -| **`Bittorrent`** | ❌ | +### Discovery -| Consensus | Status | -| -------------- | :----: | -| **`Paxos`** | ❌ | -| **`Raft`** | ❌ | -| **`PBTF`** | ❌ | -| **`Nakamoto`** | ❌ | +| **Discovery** | **Status** | +| -------------------- | :--------: | +| **`bootstrap`** | ❌ | +| **`random-walk`** | ❌ | +| **`mdns-discovery`** | ❌ | +| **`rendezvous`** | ❌ | + +______________________________________________________________________ + +### Peer Routing + +| **Peer Routing** | **Status** | +| -------------------- | :--------: | +| **`libp2p-kad-dht`** | ❌ | + +______________________________________________________________________ + +### Publish/Subscribe + +| **Publish/Subscribe** | **Status** | **Source** | +| ---------------------- | :--------: | :--------------------------------------------------------------------------------: | +| **`libp2p-floodsub`** | βœ… | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/floodsub.py) | +| **`libp2p-gossipsub`** | βœ… | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/gossipsub.py) | + +______________________________________________________________________ + +### Stream Muxers + +| **Stream Muxers** | **Status** | **Status** | +| ------------------ | :--------: | :----------------------------------------------------------------------------------------: | +| **`libp2p-yamux`** | 🌱 | | +| **`libp2p-mplex`** | πŸ› οΈ | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/stream_muxer/mplex/mplex.py) | + +______________________________________________________________________ + +### Storage + +| **Storage** | **Status** | +| ------------------- | :--------: | +| **`libp2p-record`** | ❌ | + +______________________________________________________________________ + +### General Purpose Utilities & Datatypes + +| **Utility/Datatype** | **Status** | **Source** | +| -------------------- | :--------: | :-------------------------------------------------------------------------: | +| **`libp2p-ping`** | βœ… | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/host/ping.py) | +| **`libp2p-peer`** | βœ… | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/peer) | + +______________________________________________________________________ ## Explanation of Basic Two Node Communication diff --git a/newsfragments/498.docs.rst b/newsfragments/498.docs.rst new file mode 100644 index 00000000..472adea8 --- /dev/null +++ b/newsfragments/498.docs.rst @@ -0,0 +1 @@ +Updates ``Feature Breakdown`` in ``README`` to more closely match the list of standard modules. diff --git a/newsfragments/513.bugfix.rst b/newsfragments/513.bugfix.rst index 9c074aff..404eee93 100644 --- a/newsfragments/513.bugfix.rst +++ b/newsfragments/513.bugfix.rst @@ -1,2 +1 @@ Fixed import path in the examples to use updated `net_stream` module path, resolving ModuleNotFoundError when running the examples. -