{"adoption": {"forks": 300, "observed_at": "2026-08-28T04:07:44.139013+00:00", "stars": 3116}, "canonical_url": "https://ross.abutalabs.com/products/libp2p", "card": {"archived": false, "artifact_type": "library", "description": "A modular and extensible networking stack which solves many challenges of peer-to-peer applications.", "domain": ["networking", "microservices", "developer-tools", "blockchain"], "enriched": true, "function": ["networking", "p2p", "rpc", "cryptography", "middleware"], "health_score": 69, "homepage": "https://libp2p.io", "language": null, "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["libp2p/libp2p", "libp2p/specs", "libp2p/js-libp2p", "libp2p/rust-libp2p", "libp2p/go-libp2p"], "name": "libp2p", "platform": ["go", "rust", "cross-platform", "browser", "windows"], "pushed_at": "2026-05-14T16:26:10+00:00", "repo": "libp2p/libp2p", "stars": 3116, "tags": ["peer-to-peer", "network-stack", "modular-protocols", "nat-traversal", "quic", "webrtc", "ipfs", "multi-language-implementations", "javascript", "nodejs", "linux", "macos"], "topics": [], "urls": [{"kind": "homepage", "url": "https://libp2p.io"}, {"kind": "site_page", "url": "https://libp2p.io/docs"}, {"kind": "site_page", "url": "https://libp2p.io/releases"}], "use_cases": ["build a peer-to-peer file sharing application", "connect nodes in a decentralized network without central servers", "implement NAT traversal and hole punching between peers", "create encrypted peer-to-peer messaging between browsers and servers", "build a blockchain or DHT network layer in Go", "multiplex multiple protocols over a single peer connection"], "what_it_is": "libp2p is a modular peer-to-peer networking stack and protocol suite, originally extracted from IPFS, with implementations in Go, Rust, JavaScript, and other languages. go-libp2p is the Go implementation, providing transports (TCP, QUIC, WebSocket, WebRTC), encrypted connections, stream multiplexing, peer discovery, and NAT traversal for building decentralized applications.", "when_to_avoid": ["you only need simple client-server HTTP communication", "you want a zero-configuration networking solution with minimal concepts to learn", "your project requires a small dependency footprint, as libp2p is a large modular stack", "you need a stable API with long-term guarantees, since libp2p's APIs evolve with the specs"], "when_to_choose": ["you are building decentralized or peer-to-peer applications in Go, Rust, or JavaScript", "you need cross-language interoperability via a shared protocol specification", "you need built-in NAT traversal, encrypted connections, and multiple transports", "you want a battle-tested stack used by IPFS, Ethereum, and Filecoin"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/libp2p/libp2p", "repo": "libp2p/libp2p", "role": "main", "score": 69}, {"path": "/repos/libp2p/go-libp2p", "repo": "libp2p/go-libp2p", "role": "sdk", "score": 96}, {"path": "/repos/libp2p/rust-libp2p", "repo": "libp2p/rust-libp2p", "role": "sdk", "score": 70}, {"path": "/repos/libp2p/js-libp2p", "repo": "libp2p/js-libp2p", "role": "sdk", "score": 95}, {"path": "/repos/libp2p/specs", "repo": "libp2p/specs", "role": "docs", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.139013+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:41:41.339818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b803f3627c6b6939f09f7790800f64dabb0ca2ea182c8acfccfff3ab304385a6", "fetched_at": "2026-08-28T04:07:44.139013+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libp2p/libp2p"}, {"content_hash": "612cbcc32c5242e13df03cd2d9b81771dfbb36ffde1d947f1453d631f4e0add8", "fetched_at": "2026-08-29T08:38:46.655809+00:00", "kind": "homepage", "missing": false, "url": "https://libp2p.io"}, {"content_hash": "896e8eec763aae601515b231ec64d7a6fc624f30e41e4533363a2a13b9e863da", "fetched_at": "2026-08-29T08:38:46.664735+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/docs"}, {"content_hash": "da0f0b6db2fac32e12f12e0fe8f2156bf7c97bba8cf2450af2a87273073f8ebe", "fetched_at": "2026-08-29T08:38:46.668939+00:00", "kind": "site_page", "missing": false, "url": "https://libp2p.io/releases"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3728, "days_push": 111, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}