Skip to content

Commit 65bc17a

Browse files
committed
update Feature Breakdown to more closely match official implementations list of features
1 parent 0c4ea50 commit 65bc17a

File tree

3 files changed

+90
-92
lines changed

3 files changed

+90
-92
lines changed

README.md

Lines changed: 89 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -21,102 +21,100 @@ Read more in the [documentation on ReadTheDocs](https://py-libp2p.readthedocs.io
2121

2222
## Maintainers
2323

24-
Currently maintained by [@pacrob](https://github.com/pacrob) and [@dhuseby](https://github.com/dhuseby), looking for assistance!
24+
Currently maintained by [@pacrob](https://github.com/pacrob), [@seetadev](https://github.com/seetadev) and [@dhuseby](https://github.com/dhuseby), looking for assistance!
2525

2626
## Feature Breakdown
2727

2828
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.
2929

30-
> Legend: ✅: Done   🛠️: In Progress   🚫: Missing   ❌: Not planned
31-
32-
| libp2p Node | Status |
33-
| ------------ | :----: |
34-
| **`libp2p`** ||
35-
36-
| Core Protocols | Status |
37-
| -------------- | :----: |
38-
| **`Ping`** ||
39-
| **`Identify`** ||
40-
41-
| Transport Protocols | Status |
42-
| ------------------- | :----: |
43-
| **`TCP`** ||
44-
| **`QUIC`** | 🛠️ |
45-
| **`UDP`** | 🚫 |
46-
| **`WebSockets`** ||
47-
| **`UTP`** ||
48-
| **`WebRTC`** ||
49-
| **`SCTP`** ||
50-
| **`Tor`** ||
51-
| **`i2p`** ||
52-
| **`cjdns`** ||
53-
| **`Bluetooth LE`** ||
54-
| **`Audio TP`** ||
55-
| **`Zerotier`** ||
56-
57-
| Stream Muxers | Status |
58-
| ---------------- | :----: |
59-
| **`multiplex`** ||
60-
| **`yamux`** | 🚫 |
61-
| **`benchmarks`** ||
62-
| **`muxado`** ||
63-
| **`spdystream`** ||
64-
| **`spdy`** ||
65-
| **`http2`** ||
66-
| **`QUIC`** ||
67-
68-
| Protocol Muxers | Status |
69-
| ----------------- | :----: |
70-
| **`multiselect`** ||
71-
72-
| Switch (Swarm) | Status |
73-
| ------------------ | :----: |
74-
| **`Switch`** ||
75-
| **`Dialer stack`** ||
76-
77-
| Peer Discovery | Status |
78-
| -------------------- | :----: |
79-
| **`bootstrap list`** | 🚫 |
80-
| **`Kademlia DHT`** ||
81-
| **`mDNS`** ||
82-
| **`PEX`** ||
83-
| **`DNS`** ||
84-
85-
| Content Routing | Status |
86-
| ------------------ | :----: |
87-
| **`Kademlia DHT`** ||
88-
| **`floodsub`** ||
89-
| **`gossipsub`** ||
90-
| **`PHT`** ||
91-
92-
| Peer Routing | Status |
93-
| ------------------ | :----: |
94-
| **`Kademlia DHT`** ||
95-
| **`floodsub`** ||
96-
| **`gossipsub`** ||
97-
| **`PHT`** ||
98-
99-
| NAT Traversal | Status |
100-
| ------------------------ | :----: |
101-
| **`nat-pmp`** ||
102-
| **`upnp`** ||
103-
| **`ext addr discovery`** ||
104-
| **`STUN-like`** ||
105-
| **`line-switch relay`** ||
106-
| **`pkt-switch relay`** ||
107-
108-
| Exchange | Status |
109-
| ---------------- | :----: |
110-
| **`HTTP`** ||
111-
| **`Bitswap`** ||
112-
| **`Bittorrent`** ||
113-
114-
| Consensus | Status |
115-
| -------------- | :----: |
116-
| **`Paxos`** ||
117-
| **`Raft`** ||
118-
| **`PBTF`** ||
119-
| **`Nakamoto`** ||
30+
> Legend: ✅: Done  🛠️: In Progress/Usable  🌱 Prototype/Unstable  ❌: Missing
31+
32+
______________________________________________________________________
33+
34+
### Transports
35+
36+
| **Transport** | **Status** | **Source** |
37+
| -------------------------------------- | :--------: | :---------------------------------------------------------------------------------: |
38+
| **`libp2p-tcp`** || [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/transport/tcp/tcp.py) |
39+
| **`libp2p-quic`** | 🌱 | |
40+
| **`libp2p-websocket`** || |
41+
| **`libp2p-webrtc-browser-to-server`** || |
42+
| **`libp2p-webrtc-private-to-private`** || |
43+
44+
______________________________________________________________________
45+
46+
### NAT Traversal
47+
48+
| **NAT Traversal** | **Status** |
49+
| ----------------------------- | :--------: |
50+
| **`libp2p-circuit-relay-v2`** ||
51+
| **`libp2p-autonat`** ||
52+
| **`libp2p-hole-punching`** ||
53+
54+
______________________________________________________________________
55+
56+
### Secure Communication
57+
58+
| **Secure Communication** | **Status** | **Source** |
59+
| ------------------------ | :--------: | :---------------------------------------------------------------------------: |
60+
| **`libp2p-noise`** | 🌱 | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/security/noise) |
61+
| **`libp2p-tls`** || |
62+
63+
______________________________________________________________________
64+
65+
### Discovery
66+
67+
| **Discovery** | **Status** |
68+
| -------------------- | :--------: |
69+
| **`bootstrap`** ||
70+
| **`random-walk`** ||
71+
| **`mdns-discovery`** ||
72+
| **`rendezvous`** ||
73+
74+
______________________________________________________________________
75+
76+
### Peer Routing
77+
78+
| **Peer Routing** | **Status** |
79+
| -------------------- | :--------: |
80+
| **`libp2p-kad-dht`** ||
81+
82+
______________________________________________________________________
83+
84+
### Publish/Subscribe
85+
86+
| **Publish/Subscribe** | **Status** | **Source** |
87+
| ---------------------- | :--------: | :--------------------------------------------------------------------------------: |
88+
| **`libp2p-floodsub`** || [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/floodsub.py) |
89+
| **`libp2p-gossipsub`** || [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/gossipsub.py) |
90+
91+
______________________________________________________________________
92+
93+
### Stream Muxers
94+
95+
| **Stream Muxers** | **Status** | **Status** |
96+
| ------------------ | :--------: | :----------------------------------------------------------------------------------------: |
97+
| **`libp2p-yamux`** | 🌱 | |
98+
| **`libp2p-mplex`** | 🛠️ | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/stream_muxer/mplex/mplex.py) |
99+
100+
______________________________________________________________________
101+
102+
### Storage
103+
104+
| **Storage** | **Status** |
105+
| ------------------- | :--------: |
106+
| **`libp2p-record`** ||
107+
108+
______________________________________________________________________
109+
110+
### General Purpose Utilities & Datatypes
111+
112+
| **Utility/Datatype** | **Status** | **Source** |
113+
| -------------------- | :--------: | :-------------------------------------------------------------------------: |
114+
| **`libp2p-ping`** || [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/host/ping.py) |
115+
| **`libp2p-peer`** || [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/peer) |
116+
117+
______________________________________________________________________
120118

121119
## Explanation of Basic Two Node Communication
122120

newsfragments/498.docs.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Updates ``Feature Breakdown`` in ``README`` to more closely match the list of standard modules.

newsfragments/513.bugfix.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
Fixed import path in the examples to use updated `net_stream` module path, resolving ModuleNotFoundError when running the examples.
2-

0 commit comments

Comments
 (0)