GitHub / libp2p issue stats
Total issues: 2,810
Total pull requests: 12,729
Merged pull request: 8,341
Average time to close issues: 9 months
Average time to close pull requests: 25 days
Average comments per issue: 3.05
Average comments per pull request: 1.29
Issues created
- libp2p/rust-libp2p: 443
- libp2p/js-libp2p: 398
- libp2p/go-libp2p: 197
- libp2p/go-libp2p-kad-dht: 132
- libp2p/py-libp2p: 126
- libp2p/go-libp2p-pubsub: 74
- libp2p/test-plans: 68
- libp2p/js-libp2p-websocket-star: 53
- libp2p/cpp-libp2p: 43
- libp2p/hydra-booster: 36
- libp2p/go-reuseport: 36
- libp2p/go-yamux: 31
- libp2p/rust-yamux: 30
- libp2p/go-libp2p-examples: 29
- libp2p/js-libp2p-secio: 29
- libp2p/go-libp2p-autonat: 27
- libp2p/go-libp2p-connmgr: 26
- libp2p/go-libp2p-noise: 24
- libp2p/go-libp2p-swarm: 24
- libp2p/go-libp2p-core: 22
- libp2p/js-libp2p-crypto: 22
- libp2p/js-libp2p-stardust: 21
- libp2p/js-libp2p-webrtc: 21
- libp2p/go-libp2p-quic-transport: 21
- libp2p/js-peer-info: 20
- libp2p/go-mplex: 20
- libp2p/js-libp2p-websocket-star-rendezvous: 19
- libp2p/go-libp2p-webrtc-direct: 19
- libp2p/js-libp2p-interfaces: 19
- libp2p/go-libp2p-daemon: 19
- libp2p/go-libp2p-peerstore: 18
- libp2p/js-libp2p-kad-dht: 18
- libp2p/go-libp2p-tls: 17
- libp2p/js-peer-id: 17
- libp2p/go-libp2p-crypto: 17
- libp2p/go-libp2p-raft: 16
- libp2p/go-libp2p-gorpc: 16
- libp2p/go-smart-record: 16
- libp2p/js-libp2p-webrtc-star: 16
- libp2p/js-libp2p-mplex: 15
- libp2p/go-ws-transport: 15
- libp2p/go-libp2p-circuit: 14
- libp2p/js-libp2p-bootstrap: 14
- libp2p/js-libp2p-keychain: 14
- libp2p/js-libp2p-utp: 13
- libp2p/js-libp2p-spdy: 13
- libp2p/js-libp2p-pubsub-peer-discovery: 13
- libp2p/go-libp2p-pubsub-router: 13
- libp2p/js-libp2p-tcp: 12
- libp2p/interop: 12
- libp2p/go-tcp-transport: 11
- libp2p/go-libp2p-transport: 11
- libp2p/go-libp2p-relay-daemon: 11
- libp2p/go-libp2p-secio: 11
- libp2p/go-buffer-pool: 10
- libp2p/go-libp2p-resource-manager: 10
- libp2p/go-libp2p-http: 10
- libp2p/go-libp2p-discovery: 10
- libp2p/js-libp2p-webtransport: 10
- libp2p/go-libp2p-pnet: 10
- libp2p/js-libp2p-pubsub: 10
- libp2p/go-openssl: 9
- libp2p/testlab: 9
- libp2p/go-stream-muxer: 9
- libp2p/go-libp2p-net: 9
- libp2p/go-libp2p-peer: 9
- libp2p/js-libp2p-websockets: 8
- libp2p/go-flow-metrics: 8
- libp2p/go-libp2p-autonat-svc: 8
- libp2p/go-reuseport-transport: 8
- libp2p/go-libp2p-kbucket: 8
- libp2p/go-netroute: 8
- libp2p/go-libp2p-transport-upgrader: 7
- libp2p/interface-connection: 7
- libp2p/js-libp2p-webrtc-direct: 7
- libp2p/go-eventbus: 7
- libp2p/go-libp2p-loggables: 6
- libp2p/js-libp2p-peer-id: 6
- libp2p/js-libp2p-delegated-content-routing: 6
- libp2p/go-peerstream: 6
- libp2p/js-peer-book: 6
- libp2p/go-libp2p-xor: 6
- libp2p/zeroconf: 6
- libp2p/go-msgio: 6
- libp2p/go-libp2p-gostream: 5
- libp2p/go-libp2p-record: 5
- libp2p/js-libp2p-floodsub: 5
- libp2p/js-libp2p-rendezvous: 5
- libp2p/go-doh-resolver: 5
- libp2p/go-libp2p-nat: 5
- libp2p/go-sockaddr: 5
- libp2p/pull-mplex: 5
- libp2p/go-libp2p-pubsub-tracer: 5
- libp2p/interface-stream-muxer: 5
- libp2p/js-libp2p-daemon: 5
- libp2p/js-libp2p-record: 4
- libp2p/go-libp2p-asn-util: 4
- libp2p/go-libp2p-conn: 4
- libp2p/go-libp2p-blankhost: 4
- libp2p/interface-transport: 4
- libp2p/js-libp2p-mdns: 4
- libp2p/go-libp2p-netutil: 4
- libp2p/go-libp2p-routing: 4
- libp2p/repl: 4
- libp2p/go-addr-util: 4
- libp2p/go-libp2p-introspector: 4
- libp2p/js-libp2p-crypto-secp256k1: 4
- libp2p/go-libp2p-routing-helpers: 4
- libp2p/interface-peer-routing: 3
- libp2p/js-libp2p-relay-server: 3
- libp2p/go-libp2p-testing: 3
- libp2p/js-ipni-content-routing: 3
- libp2p/js-libp2p-websocket-star-multi: 3
- libp2p/go-nat: 3
- libp2p/interface-peer-discovery: 3
- libp2p/cs-libp2p-peer: 3
- libp2p/interface-record-store: 3
- libp2p/go-maddr-filter: 3
- libp2p/go-utp-transport: 3
- libp2p/npm-go-libp2p: 2
- libp2p/go-libp2p-yamux: 2
- libp2p/go-libp2p-consensus: 2
- libp2p/go-conn-security-multistream: 2
- libp2p/go-libp2p-dummy-conn: 2
- libp2p/go-libp2p-interface-pnet: 2
- libp2p/go-libp2p-certbot: 2
- libp2p/go-libp2p-host: 2
- libp2p/js-libp2p-peer-store: 2
- libp2p/js-libp2p-multistream-select: 2
- libp2p/js-libp2p-utils: 2
- libp2p/go-conn-security: 1
- libp2p/js-libp2p-prometheus-metrics: 1
- libp2p/js-libp2p-cms: 1
- libp2p/js-libp2p-components: 1
- libp2p/go-libp2p-protocol: 1
- libp2p/js-reframe-content-routing: 1
- libp2p/go-libp2p-mplex: 1
- libp2p/go-stream-muxer-multistream: 1
- libp2p/go-libp2p-circuit-progs: 1
- libp2p/dht-utils: 1
- libp2p/go-libp2p-backoff: 1
- libp2p/go-composable-routing: 1
- libp2p/cs-libp2p-crypto: 1
- libp2p/js-libp2p-connection: 1
- libp2p/js-libp2p-logger: 1
- libp2p/js-libp2p-delegated-peer-routing: 1
- libp2p/npm-go-libp2p-dep: 1
Pull requests created
- libp2p/rust-libp2p: 1,574
- libp2p/js-libp2p: 1,137
- libp2p/go-libp2p: 354
- libp2p/test-plans: 317
- libp2p/js-libp2p-daemon: 243
- libp2p/go-libp2p-kad-dht: 232
- libp2p/py-libp2p: 186
- libp2p/interop: 158
- libp2p/js-libp2p-delegated-peer-routing: 153
- libp2p/js-libp2p-pubsub-peer-discovery: 150
- libp2p/js-libp2p-delegated-content-routing: 146
- libp2p/rust-yamux: 146
- libp2p/cpp-libp2p: 141
- libp2p/go-libp2p-pubsub: 123
- libp2p/go-libp2p-kbucket: 120
- libp2p/go-libp2p-daemon: 115
- libp2p/js-libp2p-interfaces: 103
- libp2p/js-libp2p-daemon-client: 101
- libp2p/js-libp2p-floodsub: 101
- libp2p/js-libp2p-kad-record-store: 100
- libp2p/js-libp2p-kad-routing: 100
- libp2p/js-libp2p-switch: 100
- libp2p/js-libp2p-kad-dht: 99
- libp2p/js-libp2p-utils: 99
- libp2p/js-libp2p-mdns: 97
- libp2p/js-libp2p-websockets: 97
- libp2p/go-libp2p-gorpc: 96
- libp2p/go-yamux: 94
- libp2p/go-libp2p-transport-upgrader: 93
- libp2p/go-libp2p-pubsub-router: 93
- libp2p/js-libp2p-record: 93
- libp2p/js-libp2p-webrtc-direct: 93
- libp2p/js-libp2p-webrtc: 92
- libp2p/js-libp2p-tcp: 92
- libp2p/go-libp2p-http: 90
- libp2p/js-libp2p-pubsub: 90
- libp2p/js-libp2p-mplex: 90
- libp2p/go-tcp-transport: 89
- libp2p/go-mplex: 89
- libp2p/js-libp2p-bootstrap: 86
- libp2p/go-libp2p-routing-helpers: 86
- libp2p/go-libp2p-gostream: 86
- libp2p/js-peer-id: 86
- libp2p/go-libp2p-circuit: 86
- libp2p/go-ws-transport: 85
- libp2p/js-libp2p-webrtc-star: 84
- libp2p/go-libp2p-tls: 83
- libp2p/go-libp2p-peerstore: 82
- libp2p/js-libp2p-peer-store: 82
- libp2p/go-reuseport: 81
- libp2p/js-libp2p-crypto: 80
- libp2p/go-libp2p-quic-transport: 79
- libp2p/go-libp2p-core: 78
- libp2p/js-libp2p-spdy: 78
- libp2p/go-libp2p-testing: 76
- libp2p/go-libp2p-noise: 76
- libp2p/go-libp2p-raft: 76
- libp2p/go-libp2p-swarm: 76
- libp2p/go-libp2p-connmgr: 74
- libp2p/hydra-booster: 74
- libp2p/js-peer-info: 74
- libp2p/go-libp2p-discovery: 74
- libp2p/go-libp2p-autonat: 73
- libp2p/js-libp2p-secio: 71
- libp2p/go-libp2p-examples: 71
- libp2p/js-libp2p-utp: 70
- libp2p/js-libp2p-ping: 68
- libp2p/js-libp2p-webtransport: 68
- libp2p/go-libp2p-autonat-svc: 67
- libp2p/go-libp2p-secio: 65
- libp2p/js-libp2p-multistream-select: 65
- libp2p/go-libp2p-resource-manager: 64
- libp2p/npm-go-libp2p: 64
- libp2p/go-libp2p-pubsub-tracer: 62
- libp2p/go-libp2p-record: 61
- libp2p/js-libp2p-peer-record: 61
- libp2p/go-libp2p-blankhost: 60
- libp2p/js-libp2p-peer-id: 60
- libp2p/go-libp2p-netutil: 56
- libp2p/js-libp2p-keychain: 55
- libp2p/go-libp2p-yamux: 54
- libp2p/js-libp2p-identify: 52
- libp2p/interface-stream-muxer: 51
- libp2p/go-netroute: 50
- libp2p/js-libp2p-cms: 47
- libp2p/go-libp2p-loggables: 47
- libp2p/interface-transport: 47
- libp2p/go-msgio: 44
- libp2p/js-peer-book: 42
- libp2p/go-libp2p-crypto: 41
- libp2p/go-libp2p-mplex: 40
- libp2p/go-addr-util: 40
- libp2p/go-eventbus: 39
- libp2p/go-libp2p-peer: 39
- libp2p/go-libp2p-transport: 38
- libp2p/go-conn-security-multistream: 37
- libp2p/go-libp2p-pnet: 36
- libp2p/go-libp2p-routing: 36
- libp2p/go-libp2p-relay-daemon: 36
- libp2p/go-libp2p-nat: 36
- libp2p/go-libp2p-asn-util: 36
- libp2p/go-libp2p-webrtc-direct: 35
- libp2p/go-socket-activation: 35
- libp2p/go-reuseport-transport: 35
- libp2p/go-libp2p-net: 35
- libp2p/js-libp2p-circuit: 33
- libp2p/js-libp2p-tracked-map: 33
- libp2p/js-libp2p-peer-collections: 33
- libp2p/go-openssl: 33
- libp2p/go-smart-record: 33
- libp2p/js-libp2p-topology: 32
- libp2p/js-libp2p-logger: 32
- libp2p/js-iprs-record: 31
- libp2p/go-buffer-pool: 31
- libp2p/js-libp2p-prometheus-metrics: 30
- libp2p/go-libp2p-conn: 28
- libp2p/js-libp2p-websocket-star: 28
- libp2p/go-flow-metrics: 27
- libp2p/go-doh-resolver: 26
- libp2p/go-nat: 26
- libp2p/go-libp2p-host: 26
- libp2p/interface-connection: 25
- libp2p/dht-utils: 25
- libp2p/js-libp2p-webrtc-peer: 25
- libp2p/go-libp2p-introspector: 25
- libp2p/go-testutil: 24
- libp2p/go-stream-muxer-multistream: 24
- libp2p/js-ipni-content-routing: 24
- libp2p/zeroconf: 24
- libp2p/js-libp2p-metrics: 24
- libp2p/js-libp2p-components: 24
- libp2p/dht-tracer1: 23
- libp2p/js-libp2p-websocket-star-rendezvous: 23
- libp2p/js-libp2p-crypto-secp256k1: 23
- libp2p/go-libp2p-xor: 22
- libp2p/go-libp2p-consensus: 20
- libp2p/go-sockaddr: 20
- libp2p/go-maddr-filter: 20
- libp2p/go-libp2p-interface-connmgr: 18
- libp2p/go-libp2p-backoff: 18
- libp2p/interface-peer-routing: 17
- libp2p/go-stream-muxer: 17
- libp2p/go-routing-language: 17
- libp2p/js-libp2p-connection: 17
- libp2p/go-libp2p-metrics: 16
- libp2p/repl: 16
- libp2p/go-peerstream: 15
- libp2p/interface-record-store: 15
- libp2p/npm-go-libp2p-dep: 14
- libp2p/go-libp2p-certbot: 13
- libp2p/go-composable-routing: 13
- libp2p/go-conn-security: 12
- libp2p/testlab: 11
- libp2p/go-cidranger: 11
- libp2p/go-libp2p-interface-pnet: 10
- libp2p/pull-mplex: 10
- libp2p/js-reframe-content-routing: 8
- libp2p/js-libp2p-stardust: 8
- libp2p/go-libp2p-protocol: 7
- libp2p/interface-peer-discovery: 7
- libp2p/js-libp2p-rendezvous: 7
- libp2p/go-libp2p-interface-conn: 6
- libp2p/js-libp2p-relay-server: 6
- libp2p/go-libp2p-dummy-conn: 4
- libp2p/js-libp2p-websocket-star-multi: 3
- libp2p/go-utp-transport: 3
- libp2p/cs-libp2p-crypto: 3
- libp2p/cs-libp2p-utils: 2
- libp2p/cs-libp2p-io: 2
- libp2p/cs-libp2p-protocol: 2
- libp2p/cs-libp2p-record: 2
- libp2p/go-libp2p-circuit-progs: 2
- libp2p/js-p2pcat: 1
- libp2p/cs-libp2p-peer: 1
- libp2p/go-src-select: 1
Issue owner Associations
- None (1,000, 35.59%)
- Contributor (886, 31.53%)
- Member (836, 29.75%)
- Collaborator (88, 3.13%)
Pull Request owner Associations
- Contributor (6,829, 53.65%)
- Member (3,494, 27.45%)
- Collaborator (1,439, 11.30%)
- None (966, 7.59%)
- First time contributor (1, 0.01%)
All Maintainers
- achingbrain (1,409)
- web3-bot (1,059)
- Stebalien (728)
- thomaseizinger (295)
- vasco-santos (242)
- raulk (176)
- mxinden (161)
- maschad (132)
- sukunrt (129)
- daviddias (127)
- jxs (124)
- marten-seemann (123)
- hsanjuan (120)
- MarcoPolo (95)
- p-shahi (84)
Active Maintainers
- achingbrain (404)
- web3-bot (118)
- sukunrt (109)
- MarcoPolo (87)
- jxs (70)
- pacrob (22)
- p-shahi (19)
- lidel (17)
- dariusc93 (15)
- Stebalien (11)
- elenaf9 (9)
- wemeetagain (8)
- aschmahmann (7)
- SgtPooki (5)
- igor-egorov (3)
Top Issue Authors
- Stebalien (143)
- thomaseizinger (119)
- marten-seemann (114)
- achingbrain (71)
- MarcoPolo (67)
- vasco-santos (61)
- daviddias (55)
- p-shahi (52)
- maschad (51)
- mxinden (51)
- SgtPooki (42)
- greenkeeper[bot] 🤖 (41)
- dennis-tra (39)
- jacobheun (38)
- mkg20001 (37)
Top Pull Request Authors
- dependabot[bot] 🤖 (2,734)
- achingbrain (1,338)
- web3-bot (1,059)
- dependabot-preview[bot] 🤖 (840)
- marten-seemann (661)
- Stebalien (585)
- greenkeeperio-bot (532)
- MarcoPolo (237)
- thomaseizinger (215)
- hsanjuan (187)
- vasco-santos (181)
- raulk (139)
- vyzo (127)
- jxs (117)
- sukunrt (114)
Top Issue Labels
- help wanted (302)
- kind/bug (153)
- need/triage (145)
- kind/enhancement (131)
- status/ready (101)
- need/author-input (72)
- good first issue (69)
- difficulty:easy (68)
- kind/stale (66)
- difficulty:moderate (62)
- bug (56)
- getting-started (53)
- P2 (49)
- P1 (40)
- enhancement (38)
Top Pull Request Labels
- dependencies (2,852)
- released (1,176)
- send-it (773)
- topic/dependencies (671)
- greenkeeper (462)
- rust (445)
- javascript (167)
- trivial (148)
- autorelease: tagged (132)
- github_actions (67)
- dependency-update (56)
- v2 (44)
- in progress (34)
- internal-change (33)
- go (30)