From bf971354aa2eb686fdd3630939ab734f66d902e3 Mon Sep 17 00:00:00 2001 From: Fraser Edwards Date: Fri, 16 Oct 2026 10:24:34 +0100 Subject: [PATCH 1/3] docs: mark missing data and list what each traction chart does not cover Each chart ends with a Not covered box listing protocols with no data and other repositories or packages that are not charted. Adds no-data markers, pre-creation shading and footnotes for SDK or implementation repositories. Co-Authored-By: Claude Sonnet 5.5 Signed-off-by: Fraser Edwards --- .../tools/capability-map/PROTOCOLS.md | 14 +- .../traction/commit-activity.svg | 6 +- .../tools/capability-map/traction/data.json | 523 +++++++++++++++++- .../tools/capability-map/traction/fetch.py | 60 +- .../capability-map/traction/github-stars.svg | 6 +- .../capability-map/traction/npm-downloads.svg | 6 +- .../tools/capability-map/traction/render.py | 178 +++++- 7 files changed, 763 insertions(+), 30 deletions(-) diff --git a/docs/research/tools/capability-map/PROTOCOLS.md b/docs/research/tools/capability-map/PROTOCOLS.md index d9d41c1..16824e6 100644 --- a/docs/research/tools/capability-map/PROTOCOLS.md +++ b/docs/research/tools/capability-map/PROTOCOLS.md @@ -83,9 +83,19 @@ Three charts, drawn from the data in the metrics table. They follow the system l **Stars.** A2A leads, then MCP, x402, UCP and AP2. AP2 and ACP hold thousands of stars with no recent commits, so their attention has outrun their activity. Hollow dots mark repositories with no commits in the last 13 weeks. -**Not shown:** star history over time. GitHub's stargazer endpoints returned nothing in this environment, so stars appear only as a snapshot. SDK downloads exist only for npm packages, so AP2, ACP, TAP, L402 and ANS have no line in the first chart. +**No data is marked, not hidden.** Dashed boxes and rows show where a protocol has no series, with the reason. Baselayer KYA is a closed commercial product, so it has no repository or package on any chart. Protocols without an official npm package identified (AP2, ACP, TAP, L402, ANS, PAP, KYAPay) are listed under "No download series". cheqd has download data but is not plotted, because the palette allows eight series. "Not collected" means none was found, not that none exists. -Refresh with `python3 traction/fetch.py` (needs `gh` logged in), then `python3 traction/render.py`. The data behind the charts is in [`traction/data.json`](./traction/data.json). +### Other gaps marked on the charts + +- **Each chart ends with a "Not covered by this chart" box.** It lists the protocols with no data and the other repositories or packages that are not charted, with their stars, commits or downloads. Only one repository and one package is charted per protocol, and others can be larger: the MCP Python and TypeScript SDK repositories hold more stars than the specification repository charted (24,593 and 13,590 against 9,458), and `a2a-sdk` on PyPI has about 11.4M downloads a month against 15.4M for the npm package charted. +- **Repository did not exist yet.** In the commits chart, dashed shading marks weeks before a repository was created (KYA-OS, UCP, MPP, ANS, x401, PAP), so a flat line means no commits rather than no repository. +- **SDK or implementation repository charted, not the specification.** An asterisk marks MPP (`wevm/mppx`), L402 (`lightninglabs/aperture`), ANS (`agentnameservice/ans`), Web Bot Auth (`cloudflare/web-bot-auth`) and cheqd (`cheqd/did-resolver`). Each footnote names what is not charted. +- **One package per protocol** in the downloads chart. x402 also publishes `@x402/core` and KYA-OS also publishes `@kya-os/mcp-i`. +- **Window cut-off.** The downloads window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown. + +**Not shown:** star history over time. GitHub's stargazer endpoints returned nothing in this environment, so stars appear only as a snapshot. SDK downloads exist only for npm packages, so those protocols have no line in the first chart. + +The lists of other repositories and packages are set in `OTHERS` and `OTHER_PACKAGES` in `traction/fetch.py`. Refresh with `python3 traction/fetch.py` (needs `gh` logged in), then `python3 traction/render.py`. The data behind the charts is in [`traction/data.json`](./traction/data.json). ## Notes diff --git a/docs/research/tools/capability-map/traction/commit-activity.svg b/docs/research/tools/capability-map/traction/commit-activity.svg index 192c60f..a0db822 100644 --- a/docs/research/tools/capability-map/traction/commit-activity.svg +++ b/docs/research/tools/capability-map/traction/commit-activity.svg @@ -1,4 +1,4 @@ -Weekly commits to each protocol main repositorySmall multiples, one panel per repository, shared scale. MCP 1991 commits; x402 1033 commits; MPP 1007 commits; KYA-OS 324 commits; UCP 319 commits; A2A 238 commits; L402 215 commits; ACP 100 commits; Web Bot Auth 93 commits; ANS 74 commits; AP2 20 commits; x401 14 commits; cheqd 8 commits; PAP 3 commits; TAP 1 commitsWeekly commits to each protocol's main repositoryLast 52 weeks to mid-Oct 2026. Same scale in every panel (0 to 160), sorted by total commits.A flat line on the baseline means no commits. Dashed shading means the repository did not exist yet. * marks an SDK or implementation repository (see below).MCP1,991 commits1600MCP: 16 commits, week of 2025-10-19MCP: 27 commits, week of 2025-10-26MCP: 39 commits, week of 2025-11-02MCP: 156 commits, week of 2025-11-09MCP: 105 commits, week of 2025-11-16MCP: 45 commits, week of 2025-11-23MCP: 14 commits, week of 2025-11-30MCP: 26 commits, week of 2025-12-07MCP: 66 commits, week of 2025-12-14MCP: 38 commits, week of 2025-12-21MCP: 13 commits, week of 2025-12-28MCP: 12 commits, week of 2026-01-04MCP: 31 commits, week of 2026-01-11MCP: 80 commits, week of 2026-01-18MCP: 75 commits, week of 2026-01-25MCP: 64 commits, week of 2026-02-01MCP: 41 commits, week of 2026-02-08MCP: 36 commits, week of 2026-02-15MCP: 45 commits, week of 2026-02-22MCP: 45 commits, week of 2026-03-01MCP: 128 commits, week of 2026-03-08MCP: 25 commits, week of 2026-03-15MCP: 59 commits, week of 2026-03-22MCP: 9 commits, week of 2026-03-29MCP: 32 commits, week of 2026-04-05MCP: 38 commits, week of 2026-04-12MCP: 34 commits, week of 2026-04-19MCP: 34 commits, week of 2026-04-26MCP: 34 commits, week of 2026-05-03MCP: 58 commits, week of 2026-05-10MCP: 36 commits, week of 2026-05-17MCP: 38 commits, week of 2026-05-24MCP: 54 commits, week of 2026-05-31MCP: 44 commits, week of 2026-06-07MCP: 23 commits, week of 2026-06-14MCP: 21 commits, week of 2026-06-21MCP: 11 commits, week of 2026-06-28MCP: 41 commits, week of 2026-07-05MCP: 45 commits, week of 2026-07-12MCP: 32 commits, week of 2026-07-19MCP: 79 commits, week of 2026-07-26MCP: 15 commits, week of 2026-08-02MCP: 9 commits, week of 2026-08-09MCP: 29 commits, week of 2026-08-16MCP: 14 commits, week of 2026-08-23MCP: 9 commits, week of 2026-08-30MCP: 15 commits, week of 2026-09-06MCP: 9 commits, week of 2026-09-13MCP: 17 commits, week of 2026-09-20MCP: 12 commits, week of 2026-09-27MCP: 9 commits, week of 2026-10-04MCP: 4 commits, week of 2026-10-11x4021,033 commitsx402: 4 commits, week of 2025-10-19x402: 11 commits, week of 2025-10-26x402: 3 commits, week of 2025-11-02x402: 15 commits, week of 2025-11-09x402: 9 commits, week of 2025-11-16x402: 10 commits, week of 2025-11-23x402: 7 commits, week of 2025-11-30x402: 17 commits, week of 2025-12-07x402: 10 commits, week of 2025-12-14x402: 16 commits, week of 2025-12-21x402: 12 commits, week of 2025-12-28x402: 25 commits, week of 2026-01-04x402: 19 commits, week of 2026-01-11x402: 19 commits, week of 2026-01-18x402: 26 commits, week of 2026-01-25x402: 31 commits, week of 2026-02-01x402: 19 commits, week of 2026-02-08x402: 22 commits, week of 2026-02-15x402: 56 commits, week of 2026-02-22x402: 31 commits, week of 2026-03-01x402: 31 commits, week of 2026-03-08x402: 27 commits, week of 2026-03-15x402: 22 commits, week of 2026-03-22x402: 19 commits, week of 2026-03-29x402: 15 commits, week of 2026-04-05x402: 21 commits, week of 2026-04-12x402: 16 commits, week of 2026-04-19x402: 13 commits, week of 2026-04-26x402: 17 commits, week of 2026-05-03x402: 34 commits, week of 2026-05-10x402: 23 commits, week of 2026-05-17x402: 38 commits, week of 2026-05-24x402: 18 commits, week of 2026-05-31x402: 23 commits, week of 2026-06-07x402: 24 commits, week of 2026-06-14x402: 14 commits, week of 2026-06-21x402: 13 commits, week of 2026-06-28x402: 14 commits, week of 2026-07-05x402: 22 commits, week of 2026-07-12x402: 24 commits, week of 2026-07-19x402: 11 commits, week of 2026-07-26x402: 22 commits, week of 2026-08-02x402: 23 commits, week of 2026-08-09x402: 21 commits, week of 2026-08-16x402: 27 commits, week of 2026-08-23x402: 41 commits, week of 2026-08-30x402: 16 commits, week of 2026-09-06x402: 28 commits, week of 2026-09-13x402: 19 commits, week of 2026-09-20x402: 20 commits, week of 2026-09-27x402: 8 commits, week of 2026-10-04x402: 7 commits, week of 2026-10-11MPP*1,007 commitsMPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: repository not yet created (created 2026-01-21)MPP: 24 commits, week of 2026-01-18MPP: 73 commits, week of 2026-01-25MPP: 31 commits, week of 2026-02-01MPP: 94 commits, week of 2026-02-08MPP: 62 commits, week of 2026-02-15MPP: 25 commits, week of 2026-02-22MPP: 20 commits, week of 2026-03-01MPP: 19 commits, week of 2026-03-08MPP: 26 commits, week of 2026-03-15MPP: 45 commits, week of 2026-03-22MPP: 32 commits, week of 2026-03-29MPP: 33 commits, week of 2026-04-05MPP: 17 commits, week of 2026-04-12MPP: 29 commits, week of 2026-04-19MPP: 16 commits, week of 2026-04-26MPP: 17 commits, week of 2026-05-03MPP: 25 commits, week of 2026-05-10MPP: 13 commits, week of 2026-05-17MPP: 3 commits, week of 2026-05-24MPP: 20 commits, week of 2026-05-31MPP: 18 commits, week of 2026-06-07MPP: 21 commits, week of 2026-06-14MPP: 16 commits, week of 2026-06-21MPP: 23 commits, week of 2026-06-28MPP: 9 commits, week of 2026-07-05MPP: 33 commits, week of 2026-07-12MPP: 34 commits, week of 2026-07-19MPP: 14 commits, week of 2026-07-26MPP: 26 commits, week of 2026-08-02MPP: 14 commits, week of 2026-08-09MPP: 23 commits, week of 2026-08-16MPP: 17 commits, week of 2026-08-23MPP: 12 commits, week of 2026-08-30MPP: 10 commits, week of 2026-09-06MPP: 9 commits, week of 2026-09-13MPP: 8 commits, week of 2026-09-20MPP: 56 commits, week of 2026-09-27MPP: 16 commits, week of 2026-10-04MPP: 23 commits, week of 2026-10-11KYA-OS324 commitscreated Mar 2026KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: repository not yet created (created 2026-03-10)KYA-OS: 1 commits, week of 2026-03-08KYA-OS: 6 commits, week of 2026-03-15KYA-OS: 14 commits, week of 2026-03-22KYA-OS: 13 commits, week of 2026-03-29KYA-OS: 0 commits, week of 2026-04-05KYA-OS: 0 commits, week of 2026-04-12KYA-OS: 2 commits, week of 2026-04-19KYA-OS: 0 commits, week of 2026-04-26KYA-OS: 0 commits, week of 2026-05-03KYA-OS: 17 commits, week of 2026-05-10KYA-OS: 5 commits, week of 2026-05-17KYA-OS: 22 commits, week of 2026-05-24KYA-OS: 32 commits, week of 2026-05-31KYA-OS: 3 commits, week of 2026-06-07KYA-OS: 13 commits, week of 2026-06-14KYA-OS: 0 commits, week of 2026-06-21KYA-OS: 12 commits, week of 2026-06-28KYA-OS: 31 commits, week of 2026-07-05KYA-OS: 2 commits, week of 2026-07-12KYA-OS: 18 commits, week of 2026-07-19KYA-OS: 14 commits, week of 2026-07-26KYA-OS: 9 commits, week of 2026-08-02KYA-OS: 10 commits, week of 2026-08-09KYA-OS: 12 commits, week of 2026-08-16KYA-OS: 12 commits, week of 2026-08-23KYA-OS: 0 commits, week of 2026-08-30KYA-OS: 0 commits, week of 2026-09-06KYA-OS: 5 commits, week of 2026-09-13KYA-OS: 19 commits, week of 2026-09-20KYA-OS: 6 commits, week of 2026-09-27KYA-OS: 25 commits, week of 2026-10-04KYA-OS: 21 commits, week of 2026-10-11UCP319 commitsUCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: repository not yet created (created 2025-12-31)UCP: 0 commits, week of 2025-12-28UCP: 0 commits, week of 2026-01-04UCP: 21 commits, week of 2026-01-11UCP: 22 commits, week of 2026-01-18UCP: 14 commits, week of 2026-01-25UCP: 3 commits, week of 2026-02-01UCP: 7 commits, week of 2026-02-08UCP: 7 commits, week of 2026-02-15UCP: 11 commits, week of 2026-02-22UCP: 7 commits, week of 2026-03-01UCP: 8 commits, week of 2026-03-08UCP: 9 commits, week of 2026-03-15UCP: 3 commits, week of 2026-03-22UCP: 11 commits, week of 2026-03-29UCP: 8 commits, week of 2026-04-05UCP: 6 commits, week of 2026-04-12UCP: 8 commits, week of 2026-04-19UCP: 6 commits, week of 2026-04-26UCP: 5 commits, week of 2026-05-03UCP: 6 commits, week of 2026-05-10UCP: 10 commits, week of 2026-05-17UCP: 2 commits, week of 2026-05-24UCP: 2 commits, week of 2026-05-31UCP: 8 commits, week of 2026-06-07UCP: 12 commits, week of 2026-06-14UCP: 9 commits, week of 2026-06-21UCP: 5 commits, week of 2026-06-28UCP: 4 commits, week of 2026-07-05UCP: 7 commits, week of 2026-07-12UCP: 8 commits, week of 2026-07-19UCP: 5 commits, week of 2026-07-26UCP: 4 commits, week of 2026-08-02UCP: 12 commits, week of 2026-08-09UCP: 16 commits, week of 2026-08-16UCP: 7 commits, week of 2026-08-23UCP: 3 commits, week of 2026-08-30UCP: 5 commits, week of 2026-09-06UCP: 1 commits, week of 2026-09-13UCP: 12 commits, week of 2026-09-20UCP: 4 commits, week of 2026-09-27UCP: 11 commits, week of 2026-10-04UCP: 10 commits, week of 2026-10-11A2A238 commits1600A2A: 5 commits, week of 2025-10-19A2A: 3 commits, week of 2025-10-26A2A: 0 commits, week of 2025-11-02A2A: 3 commits, week of 2025-11-09A2A: 5 commits, week of 2025-11-16A2A: 4 commits, week of 2025-11-23A2A: 8 commits, week of 2025-11-30A2A: 5 commits, week of 2025-12-07A2A: 2 commits, week of 2025-12-14A2A: 1 commits, week of 2025-12-21A2A: 0 commits, week of 2025-12-28A2A: 3 commits, week of 2026-01-04A2A: 9 commits, week of 2026-01-11A2A: 3 commits, week of 2026-01-18A2A: 20 commits, week of 2026-01-25A2A: 5 commits, week of 2026-02-01A2A: 7 commits, week of 2026-02-08A2A: 15 commits, week of 2026-02-15A2A: 2 commits, week of 2026-02-22A2A: 6 commits, week of 2026-03-01A2A: 18 commits, week of 2026-03-08A2A: 2 commits, week of 2026-03-15A2A: 2 commits, week of 2026-03-22A2A: 3 commits, week of 2026-03-29A2A: 9 commits, week of 2026-04-05A2A: 1 commits, week of 2026-04-12A2A: 4 commits, week of 2026-04-19A2A: 0 commits, week of 2026-04-26A2A: 0 commits, week of 2026-05-03A2A: 0 commits, week of 2026-05-10A2A: 3 commits, week of 2026-05-17A2A: 6 commits, week of 2026-05-24A2A: 5 commits, week of 2026-05-31A2A: 1 commits, week of 2026-06-07A2A: 0 commits, week of 2026-06-14A2A: 3 commits, week of 2026-06-21A2A: 1 commits, week of 2026-06-28A2A: 7 commits, week of 2026-07-05A2A: 3 commits, week of 2026-07-12A2A: 4 commits, week of 2026-07-19A2A: 4 commits, week of 2026-07-26A2A: 4 commits, week of 2026-08-02A2A: 8 commits, week of 2026-08-09A2A: 3 commits, week of 2026-08-16A2A: 7 commits, week of 2026-08-23A2A: 4 commits, week of 2026-08-30A2A: 4 commits, week of 2026-09-06A2A: 1 commits, week of 2026-09-13A2A: 2 commits, week of 2026-09-20A2A: 7 commits, week of 2026-09-27A2A: 9 commits, week of 2026-10-04A2A: 7 commits, week of 2026-10-11L402*215 commitsL402: 0 commits, week of 2025-10-19L402: 0 commits, week of 2025-10-26L402: 1 commits, week of 2025-11-02L402: 0 commits, week of 2025-11-09L402: 2 commits, week of 2025-11-16L402: 3 commits, week of 2025-11-23L402: 0 commits, week of 2025-11-30L402: 0 commits, week of 2025-12-07L402: 0 commits, week of 2025-12-14L402: 0 commits, week of 2025-12-21L402: 0 commits, week of 2025-12-28L402: 0 commits, week of 2026-01-04L402: 6 commits, week of 2026-01-11L402: 2 commits, week of 2026-01-18L402: 3 commits, week of 2026-01-25L402: 0 commits, week of 2026-02-01L402: 4 commits, week of 2026-02-08L402: 0 commits, week of 2026-02-15L402: 1 commits, week of 2026-02-22L402: 4 commits, week of 2026-03-01L402: 17 commits, week of 2026-03-08L402: 17 commits, week of 2026-03-15L402: 45 commits, week of 2026-03-22L402: 0 commits, week of 2026-03-29L402: 1 commits, week of 2026-04-05L402: 1 commits, week of 2026-04-12L402: 2 commits, week of 2026-04-19L402: 1 commits, week of 2026-04-26L402: 0 commits, week of 2026-05-03L402: 0 commits, week of 2026-05-10L402: 0 commits, week of 2026-05-17L402: 0 commits, week of 2026-05-24L402: 0 commits, week of 2026-05-31L402: 0 commits, week of 2026-06-07L402: 0 commits, week of 2026-06-14L402: 0 commits, week of 2026-06-21L402: 2 commits, week of 2026-06-28L402: 17 commits, week of 2026-07-05L402: 0 commits, week of 2026-07-12L402: 0 commits, week of 2026-07-19L402: 15 commits, week of 2026-07-26L402: 3 commits, week of 2026-08-02L402: 17 commits, week of 2026-08-09L402: 1 commits, week of 2026-08-16L402: 0 commits, week of 2026-08-23L402: 3 commits, week of 2026-08-30L402: 5 commits, week of 2026-09-06L402: 3 commits, week of 2026-09-13L402: 22 commits, week of 2026-09-20L402: 6 commits, week of 2026-09-27L402: 10 commits, week of 2026-10-04L402: 1 commits, week of 2026-10-11ACP100 commitsACP: 0 commits, week of 2025-10-19ACP: 0 commits, week of 2025-10-26ACP: 0 commits, week of 2025-11-02ACP: 0 commits, week of 2025-11-09ACP: 0 commits, week of 2025-11-16ACP: 0 commits, week of 2025-11-23ACP: 1 commits, week of 2025-11-30ACP: 0 commits, week of 2025-12-07ACP: 5 commits, week of 2025-12-14ACP: 0 commits, week of 2025-12-21ACP: 0 commits, week of 2025-12-28ACP: 4 commits, week of 2026-01-04ACP: 5 commits, week of 2026-01-11ACP: 4 commits, week of 2026-01-18ACP: 8 commits, week of 2026-01-25ACP: 17 commits, week of 2026-02-01ACP: 12 commits, week of 2026-02-08ACP: 6 commits, week of 2026-02-15ACP: 4 commits, week of 2026-02-22ACP: 0 commits, week of 2026-03-01ACP: 3 commits, week of 2026-03-08ACP: 4 commits, week of 2026-03-15ACP: 0 commits, week of 2026-03-22ACP: 0 commits, week of 2026-03-29ACP: 2 commits, week of 2026-04-05ACP: 7 commits, week of 2026-04-12ACP: 4 commits, week of 2026-04-19ACP: 2 commits, week of 2026-04-26ACP: 1 commits, week of 2026-05-03ACP: 2 commits, week of 2026-05-10ACP: 2 commits, week of 2026-05-17ACP: 0 commits, week of 2026-05-24ACP: 2 commits, week of 2026-05-31ACP: 1 commits, week of 2026-06-07ACP: 3 commits, week of 2026-06-14ACP: 0 commits, week of 2026-06-21ACP: 0 commits, week of 2026-06-28ACP: 0 commits, week of 2026-07-05ACP: 1 commits, week of 2026-07-12ACP: 0 commits, week of 2026-07-19ACP: 0 commits, week of 2026-07-26ACP: 0 commits, week of 2026-08-02ACP: 0 commits, week of 2026-08-09ACP: 0 commits, week of 2026-08-16ACP: 0 commits, week of 2026-08-23ACP: 0 commits, week of 2026-08-30ACP: 0 commits, week of 2026-09-06ACP: 0 commits, week of 2026-09-13ACP: 0 commits, week of 2026-09-20ACP: 0 commits, week of 2026-09-27ACP: 0 commits, week of 2026-10-04ACP: 0 commits, week of 2026-10-11Web Bot Auth*93 commitsWeb Bot Auth: 1 commits, week of 2025-10-19Web Bot Auth: 1 commits, week of 2025-10-26Web Bot Auth: 1 commits, week of 2025-11-02Web Bot Auth: 0 commits, week of 2025-11-09Web Bot Auth: 0 commits, week of 2025-11-16Web Bot Auth: 0 commits, week of 2025-11-23Web Bot Auth: 0 commits, week of 2025-11-30Web Bot Auth: 0 commits, week of 2025-12-07Web Bot Auth: 2 commits, week of 2025-12-14Web Bot Auth: 0 commits, week of 2025-12-21Web Bot Auth: 0 commits, week of 2025-12-28Web Bot Auth: 0 commits, week of 2026-01-04Web Bot Auth: 2 commits, week of 2026-01-11Web Bot Auth: 0 commits, week of 2026-01-18Web Bot Auth: 0 commits, week of 2026-01-25Web Bot Auth: 0 commits, week of 2026-02-01Web Bot Auth: 0 commits, week of 2026-02-08Web Bot Auth: 0 commits, week of 2026-02-15Web Bot Auth: 0 commits, week of 2026-02-22Web Bot Auth: 2 commits, week of 2026-03-01Web Bot Auth: 4 commits, week of 2026-03-08Web Bot Auth: 0 commits, week of 2026-03-15Web Bot Auth: 0 commits, week of 2026-03-22Web Bot Auth: 0 commits, week of 2026-03-29Web Bot Auth: 0 commits, week of 2026-04-05Web Bot Auth: 1 commits, week of 2026-04-12Web Bot Auth: 5 commits, week of 2026-04-19Web Bot Auth: 1 commits, week of 2026-04-26Web Bot Auth: 5 commits, week of 2026-05-03Web Bot Auth: 0 commits, week of 2026-05-10Web Bot Auth: 0 commits, week of 2026-05-17Web Bot Auth: 7 commits, week of 2026-05-24Web Bot Auth: 0 commits, week of 2026-05-31Web Bot Auth: 3 commits, week of 2026-06-07Web Bot Auth: 0 commits, week of 2026-06-14Web Bot Auth: 8 commits, week of 2026-06-21Web Bot Auth: 12 commits, week of 2026-06-28Web Bot Auth: 1 commits, week of 2026-07-05Web Bot Auth: 3 commits, week of 2026-07-12Web Bot Auth: 7 commits, week of 2026-07-19Web Bot Auth: 2 commits, week of 2026-07-26Web Bot Auth: 2 commits, week of 2026-08-02Web Bot Auth: 3 commits, week of 2026-08-09Web Bot Auth: 3 commits, week of 2026-08-16Web Bot Auth: 5 commits, week of 2026-08-23Web Bot Auth: 5 commits, week of 2026-08-30Web Bot Auth: 1 commits, week of 2026-09-06Web Bot Auth: 1 commits, week of 2026-09-13Web Bot Auth: 0 commits, week of 2026-09-20Web Bot Auth: 0 commits, week of 2026-09-27Web Bot Auth: 2 commits, week of 2026-10-04Web Bot Auth: 3 commits, week of 2026-10-11ANS*74 commitscreated May 2026ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: repository not yet created (created 2026-05-06)ANS: 8 commits, week of 2026-05-03ANS: 0 commits, week of 2026-05-10ANS: 0 commits, week of 2026-05-17ANS: 3 commits, week of 2026-05-24ANS: 10 commits, week of 2026-05-31ANS: 1 commits, week of 2026-06-07ANS: 2 commits, week of 2026-06-14ANS: 9 commits, week of 2026-06-21ANS: 1 commits, week of 2026-06-28ANS: 0 commits, week of 2026-07-05ANS: 12 commits, week of 2026-07-12ANS: 8 commits, week of 2026-07-19ANS: 0 commits, week of 2026-07-26ANS: 1 commits, week of 2026-08-02ANS: 0 commits, week of 2026-08-09ANS: 1 commits, week of 2026-08-16ANS: 2 commits, week of 2026-08-23ANS: 3 commits, week of 2026-08-30ANS: 4 commits, week of 2026-09-06ANS: 1 commits, week of 2026-09-13ANS: 0 commits, week of 2026-09-20ANS: 2 commits, week of 2026-09-27ANS: 1 commits, week of 2026-10-04ANS: 5 commits, week of 2026-10-11AP220 commits1600AP2: 0 commits, week of 2025-10-19AP2: 4 commits, week of 2025-10-26AP2: 0 commits, week of 2025-11-02AP2: 3 commits, week of 2025-11-09AP2: 2 commits, week of 2025-11-16AP2: 0 commits, week of 2025-11-23AP2: 0 commits, week of 2025-11-30AP2: 0 commits, week of 2025-12-07AP2: 1 commits, week of 2025-12-14AP2: 0 commits, week of 2025-12-21AP2: 0 commits, week of 2025-12-28AP2: 0 commits, week of 2026-01-04AP2: 1 commits, week of 2026-01-11AP2: 1 commits, week of 2026-01-18AP2: 1 commits, week of 2026-01-25AP2: 0 commits, week of 2026-02-01AP2: 1 commits, week of 2026-02-08AP2: 0 commits, week of 2026-02-15AP2: 0 commits, week of 2026-02-22AP2: 0 commits, week of 2026-03-01AP2: 0 commits, week of 2026-03-08AP2: 0 commits, week of 2026-03-15AP2: 0 commits, week of 2026-03-22AP2: 0 commits, week of 2026-03-29AP2: 0 commits, week of 2026-04-05AP2: 0 commits, week of 2026-04-12AP2: 1 commits, week of 2026-04-19AP2: 5 commits, week of 2026-04-26AP2: 0 commits, week of 2026-05-03AP2: 0 commits, week of 2026-05-10AP2: 0 commits, week of 2026-05-17AP2: 0 commits, week of 2026-05-24AP2: 0 commits, week of 2026-05-31AP2: 0 commits, week of 2026-06-07AP2: 0 commits, week of 2026-06-14AP2: 0 commits, week of 2026-06-21AP2: 0 commits, week of 2026-06-28AP2: 0 commits, week of 2026-07-05AP2: 0 commits, week of 2026-07-12AP2: 0 commits, week of 2026-07-19AP2: 0 commits, week of 2026-07-26AP2: 0 commits, week of 2026-08-02AP2: 0 commits, week of 2026-08-09AP2: 0 commits, week of 2026-08-16AP2: 0 commits, week of 2026-08-23AP2: 0 commits, week of 2026-08-30AP2: 0 commits, week of 2026-09-06AP2: 0 commits, week of 2026-09-13AP2: 0 commits, week of 2026-09-20AP2: 0 commits, week of 2026-09-27AP2: 0 commits, week of 2026-10-04AP2: 0 commits, week of 2026-10-11x40114 commitscreated May 2026x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: repository not yet created (created 2026-05-07)x401: 0 commits, week of 2026-05-03x401: 0 commits, week of 2026-05-10x401: 0 commits, week of 2026-05-17x401: 0 commits, week of 2026-05-24x401: 0 commits, week of 2026-05-31x401: 0 commits, week of 2026-06-07x401: 0 commits, week of 2026-06-14x401: 10 commits, week of 2026-06-21x401: 1 commits, week of 2026-06-28x401: 0 commits, week of 2026-07-05x401: 0 commits, week of 2026-07-12x401: 0 commits, week of 2026-07-19x401: 0 commits, week of 2026-07-26x401: 0 commits, week of 2026-08-02x401: 0 commits, week of 2026-08-09x401: 0 commits, week of 2026-08-16x401: 0 commits, week of 2026-08-23x401: 0 commits, week of 2026-08-30x401: 0 commits, week of 2026-09-06x401: 1 commits, week of 2026-09-13x401: 0 commits, week of 2026-09-20x401: 2 commits, week of 2026-09-27x401: 0 commits, week of 2026-10-04x401: 0 commits, week of 2026-10-11KYAPay13 commitsKYAPay: 0 commits, week of 2025-10-19KYAPay: 0 commits, week of 2025-10-26KYAPay: 0 commits, week of 2025-11-02KYAPay: 0 commits, week of 2025-11-09KYAPay: 0 commits, week of 2025-11-16KYAPay: 0 commits, week of 2025-11-23KYAPay: 0 commits, week of 2025-11-30KYAPay: 0 commits, week of 2025-12-07KYAPay: 0 commits, week of 2025-12-14KYAPay: 0 commits, week of 2025-12-21KYAPay: 0 commits, week of 2025-12-28KYAPay: 0 commits, week of 2026-01-04KYAPay: 0 commits, week of 2026-01-11KYAPay: 0 commits, week of 2026-01-18KYAPay: 0 commits, week of 2026-01-25KYAPay: 0 commits, week of 2026-02-01KYAPay: 0 commits, week of 2026-02-08KYAPay: 0 commits, week of 2026-02-15KYAPay: 1 commits, week of 2026-02-22KYAPay: 0 commits, week of 2026-03-01KYAPay: 1 commits, week of 2026-03-08KYAPay: 0 commits, week of 2026-03-15KYAPay: 0 commits, week of 2026-03-22KYAPay: 0 commits, week of 2026-03-29KYAPay: 0 commits, week of 2026-04-05KYAPay: 2 commits, week of 2026-04-12KYAPay: 0 commits, week of 2026-04-19KYAPay: 3 commits, week of 2026-04-26KYAPay: 5 commits, week of 2026-05-03KYAPay: 0 commits, week of 2026-05-10KYAPay: 0 commits, week of 2026-05-17KYAPay: 0 commits, week of 2026-05-24KYAPay: 0 commits, week of 2026-05-31KYAPay: 0 commits, week of 2026-06-07KYAPay: 0 commits, week of 2026-06-14KYAPay: 0 commits, week of 2026-06-21KYAPay: 0 commits, week of 2026-06-28KYAPay: 0 commits, week of 2026-07-05KYAPay: 0 commits, week of 2026-07-12KYAPay: 0 commits, week of 2026-07-19KYAPay: 0 commits, week of 2026-07-26KYAPay: 0 commits, week of 2026-08-02KYAPay: 0 commits, week of 2026-08-09KYAPay: 0 commits, week of 2026-08-16KYAPay: 0 commits, week of 2026-08-23KYAPay: 1 commits, week of 2026-08-30KYAPay: 0 commits, week of 2026-09-06KYAPay: 0 commits, week of 2026-09-13KYAPay: 0 commits, week of 2026-09-20KYAPay: 0 commits, week of 2026-09-27KYAPay: 0 commits, week of 2026-10-04KYAPay: 0 commits, week of 2026-10-11cheqd*8 commitscheqd: 0 commits, week of 2025-10-19cheqd: 0 commits, week of 2025-10-26cheqd: 0 commits, week of 2025-11-02cheqd: 0 commits, week of 2025-11-09cheqd: 0 commits, week of 2025-11-16cheqd: 0 commits, week of 2025-11-23cheqd: 2 commits, week of 2025-11-30cheqd: 0 commits, week of 2025-12-07cheqd: 0 commits, week of 2025-12-14cheqd: 0 commits, week of 2025-12-21cheqd: 0 commits, week of 2025-12-28cheqd: 0 commits, week of 2026-01-04cheqd: 2 commits, week of 2026-01-11cheqd: 0 commits, week of 2026-01-18cheqd: 0 commits, week of 2026-01-25cheqd: 0 commits, week of 2026-02-01cheqd: 0 commits, week of 2026-02-08cheqd: 1 commits, week of 2026-02-15cheqd: 1 commits, week of 2026-02-22cheqd: 0 commits, week of 2026-03-01cheqd: 0 commits, week of 2026-03-08cheqd: 0 commits, week of 2026-03-15cheqd: 0 commits, week of 2026-03-22cheqd: 0 commits, week of 2026-03-29cheqd: 0 commits, week of 2026-04-05cheqd: 0 commits, week of 2026-04-12cheqd: 0 commits, week of 2026-04-19cheqd: 0 commits, week of 2026-04-26cheqd: 0 commits, week of 2026-05-03cheqd: 0 commits, week of 2026-05-10cheqd: 0 commits, week of 2026-05-17cheqd: 0 commits, week of 2026-05-24cheqd: 0 commits, week of 2026-05-31cheqd: 0 commits, week of 2026-06-07cheqd: 0 commits, week of 2026-06-14cheqd: 0 commits, week of 2026-06-21cheqd: 0 commits, week of 2026-06-28cheqd: 0 commits, week of 2026-07-05cheqd: 0 commits, week of 2026-07-12cheqd: 0 commits, week of 2026-07-19cheqd: 0 commits, week of 2026-07-26cheqd: 0 commits, week of 2026-08-02cheqd: 0 commits, week of 2026-08-09cheqd: 0 commits, week of 2026-08-16cheqd: 0 commits, week of 2026-08-23cheqd: 2 commits, week of 2026-08-30cheqd: 0 commits, week of 2026-09-06cheqd: 0 commits, week of 2026-09-13cheqd: 0 commits, week of 2026-09-20cheqd: 0 commits, week of 2026-09-27cheqd: 0 commits, week of 2026-10-04cheqd: 0 commits, week of 2026-10-11PAP3 commitscreated Oct 2026PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: repository not yet created (created 2026-10-14)PAP: 2 commits, week of 2026-10-11TAP1 commit1600TAP: 0 commits, week of 2025-10-19TAP: 1 commits, week of 2025-10-26TAP: 0 commits, week of 2025-11-02TAP: 0 commits, week of 2025-11-09TAP: 0 commits, week of 2025-11-16TAP: 0 commits, week of 2025-11-23TAP: 0 commits, week of 2025-11-30TAP: 0 commits, week of 2025-12-07TAP: 0 commits, week of 2025-12-14TAP: 0 commits, week of 2025-12-21TAP: 0 commits, week of 2025-12-28TAP: 0 commits, week of 2026-01-04TAP: 0 commits, week of 2026-01-11TAP: 0 commits, week of 2026-01-18TAP: 0 commits, week of 2026-01-25TAP: 0 commits, week of 2026-02-01TAP: 0 commits, week of 2026-02-08TAP: 0 commits, week of 2026-02-15TAP: 0 commits, week of 2026-02-22TAP: 0 commits, week of 2026-03-01TAP: 0 commits, week of 2026-03-08TAP: 0 commits, week of 2026-03-15TAP: 0 commits, week of 2026-03-22TAP: 0 commits, week of 2026-03-29TAP: 0 commits, week of 2026-04-05TAP: 0 commits, week of 2026-04-12TAP: 0 commits, week of 2026-04-19TAP: 0 commits, week of 2026-04-26TAP: 0 commits, week of 2026-05-03TAP: 0 commits, week of 2026-05-10TAP: 0 commits, week of 2026-05-17TAP: 0 commits, week of 2026-05-24TAP: 0 commits, week of 2026-05-31TAP: 0 commits, week of 2026-06-07TAP: 0 commits, week of 2026-06-14TAP: 0 commits, week of 2026-06-21TAP: 0 commits, week of 2026-06-28TAP: 0 commits, week of 2026-07-05TAP: 0 commits, week of 2026-07-12TAP: 0 commits, week of 2026-07-19TAP: 0 commits, week of 2026-07-26TAP: 0 commits, week of 2026-08-02TAP: 0 commits, week of 2026-08-09TAP: 0 commits, week of 2026-08-16TAP: 0 commits, week of 2026-08-23TAP: 0 commits, week of 2026-08-30TAP: 0 commits, week of 2026-09-06TAP: 0 commits, week of 2026-09-13TAP: 0 commits, week of 2026-09-20TAP: 0 commits, week of 2026-09-27TAP: 0 commits, week of 2026-10-04TAP: 0 commits, week of 2026-10-11Baselayer KYANo dataclosed product, no public repo* Charted repository is an SDK or implementation, not the specification: MPP: wevm/mppx, the TypeScript SDK. The specification repository, tempoxyz/mpp-specs, is not charted. L402: lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted. ANS: agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository. Web Bot Auth: cloudflare/web-bot-auth, Cloudflare's implementation. The IETF draft is not charted. cheqd: cheqd/did-resolver, one cheqd repository. The cheqd network and other repositories are not charted.Not covered by this chartProtocols with no panelBaselayer KYA: closed commercial product, no public repository.Other repositories, with commits in the last 52 weeksA2A: a2a-java 479, a2a-python 428, a2a-js 352, a2a-go 252, a2a-rs 248, a2a-dotnet 235, a2a-samples 49, a2a-inspector 17MCP: rust-sdk 479, python-sdk 474, typescript-sdk 468, csharp-sdk 456, go-sdk 366, java-sdk 202x402: a2a-x402 18, wg-identity 13UCP: samples 146, js-sdk 63, conformance 63, python-sdk 57, ucp-schema 55MPP: mpp-specs 99L402: lightning-agent-tools 45, L402 12ANS: ans-registry 30PAP: personal-agent-protocol 162, poppyseed 9, pi-poppy 5x401: x401-node 33, x401-ruby n/aKYAPay: kyapay_a2a 49cheqd: sdk 66, did-provider-cheqd 56CountingDefault branch only. Forks, other branches and private repositories are not counted. \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/data.json b/docs/research/tools/capability-map/traction/data.json index a371639..361763d 100644 --- a/docs/research/tools/capability-map/traction/data.json +++ b/docs/research/tools/capability-map/traction/data.json @@ -6083,6 +6083,527 @@ 1791676800, 0 ] + ], + "KYAPay": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 1 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 2 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 3 + ], + [ + 1777766400, + 5 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ] + }, + "others": { + "A2A": [ + { + "repo": "a2aproject/a2a-python", + "stars": 2203, + "pushed": "2026-10-16", + "commits52w": 428, + "archived": false + }, + { + "repo": "a2aproject/a2a-js", + "stars": 643, + "pushed": "2026-10-15", + "commits52w": 352, + "archived": false + }, + { + "repo": "a2aproject/a2a-java", + "stars": 505, + "pushed": "2026-10-15", + "commits52w": 479, + "archived": false + }, + { + "repo": "a2aproject/a2a-go", + "stars": 487, + "pushed": "2026-10-15", + "commits52w": 252, + "archived": false + }, + { + "repo": "a2aproject/a2a-dotnet", + "stars": 267, + "pushed": "2026-10-15", + "commits52w": 235, + "archived": false + }, + { + "repo": "a2aproject/a2a-rs", + "stars": 94, + "pushed": "2026-10-16", + "commits52w": 248, + "archived": false + }, + { + "repo": "a2aproject/a2a-samples", + "stars": 1799, + "pushed": "2026-09-30", + "commits52w": 49, + "archived": false + }, + { + "repo": "a2aproject/a2a-inspector", + "stars": 501, + "pushed": "2026-10-01", + "commits52w": 17, + "archived": false + } + ], + "MCP": [ + { + "repo": "modelcontextprotocol/typescript-sdk", + "stars": 13590, + "pushed": "2026-10-14", + "commits52w": 468, + "archived": false + }, + { + "repo": "modelcontextprotocol/python-sdk", + "stars": 24593, + "pushed": "2026-10-13", + "commits52w": 474, + "archived": false + }, + { + "repo": "modelcontextprotocol/java-sdk", + "stars": 3739, + "pushed": "2026-10-15", + "commits52w": 202, + "archived": false + }, + { + "repo": "modelcontextprotocol/go-sdk", + "stars": 5231, + "pushed": "2026-10-16", + "commits52w": 366, + "archived": false + }, + { + "repo": "modelcontextprotocol/csharp-sdk", + "stars": 4587, + "pushed": "2026-10-15", + "commits52w": 456, + "archived": false + }, + { + "repo": "modelcontextprotocol/rust-sdk", + "stars": 4018, + "pushed": "2026-10-15", + "commits52w": 479, + "archived": false + } + ], + "x402": [ + { + "repo": "google-agentic-commerce/a2a-x402", + "stars": 564, + "pushed": "2026-08-04", + "commits52w": 18, + "archived": false + }, + { + "repo": "x402-foundation/wg-identity", + "stars": 4, + "pushed": "2026-08-17", + "commits52w": 13, + "archived": false + } + ], + "UCP": [ + { + "repo": "Universal-Commerce-Protocol/python-sdk", + "stars": 89, + "pushed": "2026-10-15", + "commits52w": 57, + "archived": false + }, + { + "repo": "Universal-Commerce-Protocol/js-sdk", + "stars": 48, + "pushed": "2026-10-15", + "commits52w": 63, + "archived": false + }, + { + "repo": "Universal-Commerce-Protocol/samples", + "stars": 240, + "pushed": "2026-10-16", + "commits52w": 146, + "archived": false + }, + { + "repo": "Universal-Commerce-Protocol/conformance", + "stars": 29, + "pushed": "2026-09-07", + "commits52w": 63, + "archived": false + }, + { + "repo": "Universal-Commerce-Protocol/ucp-schema", + "stars": 11, + "pushed": "2026-10-16", + "commits52w": 55, + "archived": false + } + ], + "MPP": [ + { + "repo": "tempoxyz/mpp-specs", + "stars": 95, + "pushed": "2026-10-15", + "commits52w": 99, + "archived": false + } + ], + "L402": [ + { + "repo": "lightninglabs/L402", + "stars": 91, + "pushed": "2026-06-09", + "commits52w": 12, + "archived": false + }, + { + "repo": "lightninglabs/lightning-agent-tools", + "stars": 60, + "pushed": "2026-05-29", + "commits52w": 45, + "archived": false + } + ], + "ANS": [ + { + "repo": "agentnameservice/ans-registry", + "stars": 33, + "pushed": "2026-10-15", + "commits52w": 30, + "archived": false + } + ], + "PAP": [ + { + "repo": "datalayer/personal-agent-protocol", + "stars": 3, + "pushed": "2026-10-14", + "commits52w": 162, + "archived": false + }, + { + "repo": "richardanaya/pi-poppy", + "stars": 1, + "pushed": "2026-10-10", + "commits52w": 5, + "archived": false + }, + { + "repo": "akshay5995/poppyseed", + "stars": 0, + "pushed": "2026-10-15", + "commits52w": 9, + "archived": false + } + ], + "x401": [ + { + "repo": "proof/x401-node", + "stars": 3, + "pushed": "2026-10-14", + "commits52w": 33, + "archived": false + }, + { + "repo": "proof/x401-ruby", + "stars": 0, + "pushed": "2026-10-05", + "commits52w": null, + "archived": false + } + ], + "KYAPay": [ + { + "repo": "skyfire-xyz/kyapay_a2a", + "stars": 3, + "pushed": "2026-10-06", + "commits52w": 49, + "archived": false + } + ], + "cheqd": [ + { + "repo": "cheqd/sdk", + "stars": 8, + "pushed": "2026-06-17", + "commits52w": 66, + "archived": false + }, + { + "repo": "cheqd/did-provider-cheqd", + "stars": 8, + "pushed": "2026-03-23", + "commits52w": 56, + "archived": false + } ] - } + }, + "other_packages": [ + { + "protocol": "MCP", + "package": "mcp", + "registry": "PyPI", + "monthly": 235193557 + }, + { + "protocol": "A2A", + "package": "a2a-sdk", + "registry": "PyPI", + "monthly": 11359775 + }, + { + "protocol": "x402", + "package": "@x402/core", + "registry": "npm", + "monthly": 1507084 + }, + { + "protocol": "x402", + "package": "@x402/fetch", + "registry": "npm", + "monthly": 552054 + }, + { + "protocol": "x402", + "package": "x402", + "registry": "PyPI", + "monthly": 204765 + }, + { + "protocol": "UCP", + "package": "ucp-sdk", + "registry": "PyPI", + "monthly": 8621 + }, + { + "protocol": "KYA-OS", + "package": "@kya-os/mcp-i", + "registry": "npm", + "monthly": 16007 + }, + { + "protocol": "cheqd", + "package": "@cheqd/sdk", + "registry": "npm", + "monthly": 3440 + }, + { + "protocol": "cheqd", + "package": "@cheqd/did-provider-cheqd", + "registry": "npm", + "monthly": 864 + } + ] } \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/fetch.py b/docs/research/tools/capability-map/traction/fetch.py index 994cf2f..273e5fe 100644 --- a/docs/research/tools/capability-map/traction/fetch.py +++ b/docs/research/tools/capability-map/traction/fetch.py @@ -19,6 +19,29 @@ 'cheqd': '@cheqd/sdk'} +# Other repositories and packages for each protocol. They are not charted as series, but each chart lists them +# under "Not covered by this chart" so the single repository or package plotted is not mistaken for the whole ecosystem. +OTHERS = { + 'A2A': ['a2aproject/a2a-python', 'a2aproject/a2a-js', 'a2aproject/a2a-java', 'a2aproject/a2a-go', 'a2aproject/a2a-dotnet', + 'a2aproject/a2a-rs', 'a2aproject/a2a-samples', 'a2aproject/a2a-inspector'], + 'MCP': ['modelcontextprotocol/typescript-sdk', 'modelcontextprotocol/python-sdk', 'modelcontextprotocol/java-sdk', + 'modelcontextprotocol/go-sdk', 'modelcontextprotocol/csharp-sdk', 'modelcontextprotocol/rust-sdk'], + 'x402': ['google-agentic-commerce/a2a-x402', 'x402-foundation/wg-identity'], + 'UCP': ['Universal-Commerce-Protocol/python-sdk', 'Universal-Commerce-Protocol/js-sdk', 'Universal-Commerce-Protocol/samples', + 'Universal-Commerce-Protocol/conformance', 'Universal-Commerce-Protocol/ucp-schema'], + 'MPP': ['tempoxyz/mpp-specs'], + 'L402': ['lightninglabs/L402', 'lightninglabs/lightning-agent-tools'], + 'ANS': ['agentnameservice/ans-registry'], + 'PAP': ['datalayer/personal-agent-protocol', 'richardanaya/pi-poppy', 'akshay5995/poppyseed'], + 'x401': ['proof/x401-node', 'proof/x401-ruby'], + 'KYAPay': ['skyfire-xyz/kyapay_a2a'], + 'cheqd': ['cheqd/sdk', 'cheqd/did-provider-cheqd'], +} +OTHER_PACKAGES = [('MCP', 'mcp', 'PyPI'), ('A2A', 'a2a-sdk', 'PyPI'), ('x402', '@x402/core', 'npm'), ('x402', '@x402/fetch', 'npm'), + ('x402', 'x402', 'PyPI'), ('UCP', 'ucp-sdk', 'PyPI'), ('KYA-OS', '@kya-os/mcp-i', 'npm'), + ('cheqd', '@cheqd/sdk', 'npm'), ('cheqd', '@cheqd/did-provider-cheqd', 'npm')] + + def gh(path): r = subprocess.run(['gh', 'api', path], capture_output=True, text=True) return json.loads(r.stdout) if r.returncode == 0 and r.stdout.strip() else None @@ -45,6 +68,40 @@ def commits(): return out +def others(): + out = {} + for proto, repos in OTHERS.items(): + for r in repos: + j = gh(f'repos/{r}') + if not j or 'stargazers_count' not in j: + continue + c = None + for _ in range(6): + d = gh(f'repos/{r}/stats/commit_activity') + if isinstance(d, list) and d: + c = sum(w['total'] for w in d) + break + time.sleep(3) + out.setdefault(proto, []).append(dict(repo=r, stars=j['stargazers_count'], pushed=j['pushed_at'][:10], + commits52w=c, archived=j['archived'])) + return out + + +def other_packages(): + out = [] + for proto, name, registry in OTHER_PACKAGES: + try: + if registry == 'npm': + u = 'https://api.npmjs.org/downloads/point/last-month/' + name.replace('/', '%2F') + n = json.load(urllib.request.urlopen(u, timeout=30))['downloads'] + else: + n = json.load(urllib.request.urlopen(f'https://pypistats.org/api/packages/{name}/recent', timeout=30))['data']['last_month'] + except Exception: + continue + out.append(dict(protocol=proto, package=name, registry=registry, monthly=n)) + return out + + def npm(): end = dt.date.today() - dt.timedelta(days=1) start = end - dt.timedelta(days=540) @@ -62,5 +119,6 @@ def npm(): if __name__ == '__main__': - data = dict(collected=dt.date.today().isoformat(), repos=repos(), npm=npm(), commits=commits()) + data = dict(collected=dt.date.today().isoformat(), repos=repos(), npm=npm(), commits=commits(), + others=others(), other_packages=other_packages()) json.dump(data, open(sys.argv[1] if len(sys.argv) > 1 else 'data.json', 'w'), indent=1) diff --git a/docs/research/tools/capability-map/traction/github-stars.svg b/docs/research/tools/capability-map/traction/github-stars.svg index ad902c4..512a2f2 100644 --- a/docs/research/tools/capability-map/traction/github-stars.svg +++ b/docs/research/tools/capability-map/traction/github-stars.svg @@ -1,4 +1,4 @@ -GitHub stars on each protocol main repositoryDot plot on a log scale. A2A 26,176; MCP 9,458; x402 6,723; UCP 3,429; AP2 3,230; ACP 1,574; L402 271; TAP 213; MPP 186; Web Bot Auth 170; ANS 43; x401 42; KYA-OS 31; PAP 20; KYAPay 13; cheqd 12GitHub stars on each protocol's main repositoryLog scale, 16 Oct 2026. Stars measure attention, not use. Star history over time was not available from the GitHub API here.Commits in the last 13 weeksNo commits in the last 13 weeks101001K10K100KA2AA2A (a2aproject/A2A): 26,176 stars, 2,675 forks, created 2025-03-25, last push 2026-10-1626,176 · created Mar 2025MCPMCP (modelcontextprotocol/modelcontextprotocol): 9,458 stars, 1,870 forks, created 2024-09-24, last push 2026-10-159,458 · created Sep 2024x402x402 (x402-foundation/x402): 6,723 stars, 2,192 forks, created 2025-02-21, last push 2026-10-156,723 · created Feb 2025UCPUCP (Universal-Commerce-Protocol/ucp): 3,429 stars, 479 forks, created 2025-12-31, last push 2026-10-163,429 · created Dec 2025AP2AP2 (google-agentic-commerce/AP2): 3,230 stars, 512 forks, created 2025-05-30, last push 2026-06-173,230 · created May 2025ACPACP (agentic-commerce-protocol/agentic-commerce-protocol): 1,574 stars, 255 forks, created 2025-09-29, last push 2026-07-181,574 · created Sep 2025L402*L402 (lightninglabs/aperture): 271 stars, 82 forks, created 2019-01-30, last push 2026-10-15271 · created Jan 2019TAPTAP (visa/trusted-agent-protocol): 213 stars, 45 forks, created 2025-10-10, last push 2025-10-28213 · created Oct 2025MPP*MPP (wevm/mppx): 186 stars, 71 forks, created 2026-01-21, last push 2026-10-16186 · created Jan 2026Web Bot Auth*Web Bot Auth (cloudflare/web-bot-auth): 170 stars, 43 forks, created 2025-04-14, last push 2026-10-12170 · created Apr 2025ANS*ANS (agentnameservice/ans): 43 stars, 6 forks, created 2026-05-06, last push 2026-10-1543 · created May 2026x401x401 (proof/x401): 42 stars, 5 forks, created 2026-05-07, last push 2026-10-0342 · created May 2026KYA-OSKYA-OS (decentralized-identity/kya-os-mcp): 31 stars, 13 forks, created 2026-03-10, last push 2026-10-1431 · created Mar 2026PAPPAP (personal-agent-protocol/personal-agent-protocol): 20 stars, 1 forks, created 2026-10-14, last push 2026-10-1520 · created Oct 2026KYAPayKYAPay (skyfire-xyz/kyapay): 13 stars, 0 forks, created 2025-06-25, last push 2026-09-1113 · created Jun 2025cheqd*cheqd (cheqd/did-resolver): 12 stars, 7 forks, created 2022-03-25, last push 2026-09-0312 · created Mar 2022Baselayer KYANo data: closed commercial product, no public repository* Charted repository is an SDK or implementation, not the specification: MPP: wevm/mppx, the TypeScript SDK. The specification repository, tempoxyz/mpp-specs, is not charted. L402: lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted. ANS: agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository. Web Bot Auth: cloudflare/web-bot-auth, Cloudflare's implementation. The IETF draft is not charted. cheqd: cheqd/did-resolver, one cheqd repository. The cheqd network and other repositories are not charted.Not covered by this chartProtocols with no dataBaselayer KYA: closed commercial product, no public repository.Other repositories, with starsOne repository is charted per protocol. The MCP Python and TypeScript SDKs hold more stars than the specification repository charted.A2A: a2a-python 2,203, a2a-samples 1,799, a2a-js 643, a2a-java 505, a2a-inspector 501, a2a-go 487, a2a-dotnet 267, a2a-rs 94MCP: python-sdk 24,593, typescript-sdk 13,590, go-sdk 5,231, csharp-sdk 4,587, rust-sdk 4,018, java-sdk 3,739x402: a2a-x402 564, wg-identity 4UCP: samples 240, python-sdk 89, js-sdk 48, conformance 29, ucp-schema 11MPP: mpp-specs 95L402: L402 91, lightning-agent-tools 60ANS: ans-registry 33PAP: personal-agent-protocol 3, pi-poppy 1, poppyseed 0x401: x401-node 3, x401-ruby 0KYAPay: kyapay_a2a 3cheqd: sdk 8, did-provider-cheqd 8 \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/npm-downloads.svg b/docs/research/tools/capability-map/traction/npm-downloads.svg index 9930e4d..5515caf 100644 --- a/docs/research/tools/capability-map/traction/npm-downloads.svg +++ b/docs/research/tools/capability-map/traction/npm-downloads.svg @@ -1,4 +1,4 @@ -Weekly npm downloads of each protocol main SDKLine chart on a log scale. MCP 65.4M a week; A2A 4.1M a week; x402 467K a week; MPP 336K a week; Web Bot Auth 162K a week; UCP 13K a week; KYA-OS 11K a week; x401 269 a weekWeekly npm downloads of each protocol's main SDKLog scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.MCPA2Ax402MPPWeb Bot AuthUCPKYA-OSx401101001K10K100K1M10M100MJul 2025Oct 2025Jan 2026Apr 2026Jul 2026Oct 2026MCP: 817,030 downloads, week of 2025-04-21MCP: 1,704,250 downloads, week of 2025-04-28MCP: 5,882,627 downloads, week of 2025-05-05MCP: 6,771,246 downloads, week of 2025-05-12MCP: 3,970,444 downloads, week of 2025-05-19MCP: 3,427,259 downloads, week of 2025-05-26MCP: 3,693,137 downloads, week of 2025-06-02MCP: 3,739,115 downloads, week of 2025-06-09MCP: 3,786,513 downloads, week of 2025-06-16MCP: 4,572,284 downloads, week of 2025-06-23MCP: 4,302,895 downloads, week of 2025-06-30MCP: 4,688,219 downloads, week of 2025-07-07MCP: 4,869,306 downloads, week of 2025-07-14MCP: 4,972,294 downloads, week of 2025-07-21MCP: 5,166,233 downloads, week of 2025-07-28MCP: 5,334,719 downloads, week of 2025-08-04MCP: 5,477,491 downloads, week of 2025-08-11MCP: 5,967,446 downloads, week of 2025-08-18MCP: 6,258,674 downloads, week of 2025-08-25MCP: 6,148,731 downloads, week of 2025-09-01MCP: 7,070,825 downloads, week of 2025-09-08MCP: 7,577,753 downloads, week of 2025-09-15MCP: 7,912,134 downloads, week of 2025-09-22MCP: 7,103,166 downloads, week of 2025-09-29MCP: 7,577,764 downloads, week of 2025-10-06MCP: 7,785,299 downloads, week of 2025-10-13MCP: 7,432,517 downloads, week of 2025-10-20MCP: 7,492,803 downloads, week of 2025-10-27MCP: 8,268,710 downloads, week of 2025-11-03MCP: 8,366,207 downloads, week of 2025-11-10MCP: 8,862,994 downloads, week of 2025-11-17MCP: 8,455,287 downloads, week of 2025-11-24MCP: 10,097,151 downloads, week of 2025-12-01MCP: 9,610,527 downloads, week of 2025-12-08MCP: 9,572,497 downloads, week of 2025-12-15MCP: 6,249,212 downloads, week of 2025-12-22MCP: 5,908,452 downloads, week of 2025-12-29MCP: 10,568,289 downloads, week of 2026-01-05MCP: 11,741,892 downloads, week of 2026-01-12MCP: 12,547,111 downloads, week of 2026-01-19MCP: 13,512,432 downloads, week of 2026-01-26MCP: 15,155,352 downloads, week of 2026-02-02MCP: 17,140,844 downloads, week of 2026-02-09MCP: 16,466,834 downloads, week of 2026-02-16MCP: 23,439,991 downloads, week of 2026-02-23MCP: 23,554,430 downloads, week of 2026-03-02MCP: 23,414,101 downloads, week of 2026-03-09MCP: 35,212,352 downloads, week of 2026-03-16MCP: 47,897,910 downloads, week of 2026-03-23MCP: 29,494,024 downloads, week of 2026-03-30MCP: 31,229,653 downloads, week of 2026-04-06MCP: 32,657,595 downloads, week of 2026-04-13MCP: 33,448,235 downloads, week of 2026-04-20MCP: 33,981,895 downloads, week of 2026-04-27MCP: 35,180,418 downloads, week of 2026-05-04MCP: 35,990,764 downloads, week of 2026-05-11MCP: 36,986,756 downloads, week of 2026-05-18MCP: 34,533,515 downloads, week of 2026-05-25MCP: 30,321,409 downloads, week of 2026-06-01MCP: 39,200,500 downloads, week of 2026-06-08MCP: 39,623,830 downloads, week of 2026-06-15MCP: 40,893,994 downloads, week of 2026-06-22MCP: 42,848,083 downloads, week of 2026-06-29MCP: 39,011,117 downloads, week of 2026-07-06MCP: 43,340,138 downloads, week of 2026-07-13MCP: 45,858,002 downloads, week of 2026-07-20MCP: 53,304,972 downloads, week of 2026-07-27MCP: 51,726,406 downloads, week of 2026-08-03MCP: 43,762,222 downloads, week of 2026-08-10MCP: 50,577,978 downloads, week of 2026-08-17MCP: 52,304,301 downloads, week of 2026-08-24MCP: 47,896,904 downloads, week of 2026-08-31MCP: 40,994,402 downloads, week of 2026-09-07MCP: 49,993,981 downloads, week of 2026-09-14MCP: 64,725,178 downloads, week of 2026-09-21MCP: 76,226,448 downloads, week of 2026-09-28MCP: 65,446,130 downloads, week of 2026-10-05A2A: 92 downloads, week of 2025-06-09A2A: 375 downloads, week of 2025-06-16A2A: 725 downloads, week of 2025-06-23A2A: 9,867 downloads, week of 2025-06-30A2A: 2,156 downloads, week of 2025-07-07A2A: 1,803 downloads, week of 2025-07-14A2A: 1,786 downloads, week of 2025-07-21A2A: 3,118 downloads, week of 2025-07-28A2A: 48,648 downloads, week of 2025-08-04A2A: 25,879 downloads, week of 2025-08-11A2A: 42,234 downloads, week of 2025-08-18A2A: 71,080 downloads, week of 2025-08-25A2A: 86,254 downloads, week of 2025-09-01A2A: 121,234 downloads, week of 2025-09-08A2A: 157,299 downloads, week of 2025-09-15A2A: 132,974 downloads, week of 2025-09-22A2A: 147,770 downloads, week of 2025-09-29A2A: 177,413 downloads, week of 2025-10-06A2A: 193,871 downloads, week of 2025-10-13A2A: 203,870 downloads, week of 2025-10-20A2A: 271,913 downloads, week of 2025-10-27A2A: 265,941 downloads, week of 2025-11-03A2A: 246,951 downloads, week of 2025-11-10A2A: 279,526 downloads, week of 2025-11-17A2A: 270,724 downloads, week of 2025-11-24A2A: 318,828 downloads, week of 2025-12-01A2A: 317,400 downloads, week of 2025-12-08A2A: 311,925 downloads, week of 2025-12-15A2A: 169,135 downloads, week of 2025-12-22A2A: 148,073 downloads, week of 2025-12-29A2A: 290,241 downloads, week of 2026-01-05A2A: 574,238 downloads, week of 2026-01-12A2A: 771,006 downloads, week of 2026-01-19A2A: 775,752 downloads, week of 2026-01-26A2A: 956,901 downloads, week of 2026-02-02A2A: 899,354 downloads, week of 2026-02-09A2A: 849,941 downloads, week of 2026-02-16A2A: 950,128 downloads, week of 2026-02-23A2A: 985,967 downloads, week of 2026-03-02A2A: 1,205,070 downloads, week of 2026-03-09A2A: 1,314,597 downloads, week of 2026-03-16A2A: 1,157,510 downloads, week of 2026-03-23A2A: 969,546 downloads, week of 2026-03-30A2A: 843,515 downloads, week of 2026-04-06A2A: 1,044,101 downloads, week of 2026-04-13A2A: 1,043,058 downloads, week of 2026-04-20A2A: 980,667 downloads, week of 2026-04-27A2A: 1,075,008 downloads, week of 2026-05-04A2A: 1,140,552 downloads, week of 2026-05-11A2A: 1,200,623 downloads, week of 2026-05-18A2A: 1,152,294 downloads, week of 2026-05-25A2A: 797,447 downloads, week of 2026-06-01A2A: 1,131,057 downloads, week of 2026-06-08A2A: 1,414,086 downloads, week of 2026-06-15A2A: 1,160,828 downloads, week of 2026-06-22A2A: 1,351,640 downloads, week of 2026-06-29A2A: 1,393,475 downloads, week of 2026-07-06A2A: 1,648,949 downloads, week of 2026-07-13A2A: 1,677,660 downloads, week of 2026-07-20A2A: 1,745,409 downloads, week of 2026-07-27A2A: 1,780,854 downloads, week of 2026-08-03A2A: 1,639,387 downloads, week of 2026-08-10A2A: 2,063,326 downloads, week of 2026-08-17A2A: 2,344,232 downloads, week of 2026-08-24A2A: 2,248,896 downloads, week of 2026-08-31A2A: 2,002,171 downloads, week of 2026-09-07A2A: 2,608,743 downloads, week of 2026-09-14A2A: 3,567,655 downloads, week of 2026-09-21A2A: 4,100,684 downloads, week of 2026-09-28A2A: 4,114,624 downloads, week of 2026-10-05x402: 429 downloads, week of 2025-04-21x402: 528 downloads, week of 2025-04-28x402: 1,461 downloads, week of 2025-05-05x402: 1,413 downloads, week of 2025-05-12x402: 741 downloads, week of 2025-05-19x402: 1,014 downloads, week of 2025-05-26x402: 1,378 downloads, week of 2025-06-02x402: 1,914 downloads, week of 2025-06-09x402: 3,298 downloads, week of 2025-06-16x402: 2,830 downloads, week of 2025-06-23x402: 2,527 downloads, week of 2025-06-30x402: 3,302 downloads, week of 2025-07-07x402: 3,578 downloads, week of 2025-07-14x402: 3,945 downloads, week of 2025-07-21x402: 3,549 downloads, week of 2025-07-28x402: 4,795 downloads, week of 2025-08-04x402: 7,142 downloads, week of 2025-08-11x402: 8,509 downloads, week of 2025-08-18x402: 8,438 downloads, week of 2025-08-25x402: 8,587 downloads, week of 2025-09-01x402: 7,144 downloads, week of 2025-09-08x402: 9,024 downloads, week of 2025-09-15x402: 14,468 downloads, week of 2025-09-22x402: 21,678 downloads, week of 2025-09-29x402: 27,614 downloads, week of 2025-10-06x402: 32,077 downloads, week of 2025-10-13x402: 32,252 downloads, week of 2025-10-20x402: 39,608 downloads, week of 2025-10-27x402: 35,436 downloads, week of 2025-11-03x402: 37,284 downloads, week of 2025-11-10x402: 44,081 downloads, week of 2025-11-17x402: 42,228 downloads, week of 2025-11-24x402: 57,078 downloads, week of 2025-12-01x402: 59,438 downloads, week of 2025-12-08x402: 62,949 downloads, week of 2025-12-15x402: 40,497 downloads, week of 2025-12-22x402: 38,902 downloads, week of 2025-12-29x402: 63,385 downloads, week of 2026-01-05x402: 73,663 downloads, week of 2026-01-12x402: 81,569 downloads, week of 2026-01-19x402: 85,547 downloads, week of 2026-01-26x402: 98,306 downloads, week of 2026-02-02x402: 94,137 downloads, week of 2026-02-09x402: 94,520 downloads, week of 2026-02-16x402: 117,093 downloads, week of 2026-02-23x402: 135,114 downloads, week of 2026-03-02x402: 147,979 downloads, week of 2026-03-09x402: 145,641 downloads, week of 2026-03-16x402: 144,064 downloads, week of 2026-03-23x402: 141,233 downloads, week of 2026-03-30x402: 155,807 downloads, week of 2026-04-06x402: 174,338 downloads, week of 2026-04-13x402: 173,676 downloads, week of 2026-04-20x402: 206,670 downloads, week of 2026-04-27x402: 220,266 downloads, week of 2026-05-04x402: 264,809 downloads, week of 2026-05-11x402: 245,192 downloads, week of 2026-05-18x402: 234,145 downloads, week of 2026-05-25x402: 256,725 downloads, week of 2026-06-01x402: 222,036 downloads, week of 2026-06-08x402: 284,656 downloads, week of 2026-06-15x402: 266,883 downloads, week of 2026-06-22x402: 245,941 downloads, week of 2026-06-29x402: 278,232 downloads, week of 2026-07-06x402: 333,198 downloads, week of 2026-07-13x402: 340,362 downloads, week of 2026-07-20x402: 355,774 downloads, week of 2026-07-27x402: 349,047 downloads, week of 2026-08-03x402: 303,022 downloads, week of 2026-08-10x402: 373,982 downloads, week of 2026-08-17x402: 390,116 downloads, week of 2026-08-24x402: 353,112 downloads, week of 2026-08-31x402: 313,028 downloads, week of 2026-09-07x402: 396,646 downloads, week of 2026-09-14x402: 466,468 downloads, week of 2026-09-21x402: 541,785 downloads, week of 2026-09-28x402: 467,272 downloads, week of 2026-10-05MPP: 317 downloads, week of 2026-02-09MPP: 2,651 downloads, week of 2026-02-16MPP: 1,382 downloads, week of 2026-02-23MPP: 4,633 downloads, week of 2026-03-02MPP: 18,511 downloads, week of 2026-03-09MPP: 12,539 downloads, week of 2026-03-16MPP: 14,154 downloads, week of 2026-03-23MPP: 17,929 downloads, week of 2026-03-30MPP: 24,647 downloads, week of 2026-04-06MPP: 29,753 downloads, week of 2026-04-13MPP: 37,763 downloads, week of 2026-04-20MPP: 42,758 downloads, week of 2026-04-27MPP: 51,165 downloads, week of 2026-05-04MPP: 54,174 downloads, week of 2026-05-11MPP: 45,435 downloads, week of 2026-05-18MPP: 55,118 downloads, week of 2026-05-25MPP: 37,414 downloads, week of 2026-06-01MPP: 42,305 downloads, week of 2026-06-08MPP: 53,373 downloads, week of 2026-06-15MPP: 44,250 downloads, week of 2026-06-22MPP: 44,787 downloads, week of 2026-06-29MPP: 47,164 downloads, week of 2026-07-06MPP: 54,938 downloads, week of 2026-07-13MPP: 54,765 downloads, week of 2026-07-20MPP: 63,887 downloads, week of 2026-07-27MPP: 77,953 downloads, week of 2026-08-03MPP: 76,790 downloads, week of 2026-08-10MPP: 122,679 downloads, week of 2026-08-17MPP: 123,889 downloads, week of 2026-08-24MPP: 110,295 downloads, week of 2026-08-31MPP: 92,947 downloads, week of 2026-09-07MPP: 117,884 downloads, week of 2026-09-14MPP: 198,055 downloads, week of 2026-09-21MPP: 324,793 downloads, week of 2026-09-28MPP: 336,249 downloads, week of 2026-10-05Web Bot Auth: 21 downloads, week of 2025-04-21Web Bot Auth: 14 downloads, week of 2025-04-28Web Bot Auth: 50 downloads, week of 2025-05-05Web Bot Auth: 71 downloads, week of 2025-05-12Web Bot Auth: 17 downloads, week of 2025-05-19Web Bot Auth: 147 downloads, week of 2025-05-26Web Bot Auth: 36 downloads, week of 2025-06-02Web Bot Auth: 15 downloads, week of 2025-06-09Web Bot Auth: 105 downloads, week of 2025-06-16Web Bot Auth: 31 downloads, week of 2025-06-23Web Bot Auth: 91 downloads, week of 2025-06-30Web Bot Auth: 46 downloads, week of 2025-07-07Web Bot Auth: 46 downloads, week of 2025-07-14Web Bot Auth: 36 downloads, week of 2025-07-21Web Bot Auth: 68 downloads, week of 2025-07-28Web Bot Auth: 72 downloads, week of 2025-08-04Web Bot Auth: 88 downloads, week of 2025-08-11Web Bot Auth: 67 downloads, week of 2025-08-18Web Bot Auth: 68 downloads, week of 2025-08-25Web Bot Auth: 81 downloads, week of 2025-09-01Web Bot Auth: 112 downloads, week of 2025-09-08Web Bot Auth: 129 downloads, week of 2025-09-15Web Bot Auth: 128 downloads, week of 2025-09-22Web Bot Auth: 196 downloads, week of 2025-09-29Web Bot Auth: 183 downloads, week of 2025-10-06Web Bot Auth: 278 downloads, week of 2025-10-13Web Bot Auth: 245 downloads, week of 2025-10-20Web Bot Auth: 265 downloads, week of 2025-10-27Web Bot Auth: 737 downloads, week of 2025-11-03Web Bot Auth: 3,559 downloads, week of 2025-11-10Web Bot Auth: 459 downloads, week of 2025-11-17Web Bot Auth: 2,548 downloads, week of 2025-11-24Web Bot Auth: 2,407 downloads, week of 2025-12-01Web Bot Auth: 1,305 downloads, week of 2025-12-08Web Bot Auth: 1,067 downloads, week of 2025-12-15Web Bot Auth: 272 downloads, week of 2025-12-22Web Bot Auth: 559 downloads, week of 2025-12-29Web Bot Auth: 814 downloads, week of 2026-01-05Web Bot Auth: 1,131 downloads, week of 2026-01-12Web Bot Auth: 1,687 downloads, week of 2026-01-19Web Bot Auth: 1,507 downloads, week of 2026-01-26Web Bot Auth: 2,787 downloads, week of 2026-02-02Web Bot Auth: 3,792 downloads, week of 2026-02-09Web Bot Auth: 4,598 downloads, week of 2026-02-16Web Bot Auth: 3,848 downloads, week of 2026-02-23Web Bot Auth: 3,901 downloads, week of 2026-03-02Web Bot Auth: 4,238 downloads, week of 2026-03-09Web Bot Auth: 3,746 downloads, week of 2026-03-16Web Bot Auth: 4,620 downloads, week of 2026-03-23Web Bot Auth: 5,566 downloads, week of 2026-03-30Web Bot Auth: 5,610 downloads, week of 2026-04-06Web Bot Auth: 8,128 downloads, week of 2026-04-13Web Bot Auth: 9,072 downloads, week of 2026-04-20Web Bot Auth: 14,754 downloads, week of 2026-04-27Web Bot Auth: 17,336 downloads, week of 2026-05-04Web Bot Auth: 12,907 downloads, week of 2026-05-11Web Bot Auth: 14,295 downloads, week of 2026-05-18Web Bot Auth: 13,487 downloads, week of 2026-05-25Web Bot Auth: 6,161 downloads, week of 2026-06-01Web Bot Auth: 10,349 downloads, week of 2026-06-08Web Bot Auth: 12,350 downloads, week of 2026-06-15Web Bot Auth: 13,458 downloads, week of 2026-06-22Web Bot Auth: 14,477 downloads, week of 2026-06-29Web Bot Auth: 22,537 downloads, week of 2026-07-06Web Bot Auth: 14,905 downloads, week of 2026-07-13Web Bot Auth: 24,763 downloads, week of 2026-07-20Web Bot Auth: 21,941 downloads, week of 2026-07-27Web Bot Auth: 26,368 downloads, week of 2026-08-03Web Bot Auth: 24,165 downloads, week of 2026-08-10Web Bot Auth: 90,789 downloads, week of 2026-08-17Web Bot Auth: 106,258 downloads, week of 2026-08-24Web Bot Auth: 105,086 downloads, week of 2026-08-31Web Bot Auth: 71,501 downloads, week of 2026-09-07Web Bot Auth: 165,051 downloads, week of 2026-09-14Web Bot Auth: 182,304 downloads, week of 2026-09-21Web Bot Auth: 179,645 downloads, week of 2026-09-28Web Bot Auth: 162,458 downloads, week of 2026-10-05UCP: 207 downloads, week of 2026-01-12UCP: 820 downloads, week of 2026-01-19UCP: 843 downloads, week of 2026-01-26UCP: 766 downloads, week of 2026-02-02UCP: 888 downloads, week of 2026-02-09UCP: 1,184 downloads, week of 2026-02-16UCP: 382 downloads, week of 2026-02-23UCP: 222 downloads, week of 2026-03-02UCP: 374 downloads, week of 2026-03-09UCP: 372 downloads, week of 2026-03-16UCP: 682 downloads, week of 2026-03-23UCP: 421 downloads, week of 2026-03-30UCP: 460 downloads, week of 2026-04-06UCP: 992 downloads, week of 2026-04-13UCP: 825 downloads, week of 2026-04-20UCP: 1,120 downloads, week of 2026-04-27UCP: 922 downloads, week of 2026-05-04UCP: 920 downloads, week of 2026-05-11UCP: 1,108 downloads, week of 2026-05-18UCP: 1,493 downloads, week of 2026-05-25UCP: 1,810 downloads, week of 2026-06-01UCP: 2,709 downloads, week of 2026-06-08UCP: 2,319 downloads, week of 2026-06-15UCP: 1,779 downloads, week of 2026-06-22UCP: 3,182 downloads, week of 2026-06-29UCP: 1,810 downloads, week of 2026-07-06UCP: 1,887 downloads, week of 2026-07-13UCP: 2,347 downloads, week of 2026-07-20UCP: 5,873 downloads, week of 2026-07-27UCP: 6,433 downloads, week of 2026-08-03UCP: 5,053 downloads, week of 2026-08-10UCP: 5,189 downloads, week of 2026-08-17UCP: 7,945 downloads, week of 2026-08-24UCP: 7,458 downloads, week of 2026-08-31UCP: 6,169 downloads, week of 2026-09-07UCP: 7,341 downloads, week of 2026-09-14UCP: 11,462 downloads, week of 2026-09-21UCP: 18,459 downloads, week of 2026-09-28UCP: 12,820 downloads, week of 2026-10-05KYA-OS: 88 downloads, week of 2026-05-11KYA-OS: 177 downloads, week of 2026-05-18KYA-OS: 493 downloads, week of 2026-05-25KYA-OS: 1,007 downloads, week of 2026-06-01KYA-OS: 1,894 downloads, week of 2026-06-08KYA-OS: 1,273 downloads, week of 2026-06-15KYA-OS: 492 downloads, week of 2026-06-22KYA-OS: 1,673 downloads, week of 2026-06-29KYA-OS: 1,809 downloads, week of 2026-07-06KYA-OS: 1,010 downloads, week of 2026-07-13KYA-OS: 2,221 downloads, week of 2026-07-20KYA-OS: 1,073 downloads, week of 2026-07-27KYA-OS: 1,024 downloads, week of 2026-08-03KYA-OS: 1,997 downloads, week of 2026-08-10KYA-OS: 1,947 downloads, week of 2026-08-17KYA-OS: 2,770 downloads, week of 2026-08-24KYA-OS: 2,081 downloads, week of 2026-08-31KYA-OS: 1,379 downloads, week of 2026-09-07KYA-OS: 4,004 downloads, week of 2026-09-14KYA-OS: 18,152 downloads, week of 2026-09-21KYA-OS: 20,250 downloads, week of 2026-09-28KYA-OS: 11,326 downloads, week of 2026-10-05x401: 90 downloads, week of 2026-06-08x401: 11 downloads, week of 2026-06-15x401: 214 downloads, week of 2026-06-22x401: 205 downloads, week of 2026-06-29x401: 286 downloads, week of 2026-07-06x401: 287 downloads, week of 2026-07-13x401: 155 downloads, week of 2026-07-20x401: 319 downloads, week of 2026-07-27x401: 98 downloads, week of 2026-08-03x401: 63 downloads, week of 2026-08-10x401: 70 downloads, week of 2026-08-17x401: 96 downloads, week of 2026-08-24x401: 55 downloads, week of 2026-08-31x401: 53 downloads, week of 2026-09-07x401: 33 downloads, week of 2026-09-14x401: 128 downloads, week of 2026-09-21x401: 299 downloads, week of 2026-09-28x401: 269 downloads, week of 2026-10-05MCP 65.4MA2A 4.1Mx402 467KMPP 336KWeb Bot Auth 162KUCP 13KKYA-OS 11Kx401 269Not covered by this chartProtocols with no download seriesBaselayer KYA: Closed commercial product: no public repository or packageAP2: Not collected: no official npm package identifiedACP: Not collected: no official npm package identifiedTAP: Not collected: no official npm package identifiedL402: Not collected: no official npm package identifiedANS: Not collected: no official npm package identifiedPAP (Poppy): Not collected: no package identified (spec and site only)KYAPay: Not collected: package not identifiedcheqd: Data exists (1.2K a week) but not plotted: the palette allows eight seriesOther packages, with downloads in the last monthMCP: mcp (PyPI) 235.2MA2A: a2a-sdk (PyPI) 11.4Mx402: @x402/core (npm) 1.5M, @x402/fetch (npm) 552K, x402 (PyPI) 205KUCP: ucp-sdk (PyPI) 8.6KKYA-OS: @kya-os/mcp-i (npm) 16Kcheqd: @cheqd/sdk (npm) 3.4K, @cheqd/did-provider-cheqd (npm) 864Not measuredMaven, NuGet, Go modules, crates.io, RubyGems and any other registry, and packages whose name I could not identify.One package per protocol is plotted. The window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown.Each line starts at the first week with downloads.Packages: MCP: @modelcontextprotocol/sdk; A2A: @a2a-js/sdk; x402: x402; MPP: mppxWeb Bot Auth: web-bot-auth; UCP: @ucp-js/sdk; KYA-OS: @kya-os/mcp; x401: @proof.com/x401-node \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/render.py b/docs/research/tools/capability-map/traction/render.py index 0ce212b..0fb4c3b 100644 --- a/docs/research/tools/capability-map/traction/render.py +++ b/docs/research/tools/capability-map/traction/render.py @@ -32,11 +32,101 @@ def css(extra=''): .grid{{stroke:var(--grid);stroke-width:1}} .axis{{stroke:var(--axis);stroke-width:1}} .ln{{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}} +.nd{{fill:none;stroke:var(--axis);stroke-width:1.5;stroke-dasharray:5 4}} +.ndt{{font-size:11px;font-style:italic;fill:var(--ink3)}} .hit{{fill:transparent}} .hit:hover{{fill:var(--ink);fill-opacity:.15}} {extra}''' +# Protocols with no series in a chart, and why. Shown as dashed "no data" markers rather than silently omitted. +NOT_PUBLIC = 'Closed commercial product: no public repository or package' +NO_NPM = [ + ('Baselayer KYA', NOT_PUBLIC), + ('AP2', 'Not collected: no official npm package identified'), + ('ACP', 'Not collected: no official npm package identified'), + ('TAP', 'Not collected: no official npm package identified'), + ('L402', 'Not collected: no official npm package identified'), + ('ANS', 'Not collected: no official npm package identified'), + ('PAP (Poppy)', 'Not collected: no package identified (spec and site only)'), + ('KYAPay', 'Not collected: package not identified'), + ('cheqd', 'Data exists (1.2K a week) but not plotted: the palette allows eight series'), +] + + +# Charted repository is an SDK or implementation, not the protocol's specification repository. +PROXY = { + 'MPP': 'wevm/mppx, the TypeScript SDK. The specification repository, tempoxyz/mpp-specs, is not charted.', + 'L402': 'lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted.', + 'ANS': 'agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository.', + 'Web Bot Auth': 'cloudflare/web-bot-auth, Cloudflare\'s implementation. The IETF draft is not charted.', + 'cheqd': 'cheqd/did-resolver, one cheqd repository. The cheqd network and other repositories are not charted.', +} + + +def star(n): + return n + ('*' if n in PROXY else '') + + +def foot(x, y, lines): + return ''.join(f'{esc(t)}' for i, t in enumerate(lines)) + + +def short(repo): + return repo.split('/')[1] + + +def wrap(text, n=135, indent=' '): + cur, out = '', [] + for w in text.split(', '): + add = (', ' if cur else '') + w + if cur and len(cur) + len(add) > n: + out.append(cur + ',') + cur = indent + w + else: + cur += add + return out + [cur] + + +def others_lines(metric): + out = [] + for proto, repos in D.get('others', {}).items(): + key = (lambda r: -r['stars']) if metric == 'stars' else (lambda r: -(r['commits52w'] or 0)) + parts = [] + for r in sorted(repos, key=key): + v = r['stars'] if metric == 'stars' else r['commits52w'] + parts.append(f"{short(r['repo'])} {'n/a' if v is None else format(v, ',')}") + out += wrap(f'{proto}: ' + ', '.join(parts)) + return out + + +def package_lines(): + by = {} + for p in D.get('other_packages', []): + by.setdefault(p['protocol'], []).append(f"{p['package']} ({p['registry']}) {fmt(p['monthly'])}") + out = [] + for proto, items in by.items(): + out += wrap(f'{proto}: ' + ', '.join(items)) + return out + + +def nc_height(sections): + return 34 + sum(15 + 14 * len(lines) + 10 for _, lines in sections) + 6 + + +def nc_box(x, y, w, sections): + out = [f'', + f'Not covered by this chart'] + yy = y + 44 + for heading, lines in sections: + out.append(f'{esc(heading)}') + for i, t in enumerate(lines): + lead = len(t) - len(t.lstrip(' ')) + out.append(f'{esc(chr(160)*lead + t.lstrip(" "))}') + yy += 15 + 14 * len(lines) + 10 + return ''.join(out) + + def esc(s): return html.escape(str(s)) @@ -68,9 +158,15 @@ def nudge(ys, gap): # ---------------------------------------------------------------- chart 1: npm downloads over time def chart_npm(): names = ['MCP', 'A2A', 'x402', 'MPP', 'Web Bot Auth', 'UCP', 'KYA-OS', 'x401'] - W, H = 960, 610 - L, R, T, B = 64, 190, 112, 62 - pw, ph = W - L - R, H - T - B + W = 960 + L, R, T = 64, 190, 112 + ph = 436 + secs = [('Protocols with no download series', [f'{n}: {why}' for n, why in NO_NPM]), + ('Other packages, with downloads in the last month', package_lines()), + ('Not measured', ['Maven, NuGet, Go modules, crates.io, RubyGems and any other registry, and packages whose name I could not identify.'])] + hbox = nc_height(secs) + H = T + ph + 40 + hbox + 22 + 28 + 10 + 28 + 14 + pw = W - L - R d0 = dt.date(2025, 4, 21) d1 = dt.date(2026, 10, 5) span = (d1 - d0).days @@ -84,7 +180,7 @@ def Y(v): b = [] b.append(f'Weekly npm downloads of each protocol\'s main SDK') - b.append(f'Log scale, 21 Apr 2025 to 5 Oct 2026. Downloads include CI and mirrors, so read them as relative reach, not users.') + b.append(f'Log scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.') # legend lx = L for i, n in enumerate(names): @@ -118,10 +214,14 @@ def Y(v): b.append(f'' f'' f'{esc(n)} {fmt(v)}') + ny = T + ph + 40 + b.append(nc_box(L, ny, pw + R - 24, secs)) + b.append(foot(L, ny + hbox + 22, ['One package per protocol is plotted. The window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown.', + 'Each line starts at the first week with downloads.'])) half = len(names) // 2 for k, grp in enumerate((names[:half], names[half:])): pkgs = '; '.join(f'{n}: {D["npm"][n]["pkg"]}' for n in grp) - b.append(f'{"Packages: " if k == 0 else ""}{esc(pkgs)}') + b.append(f'{"Packages: " if k == 0 else ""}{esc(pkgs)}') return svg(W, H, ''.join(b), 'Weekly npm downloads of each protocol main SDK', 'Line chart on a log scale. ' + '; '.join(f'{n} {fmt(D["npm"][n]["weeks"][-1][1])} a week' for n in names)) @@ -129,24 +229,39 @@ def Y(v): # ---------------------------------------------------------------- chart 2: weekly commits, small multiples def chart_commits(): items = sorted(D['commits'].items(), key=lambda kv: -sum(v for _, v in kv[1])) + items.append(('Baselayer KYA', None)) # no public repository cols, pw, ph = 5, 160, 70 gx, gy = 28, 46 L, T = 40, 124 rows = math.ceil(len(items) / cols) W = L * 2 + cols * pw + (cols - 1) * gx - H = T + rows * (ph + gy) + 30 - ymax = max(v for _, wk in items for _, v in wk) + secs = [('Protocols with no panel', ['Baselayer KYA: closed commercial product, no public repository.']), + ('Other repositories, with commits in the last 52 weeks', others_lines('commits')), + ('Counting', ['Default branch only. Forks, other branches and private repositories are not counted.'])] + hbox = nc_height(secs) + H = T + rows * (ph + gy) + 14 + 14 * (len(PROXY) + 1) + 16 + hbox + 24 + ymax = max(v for _, wk in items if wk for _, v in wk) ymax = int(math.ceil(ymax / 10.0) * 10) b = [f'Weekly commits to each protocol\'s main repository', f'Last 52 weeks to mid-Oct 2026. Same scale in every panel (0 to {ymax}), sorted by total commits.', - f'A flat line on the baseline means no recent development. Repositories created during the year start part-way along.'] + f'A flat line on the baseline means no commits. Dashed shading means the repository did not exist yet. * marks an SDK or implementation repository (see below).'] for k, (n, wk) in enumerate(items): c, r = k % cols, k // cols x0 = L + c * (pw + gx) y0 = T + r * (ph + gy) + if wk is None: + b.append(f'{esc(n)}' + f'' + f'No data' + f'closed product, no public repo') + continue tot = sum(v for _, v in wk) - b.append(f'{esc(n)}' - f'{tot:,} commits') + created = dt.date.fromisoformat(D['repos'][n]['created']) + cut = 0 + while cut < len(wk) and dt.datetime.utcfromtimestamp(wk[cut][0]).date() + dt.timedelta(days=7) <= created: + cut += 1 + b.append(f'{esc(star(n))}' + f'{tot:,} commit{"" if tot == 1 else "s"}') b.append(f'' f'') if c == 0: @@ -155,25 +270,41 @@ def chart_commits(): n_w = len(wk) px = lambda i: x0 + pw * i / (n_w - 1) py = lambda v: y0 + ph * (1 - v / ymax) - path = 'M' + ' L'.join(f'{px(i):.1f},{py(v):.1f}' for i, (_, v) in enumerate(wk)) - area = path + f' L{px(n_w-1):.1f},{y0+ph} L{px(0):.1f},{y0+ph} Z' - b.append(f'' - f'') + if cut > 0: + xc = px(min(cut, n_w - 1)) + b.append(f'') + if xc - x0 >= 56: + b.append(f'created {created.strftime("%b %Y")}') + live = list(enumerate(wk))[cut:] + if len(live) > 1: + path = 'M' + ' L'.join(f'{px(i):.1f},{py(v):.1f}' for i, (_, v) in live) + area = path + f' L{px(live[-1][0]):.1f},{y0+ph} L{px(live[0][0]):.1f},{y0+ph} Z' + b.append(f'' + f'') for i, (ts, v) in enumerate(wk): day = dt.datetime.utcfromtimestamp(ts).date().isoformat() - b.append(f'{esc(n)}: {v} commits, week of {day}') + msg = f'{n}: repository not yet created (created {created.isoformat()})' if i < cut else f'{n}: {v} commits, week of {day}' + b.append(f'{esc(msg)}') + fy = T + rows * (ph + gy) + 14 + b.append(foot(L, fy, ['* Charted repository is an SDK or implementation, not the specification:'] + + [f' {k}: {v}' for k, v in PROXY.items()])) + b.append(nc_box(L, fy + 14 * (len(PROXY) + 1) + 16, W - 2 * L, secs)) return svg(W, H, ''.join(b), 'Weekly commits to each protocol main repository', - 'Small multiples, one panel per repository, shared scale. ' + '; '.join(f'{n} {sum(v for _, v in wk)} commits' for n, wk in items)) + 'Small multiples, one panel per repository, shared scale. ' + '; '.join(f'{n} {sum(v for _, v in wk)} commits' for n, wk in items if wk) + '; Baselayer KYA has no data (closed product)') # ---------------------------------------------------------------- chart 3: stars snapshot dot plot def chart_stars(): items = sorted(D['repos'].items(), key=lambda kv: -kv[1]['stars']) + items.append(('Baselayer KYA', None)) # no public repository quiet = {n for n, wk in D['commits'].items() if sum(v for _, v in wk[-13:]) == 0} W = 960 L, R, T = 150, 250, 100 rh = 28 - H = T + len(items) * rh + 56 + secs = [('Protocols with no data', ['Baselayer KYA: closed commercial product, no public repository.']), + ('Other repositories, with stars', ['One repository is charted per protocol. The MCP Python and TypeScript SDKs hold more stars than the specification repository charted.'] + others_lines('stars'))] + hbox = nc_height(secs) + H = T + len(items) * rh + 40 + 14 * (len(PROXY) + 1) + 16 + hbox + 24 pw = W - L - R lo, hi = 1, 5 # 10 .. 100K @@ -189,15 +320,22 @@ def X(v): f'{fmt(10**k)}') for i, (n, r) in enumerate(items): y = T + i * rh + rh / 2 + if r is None: + b.append(f'{esc(n)}' + f'' + f'No data: closed commercial product, no public repository') + continue hollow = n in quiet fill = 'var(--surface)' if hollow else 'var(--s1)' - b.append(f'{esc(n)}' + b.append(f'{esc(star(n))}' f'' f'{esc(n)} ({esc(r["repo"])}): {r["stars"]:,} stars, {r["forks"]:,} forks, created {r["created"]}, last push {r["pushed"]}' f'{r["stars"]:,} · created {dt.date.fromisoformat(r["created"]).strftime("%b %Y")}') - b.append(f'MPP is the wevm/mppx SDK, L402 is lightninglabs/aperture and cheqd is cheqd/did-resolver. Others are the protocol repository.') + b.append(foot(L-110, T + len(items) * rh + 40, ['* Charted repository is an SDK or implementation, not the specification:'] + + [f' {k}: {v}' for k, v in PROXY.items()])) + b.append(nc_box(L - 110, T + len(items) * rh + 40 + 14 * (len(PROXY) + 1) + 16, W - 2 * (L - 110), secs)) return svg(W, H, ''.join(b), 'GitHub stars on each protocol main repository', - 'Dot plot on a log scale. ' + '; '.join(f'{n} {r["stars"]:,}' for n, r in items)) + 'Dot plot on a log scale. ' + '; '.join(f'{n} {r["stars"]:,}' for n, r in items if r) + '; Baselayer KYA has no data (closed product)') if __name__ == '__main__': From e278b2ddbe521471357899c3665e4c2ba7636051 Mon Sep 17 00:00:00 2001 From: Fraser Edwards Date: Fri, 16 Oct 2026 11:04:41 +0100 Subject: [PATCH 2/3] docs: aggregate commits over repositories, add an all-registries downloads chart, drop cheqd from charts Commits are added across each protocol's repositories. The downloads chart covers npm, PyPI and crates.io, so protocols previously marked as having no downloads now show their series. The metrics table lists the top package per registry. Co-Authored-By: Claude Sonnet 5.5 Signed-off-by: Fraser Edwards --- .../tools/capability-map/PROTOCOLS.md | 67 +- .../traction/commit-activity.svg | 4 +- .../tools/capability-map/traction/data.json | 7660 +++++++++++++++-- .../traction/downloads-all-registries.svg | 17 + .../tools/capability-map/traction/fetch.py | 139 +- .../capability-map/traction/github-stars.svg | 4 +- .../capability-map/traction/npm-downloads.svg | 4 +- .../tools/capability-map/traction/render.py | 192 +- 8 files changed, 7051 insertions(+), 1036 deletions(-) create mode 100644 docs/research/tools/capability-map/traction/downloads-all-registries.svg diff --git a/docs/research/tools/capability-map/PROTOCOLS.md b/docs/research/tools/capability-map/PROTOCOLS.md index 16824e6..6da491a 100644 --- a/docs/research/tools/capability-map/PROTOCOLS.md +++ b/docs/research/tools/capability-map/PROTOCOLS.md @@ -30,23 +30,23 @@ Every protocol that appears in the capability map ([`generate.py`](./generate.py Collected 16 Oct 2026 from the GitHub API and the npm and PyPI download APIs. "Commits (90d)" counts commits to the default branch since 18 Jul 2026. -| Protocol | Main repo | Stars | Forks | Contributors | Commits (90d) | Latest release | Package downloads (last month) | +| Protocol | Main repo | Stars | Forks | Contributors | Commits (90d) | Latest release | Package downloads (last 4 weeks, per registry the top package) | |---|---|---|---|---|---|---|---| -| A2A | [a2aproject/A2A](https://github.com/a2aproject/A2A) | 26,175 | 2,675 | 176 | 64 | v1.0.1, 28 May 2026 | `@a2a-js/sdk` 15.4M (npm); `a2a-sdk` 11.4M (PyPI) | -| MCP | [modelcontextprotocol/modelcontextprotocol](https://github.com/modelcontextprotocol/modelcontextprotocol) | 9,458 | 1,870 | 372 | 390 | 28 Jul 2026 | `@modelcontextprotocol/sdk` 273M (npm); `mcp` 235M (PyPI) | -| x402 | [x402-foundation/x402](https://github.com/x402-foundation/x402) | 6,723 | 2,192 | 334 | 267 | no GitHub releases | `x402` 2.0M, `@x402/core` 1.5M, `@x402/fetch` 552k (npm); `x402` 205k (PyPI) | -| UCP | [Universal-Commerce-Protocol/ucp](https://github.com/Universal-Commerce-Protocol/ucp) | 3,429 | 479 | 64 | 98 | v2026-08-25 | `@ucp-js/sdk` 52k (npm); `ucp-sdk` 8.6k (PyPI) | -| AP2 | [google-agentic-commerce/AP2](https://github.com/google-agentic-commerce/AP2) | 3,230 | 512 | 19 | 0 | v0.2.0, 28 Apr 2026 | None found. The `ap2` package on PyPI belongs to an unrelated project | -| ACP | [agentic-commerce-protocol/agentic-commerce-protocol](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) | 1,574 | 255 | 26 | 0 | no GitHub releases | None found | -| TAP | [visa/trusted-agent-protocol](https://github.com/visa/trusted-agent-protocol) | 213 | 45 | 2 | 0 | no GitHub releases | None found | -| MPP | [wevm/mppx](https://github.com/wevm/mppx) (TypeScript SDK) and [tempoxyz/mpp-specs](https://github.com/tempoxyz/mpp-specs) | 186 and 95 | 71 and 71 | 31 and 23 | 262 and 41 | `mppx@0.13.5`, 15 Oct 2026 (122 releases) | `mppx` 1.04M (npm) | -| L402 | [lightninglabs/aperture](https://github.com/lightninglabs/aperture) and [lightninglabs/L402](https://github.com/lightninglabs/L402) | 271 and 91 | 82 and 19 | 27 and 8 | 106 and 0 | aperture v0.5.0, 25 Mar 2026 | None checked | -| Web Bot Auth | [cloudflare/web-bot-auth](https://github.com/cloudflare/web-bot-auth) | 170 | 43 | 17 | 35 | no GitHub releases | `web-bot-auth` 736k (npm) | -| x401 | [proof/x401](https://github.com/proof/x401) | 42 | 5 | 4 | 3 | no GitHub releases | `@proof.com/x401-node` 744 (npm) | -| ANS | [agentnameservice/ans](https://github.com/agentnameservice/ans) (reference implementation) | 43 | 6 | 9 | 29 | v0.1.6, 26 Jun 2026 | None found | -| KYA-OS | [decentralized-identity/kya-os-mcp](https://github.com/decentralized-identity/kya-os-mcp) | 31 | 13 | 6 | 178 | v1.20.0, 13 Oct 2026 | `@kya-os/mcp` 57k, `@kya-os/mcp-i` 16k (npm) | -| PAP (Poppy) | [personal-agent-protocol/personal-agent-protocol](https://github.com/personal-agent-protocol/personal-agent-protocol) (spec and site, created 14 Oct 2026) | 20 | 1 | 1 | 3 | no GitHub releases | None found | -| KYAPay | [skyfire-xyz/kyapay](https://github.com/skyfire-xyz/kyapay) | 13 | 0 | 8 | 1 | no GitHub releases | None found | +| A2A | [a2aproject/A2A](https://github.com/a2aproject/A2A) | 26,175 | 2,675 | 176 | 64 | v1.0.1, 28 May 2026 | `@a2a-js/sdk` 14.4M (npm); `a2a-sdk` 11.1M (PyPI); `a2a-lf` 55K (crates.io) | +| MCP | [modelcontextprotocol/modelcontextprotocol](https://github.com/modelcontextprotocol/modelcontextprotocol) | 9,458 | 1,870 | 372 | 390 | 28 Jul 2026 | `@modelcontextprotocol/sdk` 256.4M (npm); `mcp` 229.2M (PyPI); `rmcp` 8.5M (crates.io) | +| x402 | [x402-foundation/x402](https://github.com/x402-foundation/x402) | 6,723 | 2,192 | 334 | 267 | no GitHub releases | `x402` 1.9M (npm); `x402` 223K (PyPI) | +| UCP | [Universal-Commerce-Protocol/ucp](https://github.com/Universal-Commerce-Protocol/ucp) | 3,429 | 479 | 64 | 98 | v2026-08-25 | `@ucp-js/sdk` 50K (npm); `ucp-sdk` 7.2K (PyPI); `ucp-schema` 829 (crates.io) | +| AP2 | [google-agentic-commerce/AP2](https://github.com/google-agentic-commerce/AP2) | 3,230 | 512 | 19 | 0 | v0.2.0, 28 Apr 2026 | None found on npm, PyPI or crates.io | +| ACP | [agentic-commerce-protocol/agentic-commerce-protocol](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) | 1,574 | 255 | 26 | 0 | no GitHub releases | `agentic-commerce-protocol` 47 (npm); `agentic-commerce-protocol` 50 (PyPI) | +| TAP | [visa/trusted-agent-protocol](https://github.com/visa/trusted-agent-protocol) | 213 | 45 | 2 | 0 | no GitHub releases | None found on npm, PyPI or crates.io | +| MPP | [wevm/mppx](https://github.com/wevm/mppx) (TypeScript SDK) and [tempoxyz/mpp-specs](https://github.com/tempoxyz/mpp-specs) | 186 and 95 | 71 and 71 | 31 and 23 | 262 and 41 | `mppx@0.13.5`, 15 Oct 2026 (122 releases) | `mppx` 977K (npm); `pympp` 2.0M (PyPI) | +| L402 | [lightninglabs/aperture](https://github.com/lightninglabs/aperture) and [lightninglabs/L402](https://github.com/lightninglabs/L402) | 271 and 91 | 82 and 19 | 27 and 8 | 106 and 0 | aperture v0.5.0, 25 Mar 2026 | `@lightninglabs/l402` 104 (npm); `l402` 24 (PyPI, community) | +| Web Bot Auth | [cloudflare/web-bot-auth](https://github.com/cloudflare/web-bot-auth) | 170 | 43 | 17 | 35 | no GitHub releases | `web-bot-auth` 689K (npm); `web-bot-auth` 82K (crates.io) | +| x401 | [proof/x401](https://github.com/proof/x401) | 42 | 5 | 4 | 3 | no GitHub releases | `@proof.com/x401-node` 729 (npm) | +| ANS | [agentnameservice/ans](https://github.com/agentnameservice/ans) (reference implementation) | 43 | 6 | 9 | 29 | v0.1.6, 26 Jun 2026 | None found on npm, PyPI or crates.io | +| KYA-OS | [decentralized-identity/kya-os-mcp](https://github.com/decentralized-identity/kya-os-mcp) | 31 | 13 | 6 | 178 | v1.20.0, 13 Oct 2026 | `@kya-os/mcp` 54K (npm) | +| PAP (Poppy) | [personal-agent-protocol/personal-agent-protocol](https://github.com/personal-agent-protocol/personal-agent-protocol) (spec and site, created 14 Oct 2026) | 20 | 1 | 1 | 3 | no GitHub releases | `@datalayer/personal-agent-protocol` 2.0K (npm, community); `personal-agent-protocol` 1.4K (PyPI, community) | +| KYAPay | [skyfire-xyz/kyapay](https://github.com/skyfire-xyz/kyapay) | 13 | 0 | 8 | 1 | no GitHub releases | `@skyfire-xyz/skyfire-seller-sdk-node` 52 (npm) | | cheqd | [cheqd/did-resolver](https://github.com/cheqd/did-resolver) | 12 | 7 | 17 | 3 | v3.8.5, 3 Sep 2026 | `@cheqd/sdk` 3.4k, `@cheqd/did-provider-cheqd` 864 (npm) | | Baselayer KYA | No public repo | n/a | n/a | n/a | n/a | n/a | n/a | @@ -65,37 +65,38 @@ Collected 16 Oct 2026 from the GitHub API and the npm and PyPI download APIs. "C - Stars measure attention more than use. The x401 and PAP repos are days or weeks old. - The MPP and L402 rows cover two repos each because the specification and the reference code live apart. - `coinbase/x402` is a fork of `x402-foundation/x402` with 168 stars. The canonical repo is the foundation's. -- Package-to-repo mappings were checked against npm registry metadata for `web-bot-auth`, `x402`, `mppx`, `@a2a-js/sdk`, `@kya-os/mcp`, `@modelcontextprotocol/sdk`, `@ucp-js/sdk`, `@proof.com/x401-node` and `@cheqd/sdk`. `@x402/core` and `@x402/fetch` are assumed to be x402 SDK packages. `ucp-sdk` and `a2a-sdk` on PyPI were matched by name only. +- Packages were matched to protocols by the repository URL in their registry metadata. `pympp` and `pytempo` are published by Tempo, `agentic-commerce-protocol` by Svix and `l402` by Fewsats, and I did not verify that these publishers are authorised by the protocol owners. The `ap2` package on PyPI belongs to an unrelated project and is not counted. ## Traction charts -Three charts, drawn from the data in the metrics table. They follow the system light or dark setting. Hover a point in a browser for the exact value. +Four charts, drawn from the data in the metrics table. cheqd is not charted. They follow the system light or dark setting, and hovering a point in a browser gives the exact value. Each ends with a "Not covered by this chart" box. -![Weekly npm downloads of each protocol's main SDK, log scale](./traction/npm-downloads.svg) +![Weekly commits to each protocol, added across its repositories](./traction/commit-activity.svg) -**Downloads over time.** MCP is two orders of magnitude ahead of everything else and still rising (about 0.8M to 65M a week). A2A's JavaScript SDK went from about 100 to 4.1M a week in 16 months. x402 has grown steadily to 467K a week. MPP's SDK went from 317 downloads in its first week (9 Feb 2026) to 336K and is closing on Web Bot Auth. UCP and KYA-OS are two to three orders of magnitude smaller, and x401's SDK is under 300 a week. +**Development activity.** Commits are added across each protocol's repositories, including SDKs and samples, so a protocol is not judged by its specification repository alone. MCP leads (4,070 commits across 6 repositories in the last year), then A2A (2,050 across 8), MPP, x402 and UCP. AP2, ACP and TAP are flat. Protocols with several repositories carry a repository count, and the box lists every repository added. -![Weekly commits to each protocol's main repository, small multiples](./traction/commit-activity.svg) +PAP's 179 commits come mostly from a community SDK. [`datalayer/personal-agent-protocol`](https://github.com/datalayer/personal-agent-protocol) is a Python and TypeScript SDK by Datalayer, Inc. (BSD-3-Clause, created 10 Oct 2026, 162 commits in its first days, nearly all by one author, with releases 0.21 to 0.24 between 13 and 14 Oct). It is a third-party implementation of the draft, not Sierra's or Meta's. The protocol's own repository, `personal-agent-protocol/personal-agent-protocol`, holds the spec and website and has 3 commits. Community repositories are marked with a dagger in the box. -**Development activity.** MCP, x402 and MPP carry most of the commit volume. AP2, ACP and TAP are flat, which matches their last pushes of June, July and October 2025. +![Weekly package downloads for each protocol across npm, PyPI and crates.io](./traction/downloads-all-registries.svg) -![GitHub stars on each protocol's main repository, log scale](./traction/github-stars.svg) +**Downloads, all registries.** The same 12 weeks for every protocol, with npm, PyPI and crates.io added together. Per registry the most downloaded package is counted, so a package and its dependencies are not counted twice. MCP is far ahead (129M a week), then A2A (6.9M), MPP (1.5M, more from `pympp` on PyPI than from `mppx` on npm), x402 (542K) and Web Bot Auth (181K). PAP, L402, ACP and KYAPay have small series from community or vendor packages. AP2, TAP, ANS and Baselayer KYA have none: no package was found for AP2 (the `ap2` package on PyPI belongs to an unrelated project), TAP or ANS on npm, PyPI or crates.io, and Baselayer is closed. -**Stars.** A2A leads, then MCP, x402, UCP and AP2. AP2 and ACP hold thousands of stars with no recent commits, so their attention has outrun their activity. Hollow dots mark repositories with no commits in the last 13 weeks. +![Weekly npm downloads of each protocol's main SDK, log scale](./traction/npm-downloads.svg) -**No data is marked, not hidden.** Dashed boxes and rows show where a protocol has no series, with the reason. Baselayer KYA is a closed commercial product, so it has no repository or package on any chart. Protocols without an official npm package identified (AP2, ACP, TAP, L402, ANS, PAP, KYAPay) are listed under "No download series". cheqd has download data but is not plotted, because the palette allows eight series. "Not collected" means none was found, not that none exists. +**npm history.** Eight protocols on one log scale since April 2025, the longest history any registry gives. MCP is two orders of magnitude ahead and still rising. A2A's JavaScript SDK went from about 100 to 4.1M a week in 16 months. MPP's SDK went from 317 downloads in its first week to 336K. UCP and KYA-OS are two to three orders of magnitude smaller, and x401's SDK is under 300 a week. The palette allows eight series, so the other protocols with npm packages are listed in the box and shown in the all-registries chart. + +![GitHub stars on each protocol's main repository, log scale](./traction/github-stars.svg) -### Other gaps marked on the charts +**Stars.** A2A leads, then MCP, x402, UCP and AP2. AP2 and ACP hold thousands of stars with no recent commits. Hollow dots mark repositories with no commits in the last 13 weeks. Only one repository per protocol is charted, and others can be larger: the MCP Python and TypeScript SDKs hold more stars than the specification repository (24,593 and 13,590 against 9,458). -- **Each chart ends with a "Not covered by this chart" box.** It lists the protocols with no data and the other repositories or packages that are not charted, with their stars, commits or downloads. Only one repository and one package is charted per protocol, and others can be larger: the MCP Python and TypeScript SDK repositories hold more stars than the specification repository charted (24,593 and 13,590 against 9,458), and `a2a-sdk` on PyPI has about 11.4M downloads a month against 15.4M for the npm package charted. -- **Repository did not exist yet.** In the commits chart, dashed shading marks weeks before a repository was created (KYA-OS, UCP, MPP, ANS, x401, PAP), so a flat line means no commits rather than no repository. -- **SDK or implementation repository charted, not the specification.** An asterisk marks MPP (`wevm/mppx`), L402 (`lightninglabs/aperture`), ANS (`agentnameservice/ans`), Web Bot Auth (`cloudflare/web-bot-auth`) and cheqd (`cheqd/did-resolver`). Each footnote names what is not charted. -- **One package per protocol** in the downloads chart. x402 also publishes `@x402/core` and KYA-OS also publishes `@kya-os/mcp-i`. -- **Window cut-off.** The downloads window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown. +### Gaps marked on the charts -**Not shown:** star history over time. GitHub's stargazer endpoints returned nothing in this environment, so stars appear only as a snapshot. SDK downloads exist only for npm packages, so those protocols have no line in the first chart. +- **No data is marked, not hidden.** Dashed boxes and panels show where a protocol has nothing to plot, with the reason. +- **No repository or package yet.** Dashed shading marks weeks before a repository existed (commits chart) or before a package had downloads (all-registries chart), so a flat line means no activity rather than no project. +- **Counting choices.** Commits use the default branch only. Downloads cover npm, PyPI and crates.io. Maven, NuGet, Go modules and container pulls are not measured, and downloads include CI and mirrors. +- **Star history over time** is not shown. GitHub's stargazer endpoints returned nothing in this environment, so stars are a snapshot. -The lists of other repositories and packages are set in `OTHERS` and `OTHER_PACKAGES` in `traction/fetch.py`. Refresh with `python3 traction/fetch.py` (needs `gh` logged in), then `python3 traction/render.py`. The data behind the charts is in [`traction/data.json`](./traction/data.json). +The repositories and packages counted are set in `OTHERS` and `PACKAGES` in `traction/fetch.py`. Refresh with `python3 traction/fetch.py` (needs `gh` logged in), then `python3 traction/render.py`. The data behind the charts is in [`traction/data.json`](./traction/data.json). ## Notes diff --git a/docs/research/tools/capability-map/traction/commit-activity.svg b/docs/research/tools/capability-map/traction/commit-activity.svg index a0db822..0613eda 100644 --- a/docs/research/tools/capability-map/traction/commit-activity.svg +++ b/docs/research/tools/capability-map/traction/commit-activity.svg @@ -1,4 +1,4 @@ -Weekly commits to each protocol main repositorySmall multiples, one panel per repository, shared scale. MCP 1991 commits; x402 1033 commits; MPP 1007 commits; KYA-OS 324 commits; UCP 319 commits; A2A 238 commits; L402 215 commits; ACP 100 commits; Web Bot Auth 93 commits; ANS 74 commits; AP2 20 commits; x401 14 commits; KYAPay 13 commits; cheqd 8 commits; PAP 3 commits; TAP 1 commits; Baselayer KYA has no data (closed product)Weekly commits to each protocol, added across its repositoriesLast 52 weeks to mid-Oct 2026. Same scale in every panel (0 to 190), sorted by total commits.A flat line on the baseline means no commits. Dashed shading means no repository existed yet. Repositories counted are listed below.MCP4,070 commits · 6 repos1900MCP: 37 commits across 6 repos, week of 2025-10-19MCP: 56 commits across 6 repos, week of 2025-10-26MCP: 67 commits across 6 repos, week of 2025-11-02MCP: 184 commits across 6 repos, week of 2025-11-09MCP: 171 commits across 6 repos, week of 2025-11-16MCP: 90 commits across 6 repos, week of 2025-11-23MCP: 82 commits across 6 repos, week of 2025-11-30MCP: 63 commits across 6 repos, week of 2025-12-07MCP: 107 commits across 6 repos, week of 2025-12-14MCP: 43 commits across 6 repos, week of 2025-12-21MCP: 16 commits across 6 repos, week of 2025-12-28MCP: 44 commits across 6 repos, week of 2026-01-04MCP: 94 commits across 6 repos, week of 2026-01-11MCP: 128 commits across 6 repos, week of 2026-01-18MCP: 119 commits across 6 repos, week of 2026-01-25MCP: 111 commits across 6 repos, week of 2026-02-01MCP: 96 commits across 6 repos, week of 2026-02-08MCP: 146 commits across 6 repos, week of 2026-02-15MCP: 117 commits across 6 repos, week of 2026-02-22MCP: 101 commits across 6 repos, week of 2026-03-01MCP: 156 commits across 6 repos, week of 2026-03-08MCP: 42 commits across 6 repos, week of 2026-03-15MCP: 116 commits across 6 repos, week of 2026-03-22MCP: 68 commits across 6 repos, week of 2026-03-29MCP: 55 commits across 6 repos, week of 2026-04-05MCP: 61 commits across 6 repos, week of 2026-04-12MCP: 45 commits across 6 repos, week of 2026-04-19MCP: 64 commits across 6 repos, week of 2026-04-26MCP: 56 commits across 6 repos, week of 2026-05-03MCP: 65 commits across 6 repos, week of 2026-05-10MCP: 50 commits across 6 repos, week of 2026-05-17MCP: 54 commits across 6 repos, week of 2026-05-24MCP: 99 commits across 6 repos, week of 2026-05-31MCP: 75 commits across 6 repos, week of 2026-06-07MCP: 70 commits across 6 repos, week of 2026-06-14MCP: 94 commits across 6 repos, week of 2026-06-21MCP: 92 commits across 6 repos, week of 2026-06-28MCP: 93 commits across 6 repos, week of 2026-07-05MCP: 87 commits across 6 repos, week of 2026-07-12MCP: 94 commits across 6 repos, week of 2026-07-19MCP: 174 commits across 6 repos, week of 2026-07-26MCP: 45 commits across 6 repos, week of 2026-08-02MCP: 29 commits across 6 repos, week of 2026-08-09MCP: 67 commits across 6 repos, week of 2026-08-16MCP: 41 commits across 6 repos, week of 2026-08-23MCP: 39 commits across 6 repos, week of 2026-08-30MCP: 40 commits across 6 repos, week of 2026-09-06MCP: 37 commits across 6 repos, week of 2026-09-13MCP: 37 commits across 6 repos, week of 2026-09-20MCP: 85 commits across 6 repos, week of 2026-09-27MCP: 33 commits across 6 repos, week of 2026-10-04MCP: 35 commits across 6 repos, week of 2026-10-11A2A2,050 commits · 8 reposA2A: 32 commits across 8 repos, week of 2025-10-19A2A: 44 commits across 8 repos, week of 2025-10-26A2A: 35 commits across 8 repos, week of 2025-11-02A2A: 30 commits across 8 repos, week of 2025-11-09A2A: 44 commits across 8 repos, week of 2025-11-16A2A: 33 commits across 8 repos, week of 2025-11-23A2A: 38 commits across 8 repos, week of 2025-11-30A2A: 47 commits across 8 repos, week of 2025-12-07A2A: 40 commits across 8 repos, week of 2025-12-14A2A: 12 commits across 8 repos, week of 2025-12-21A2A: 14 commits across 8 repos, week of 2025-12-28A2A: 24 commits across 8 repos, week of 2026-01-04A2A: 38 commits across 8 repos, week of 2026-01-11A2A: 43 commits across 8 repos, week of 2026-01-18A2A: 41 commits across 8 repos, week of 2026-01-25A2A: 30 commits across 8 repos, week of 2026-02-01A2A: 42 commits across 8 repos, week of 2026-02-08A2A: 67 commits across 8 repos, week of 2026-02-15A2A: 46 commits across 8 repos, week of 2026-02-22A2A: 50 commits across 8 repos, week of 2026-03-01A2A: 98 commits across 8 repos, week of 2026-03-08A2A: 76 commits across 8 repos, week of 2026-03-15A2A: 52 commits across 8 repos, week of 2026-03-22A2A: 30 commits across 8 repos, week of 2026-03-29A2A: 65 commits across 8 repos, week of 2026-04-05A2A: 30 commits across 8 repos, week of 2026-04-12A2A: 45 commits across 8 repos, week of 2026-04-19A2A: 47 commits across 8 repos, week of 2026-04-26A2A: 28 commits across 8 repos, week of 2026-05-03A2A: 51 commits across 8 repos, week of 2026-05-10A2A: 21 commits across 8 repos, week of 2026-05-17A2A: 24 commits across 8 repos, week of 2026-05-24A2A: 45 commits across 8 repos, week of 2026-05-31A2A: 36 commits across 8 repos, week of 2026-06-07A2A: 18 commits across 8 repos, week of 2026-06-14A2A: 18 commits across 8 repos, week of 2026-06-21A2A: 28 commits across 8 repos, week of 2026-06-28A2A: 24 commits across 8 repos, week of 2026-07-05A2A: 20 commits across 8 repos, week of 2026-07-12A2A: 38 commits across 8 repos, week of 2026-07-19A2A: 29 commits across 8 repos, week of 2026-07-26A2A: 39 commits across 8 repos, week of 2026-08-02A2A: 41 commits across 8 repos, week of 2026-08-09A2A: 58 commits across 8 repos, week of 2026-08-16A2A: 45 commits across 8 repos, week of 2026-08-23A2A: 25 commits across 8 repos, week of 2026-08-30A2A: 52 commits across 8 repos, week of 2026-09-06A2A: 40 commits across 8 repos, week of 2026-09-13A2A: 42 commits across 8 repos, week of 2026-09-20A2A: 45 commits across 8 repos, week of 2026-09-27A2A: 56 commits across 8 repos, week of 2026-10-04A2A: 34 commits across 8 repos, week of 2026-10-11MPP1,106 commits · 2 reposMPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: no repository yet (earliest created 2026-01-05)MPP: 1 commits across 2 repos, week of 2026-01-04MPP: 1 commits across 2 repos, week of 2026-01-11MPP: 24 commits across 2 repos, week of 2026-01-18MPP: 73 commits across 2 repos, week of 2026-01-25MPP: 31 commits across 2 repos, week of 2026-02-01MPP: 94 commits across 2 repos, week of 2026-02-08MPP: 62 commits across 2 repos, week of 2026-02-15MPP: 25 commits across 2 repos, week of 2026-02-22MPP: 20 commits across 2 repos, week of 2026-03-01MPP: 19 commits across 2 repos, week of 2026-03-08MPP: 28 commits across 2 repos, week of 2026-03-15MPP: 49 commits across 2 repos, week of 2026-03-22MPP: 35 commits across 2 repos, week of 2026-03-29MPP: 35 commits across 2 repos, week of 2026-04-05MPP: 28 commits across 2 repos, week of 2026-04-12MPP: 30 commits across 2 repos, week of 2026-04-19MPP: 17 commits across 2 repos, week of 2026-04-26MPP: 18 commits across 2 repos, week of 2026-05-03MPP: 28 commits across 2 repos, week of 2026-05-10MPP: 16 commits across 2 repos, week of 2026-05-17MPP: 3 commits across 2 repos, week of 2026-05-24MPP: 25 commits across 2 repos, week of 2026-05-31MPP: 21 commits across 2 repos, week of 2026-06-07MPP: 25 commits across 2 repos, week of 2026-06-14MPP: 21 commits across 2 repos, week of 2026-06-21MPP: 28 commits across 2 repos, week of 2026-06-28MPP: 10 commits across 2 repos, week of 2026-07-05MPP: 36 commits across 2 repos, week of 2026-07-12MPP: 36 commits across 2 repos, week of 2026-07-19MPP: 19 commits across 2 repos, week of 2026-07-26MPP: 29 commits across 2 repos, week of 2026-08-02MPP: 14 commits across 2 repos, week of 2026-08-09MPP: 25 commits across 2 repos, week of 2026-08-16MPP: 23 commits across 2 repos, week of 2026-08-23MPP: 17 commits across 2 repos, week of 2026-08-30MPP: 17 commits across 2 repos, week of 2026-09-06MPP: 11 commits across 2 repos, week of 2026-09-13MPP: 13 commits across 2 repos, week of 2026-09-20MPP: 58 commits across 2 repos, week of 2026-09-27MPP: 17 commits across 2 repos, week of 2026-10-04MPP: 24 commits across 2 repos, week of 2026-10-11x4021,064 commits · 3 reposx402: 4 commits across 3 repos, week of 2025-10-19x402: 14 commits across 3 repos, week of 2025-10-26x402: 8 commits across 3 repos, week of 2025-11-02x402: 16 commits across 3 repos, week of 2025-11-09x402: 0 commits across 3 repos, week of 2025-11-09x402: 9 commits across 3 repos, week of 2025-11-16x402: 0 commits across 3 repos, week of 2025-11-16x402: 10 commits across 3 repos, week of 2025-11-23x402: 0 commits across 3 repos, week of 2025-11-23x402: 7 commits across 3 repos, week of 2025-11-30x402: 0 commits across 3 repos, week of 2025-11-30x402: 17 commits across 3 repos, week of 2025-12-07x402: 0 commits across 3 repos, week of 2025-12-07x402: 10 commits across 3 repos, week of 2025-12-14x402: 0 commits across 3 repos, week of 2025-12-14x402: 16 commits across 3 repos, week of 2025-12-21x402: 0 commits across 3 repos, week of 2025-12-21x402: 12 commits across 3 repos, week of 2025-12-28x402: 0 commits across 3 repos, week of 2025-12-28x402: 25 commits across 3 repos, week of 2026-01-04x402: 0 commits across 3 repos, week of 2026-01-04x402: 19 commits across 3 repos, week of 2026-01-11x402: 0 commits across 3 repos, week of 2026-01-11x402: 19 commits across 3 repos, week of 2026-01-18x402: 0 commits across 3 repos, week of 2026-01-18x402: 26 commits across 3 repos, week of 2026-01-25x402: 0 commits across 3 repos, week of 2026-01-25x402: 31 commits across 3 repos, week of 2026-02-01x402: 0 commits across 3 repos, week of 2026-02-01x402: 19 commits across 3 repos, week of 2026-02-08x402: 0 commits across 3 repos, week of 2026-02-08x402: 22 commits across 3 repos, week of 2026-02-15x402: 0 commits across 3 repos, week of 2026-02-15x402: 56 commits across 3 repos, week of 2026-02-22x402: 0 commits across 3 repos, week of 2026-02-22x402: 31 commits across 3 repos, week of 2026-03-01x402: 0 commits across 3 repos, week of 2026-03-01x402: 31 commits across 3 repos, week of 2026-03-08x402: 0 commits across 3 repos, week of 2026-03-08x402: 27 commits across 3 repos, week of 2026-03-15x402: 22 commits across 3 repos, week of 2026-03-22x402: 19 commits across 3 repos, week of 2026-03-29x402: 15 commits across 3 repos, week of 2026-04-05x402: 21 commits across 3 repos, week of 2026-04-12x402: 16 commits across 3 repos, week of 2026-04-19x402: 13 commits across 3 repos, week of 2026-04-26x402: 17 commits across 3 repos, week of 2026-05-03x402: 41 commits across 3 repos, week of 2026-05-10x402: 24 commits across 3 repos, week of 2026-05-17x402: 39 commits across 3 repos, week of 2026-05-24x402: 18 commits across 3 repos, week of 2026-05-31x402: 23 commits across 3 repos, week of 2026-06-07x402: 24 commits across 3 repos, week of 2026-06-14x402: 14 commits across 3 repos, week of 2026-06-21x402: 13 commits across 3 repos, week of 2026-06-28x402: 14 commits across 3 repos, week of 2026-07-05x402: 22 commits across 3 repos, week of 2026-07-12x402: 24 commits across 3 repos, week of 2026-07-19x402: 11 commits across 3 repos, week of 2026-07-26x402: 33 commits across 3 repos, week of 2026-08-02x402: 23 commits across 3 repos, week of 2026-08-09x402: 23 commits across 3 repos, week of 2026-08-16x402: 27 commits across 3 repos, week of 2026-08-23x402: 41 commits across 3 repos, week of 2026-08-30x402: 16 commits across 3 repos, week of 2026-09-06x402: 28 commits across 3 repos, week of 2026-09-13x402: 19 commits across 3 repos, week of 2026-09-20x402: 20 commits across 3 repos, week of 2026-09-27x402: 8 commits across 3 repos, week of 2026-10-04x402: 7 commits across 3 repos, week of 2026-10-11UCP703 commits · 6 reposUCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: 0 commits across 6 repos, week of 2025-12-28UCP: 0 commits across 6 repos, week of 2026-01-04UCP: 38 commits across 6 repos, week of 2026-01-11UCP: 28 commits across 6 repos, week of 2026-01-18UCP: 20 commits across 6 repos, week of 2026-01-25UCP: 4 commits across 6 repos, week of 2026-02-01UCP: 11 commits across 6 repos, week of 2026-02-08UCP: 19 commits across 6 repos, week of 2026-02-15UCP: 17 commits across 6 repos, week of 2026-02-22UCP: 12 commits across 6 repos, week of 2026-03-01UCP: 21 commits across 6 repos, week of 2026-03-08UCP: 16 commits across 6 repos, week of 2026-03-15UCP: 4 commits across 6 repos, week of 2026-03-22UCP: 15 commits across 6 repos, week of 2026-03-29UCP: 8 commits across 6 repos, week of 2026-04-05UCP: 10 commits across 6 repos, week of 2026-04-12UCP: 26 commits across 6 repos, week of 2026-04-19UCP: 9 commits across 6 repos, week of 2026-04-26UCP: 7 commits across 6 repos, week of 2026-05-03UCP: 11 commits across 6 repos, week of 2026-05-10UCP: 13 commits across 6 repos, week of 2026-05-17UCP: 3 commits across 6 repos, week of 2026-05-24UCP: 2 commits across 6 repos, week of 2026-05-31UCP: 10 commits across 6 repos, week of 2026-06-07UCP: 27 commits across 6 repos, week of 2026-06-14UCP: 17 commits across 6 repos, week of 2026-06-21UCP: 12 commits across 6 repos, week of 2026-06-28UCP: 13 commits across 6 repos, week of 2026-07-05UCP: 25 commits across 6 repos, week of 2026-07-12UCP: 32 commits across 6 repos, week of 2026-07-19UCP: 23 commits across 6 repos, week of 2026-07-26UCP: 19 commits across 6 repos, week of 2026-08-02UCP: 63 commits across 6 repos, week of 2026-08-09UCP: 39 commits across 6 repos, week of 2026-08-16UCP: 17 commits across 6 repos, week of 2026-08-23UCP: 15 commits across 6 repos, week of 2026-08-30UCP: 9 commits across 6 repos, week of 2026-09-06UCP: 7 commits across 6 repos, week of 2026-09-13UCP: 21 commits across 6 repos, week of 2026-09-20UCP: 20 commits across 6 repos, week of 2026-09-27UCP: 18 commits across 6 repos, week of 2026-10-04UCP: 22 commits across 6 repos, week of 2026-10-11KYA-OS324 commits1900created Mar 2026KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: 1 commits across 1 repos, week of 2026-03-08KYA-OS: 6 commits across 1 repos, week of 2026-03-15KYA-OS: 14 commits across 1 repos, week of 2026-03-22KYA-OS: 13 commits across 1 repos, week of 2026-03-29KYA-OS: 0 commits across 1 repos, week of 2026-04-05KYA-OS: 0 commits across 1 repos, week of 2026-04-12KYA-OS: 2 commits across 1 repos, week of 2026-04-19KYA-OS: 0 commits across 1 repos, week of 2026-04-26KYA-OS: 0 commits across 1 repos, week of 2026-05-03KYA-OS: 17 commits across 1 repos, week of 2026-05-10KYA-OS: 5 commits across 1 repos, week of 2026-05-17KYA-OS: 22 commits across 1 repos, week of 2026-05-24KYA-OS: 32 commits across 1 repos, week of 2026-05-31KYA-OS: 3 commits across 1 repos, week of 2026-06-07KYA-OS: 13 commits across 1 repos, week of 2026-06-14KYA-OS: 0 commits across 1 repos, week of 2026-06-21KYA-OS: 12 commits across 1 repos, week of 2026-06-28KYA-OS: 31 commits across 1 repos, week of 2026-07-05KYA-OS: 2 commits across 1 repos, week of 2026-07-12KYA-OS: 18 commits across 1 repos, week of 2026-07-19KYA-OS: 14 commits across 1 repos, week of 2026-07-26KYA-OS: 9 commits across 1 repos, week of 2026-08-02KYA-OS: 10 commits across 1 repos, week of 2026-08-09KYA-OS: 12 commits across 1 repos, week of 2026-08-16KYA-OS: 12 commits across 1 repos, week of 2026-08-23KYA-OS: 0 commits across 1 repos, week of 2026-08-30KYA-OS: 0 commits across 1 repos, week of 2026-09-06KYA-OS: 5 commits across 1 repos, week of 2026-09-13KYA-OS: 19 commits across 1 repos, week of 2026-09-20KYA-OS: 6 commits across 1 repos, week of 2026-09-27KYA-OS: 25 commits across 1 repos, week of 2026-10-04KYA-OS: 21 commits across 1 repos, week of 2026-10-11L402272 commits · 3 reposL402: 0 commits across 3 repos, week of 2025-10-18L402: 0 commits across 3 repos, week of 2025-10-19L402: 0 commits across 3 repos, week of 2025-10-25L402: 0 commits across 3 repos, week of 2025-10-26L402: 0 commits across 3 repos, week of 2025-11-01L402: 1 commits across 3 repos, week of 2025-11-02L402: 0 commits across 3 repos, week of 2025-11-09L402: 2 commits across 3 repos, week of 2025-11-16L402: 3 commits across 3 repos, week of 2025-11-23L402: 0 commits across 3 repos, week of 2025-11-30L402: 0 commits across 3 repos, week of 2025-12-07L402: 0 commits across 3 repos, week of 2025-12-14L402: 0 commits across 3 repos, week of 2025-12-21L402: 0 commits across 3 repos, week of 2025-12-28L402: 0 commits across 3 repos, week of 2026-01-04L402: 6 commits across 3 repos, week of 2026-01-11L402: 2 commits across 3 repos, week of 2026-01-18L402: 3 commits across 3 repos, week of 2026-01-25L402: 1 commits across 3 repos, week of 2026-02-01L402: 43 commits across 3 repos, week of 2026-02-08L402: 0 commits across 3 repos, week of 2026-02-15L402: 1 commits across 3 repos, week of 2026-02-22L402: 4 commits across 3 repos, week of 2026-03-01L402: 26 commits across 3 repos, week of 2026-03-08L402: 20 commits across 3 repos, week of 2026-03-15L402: 45 commits across 3 repos, week of 2026-03-22L402: 0 commits across 3 repos, week of 2026-03-29L402: 1 commits across 3 repos, week of 2026-04-05L402: 1 commits across 3 repos, week of 2026-04-12L402: 2 commits across 3 repos, week of 2026-04-19L402: 1 commits across 3 repos, week of 2026-04-26L402: 0 commits across 3 repos, week of 2026-05-03L402: 0 commits across 3 repos, week of 2026-05-10L402: 0 commits across 3 repos, week of 2026-05-17L402: 5 commits across 3 repos, week of 2026-05-24L402: 0 commits across 3 repos, week of 2026-05-31L402: 0 commits across 3 repos, week of 2026-06-07L402: 0 commits across 3 repos, week of 2026-06-14L402: 0 commits across 3 repos, week of 2026-06-21L402: 2 commits across 3 repos, week of 2026-06-28L402: 17 commits across 3 repos, week of 2026-07-05L402: 0 commits across 3 repos, week of 2026-07-12L402: 0 commits across 3 repos, week of 2026-07-19L402: 15 commits across 3 repos, week of 2026-07-26L402: 3 commits across 3 repos, week of 2026-08-02L402: 17 commits across 3 repos, week of 2026-08-09L402: 1 commits across 3 repos, week of 2026-08-16L402: 0 commits across 3 repos, week of 2026-08-23L402: 3 commits across 3 repos, week of 2026-08-30L402: 5 commits across 3 repos, week of 2026-09-06L402: 3 commits across 3 repos, week of 2026-09-13L402: 22 commits across 3 repos, week of 2026-09-20L402: 6 commits across 3 repos, week of 2026-09-27L402: 10 commits across 3 repos, week of 2026-10-04L402: 1 commits across 3 repos, week of 2026-10-11PAP179 commits · 4 reposcreated Oct 2026PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: 42 commits across 4 repos, week of 2026-10-04PAP: 136 commits across 4 repos, week of 2026-10-11ANS104 commits · 2 reposANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: no repository yet (earliest created 2025-11-19)ANS: 1 commits across 2 repos, week of 2025-11-16ANS: 0 commits across 2 repos, week of 2025-11-16ANS: 0 commits across 2 repos, week of 2025-11-23ANS: 0 commits across 2 repos, week of 2025-11-23ANS: 0 commits across 2 repos, week of 2025-11-30ANS: 0 commits across 2 repos, week of 2025-11-30ANS: 1 commits across 2 repos, week of 2025-12-07ANS: 0 commits across 2 repos, week of 2025-12-07ANS: 0 commits across 2 repos, week of 2025-12-14ANS: 0 commits across 2 repos, week of 2025-12-14ANS: 0 commits across 2 repos, week of 2025-12-21ANS: 0 commits across 2 repos, week of 2025-12-21ANS: 0 commits across 2 repos, week of 2025-12-28ANS: 0 commits across 2 repos, week of 2025-12-28ANS: 0 commits across 2 repos, week of 2026-01-04ANS: 0 commits across 2 repos, week of 2026-01-04ANS: 0 commits across 2 repos, week of 2026-01-11ANS: 0 commits across 2 repos, week of 2026-01-11ANS: 0 commits across 2 repos, week of 2026-01-18ANS: 0 commits across 2 repos, week of 2026-01-18ANS: 0 commits across 2 repos, week of 2026-01-25ANS: 0 commits across 2 repos, week of 2026-01-25ANS: 0 commits across 2 repos, week of 2026-02-01ANS: 0 commits across 2 repos, week of 2026-02-01ANS: 0 commits across 2 repos, week of 2026-02-08ANS: 0 commits across 2 repos, week of 2026-02-08ANS: 1 commits across 2 repos, week of 2026-02-15ANS: 0 commits across 2 repos, week of 2026-02-15ANS: 1 commits across 2 repos, week of 2026-02-22ANS: 0 commits across 2 repos, week of 2026-02-22ANS: 1 commits across 2 repos, week of 2026-03-01ANS: 0 commits across 2 repos, week of 2026-03-01ANS: 0 commits across 2 repos, week of 2026-03-08ANS: 0 commits across 2 repos, week of 2026-03-08ANS: 1 commits across 2 repos, week of 2026-03-15ANS: 3 commits across 2 repos, week of 2026-03-22ANS: 1 commits across 2 repos, week of 2026-03-29ANS: 6 commits across 2 repos, week of 2026-04-05ANS: 1 commits across 2 repos, week of 2026-04-12ANS: 0 commits across 2 repos, week of 2026-04-19ANS: 0 commits across 2 repos, week of 2026-04-26ANS: 8 commits across 2 repos, week of 2026-05-03ANS: 0 commits across 2 repos, week of 2026-05-10ANS: 0 commits across 2 repos, week of 2026-05-17ANS: 3 commits across 2 repos, week of 2026-05-24ANS: 10 commits across 2 repos, week of 2026-05-31ANS: 2 commits across 2 repos, week of 2026-06-07ANS: 3 commits across 2 repos, week of 2026-06-14ANS: 9 commits across 2 repos, week of 2026-06-21ANS: 2 commits across 2 repos, week of 2026-06-28ANS: 1 commits across 2 repos, week of 2026-07-05ANS: 15 commits across 2 repos, week of 2026-07-12ANS: 11 commits across 2 repos, week of 2026-07-19ANS: 0 commits across 2 repos, week of 2026-07-26ANS: 1 commits across 2 repos, week of 2026-08-02ANS: 0 commits across 2 repos, week of 2026-08-09ANS: 2 commits across 2 repos, week of 2026-08-16ANS: 2 commits across 2 repos, week of 2026-08-23ANS: 3 commits across 2 repos, week of 2026-08-30ANS: 4 commits across 2 repos, week of 2026-09-06ANS: 2 commits across 2 repos, week of 2026-09-13ANS: 0 commits across 2 repos, week of 2026-09-20ANS: 2 commits across 2 repos, week of 2026-09-27ANS: 1 commits across 2 repos, week of 2026-10-04ANS: 6 commits across 2 repos, week of 2026-10-11ACP100 commitsACP: 0 commits across 1 repos, week of 2025-10-19ACP: 0 commits across 1 repos, week of 2025-10-26ACP: 0 commits across 1 repos, week of 2025-11-02ACP: 0 commits across 1 repos, week of 2025-11-09ACP: 0 commits across 1 repos, week of 2025-11-16ACP: 0 commits across 1 repos, week of 2025-11-23ACP: 1 commits across 1 repos, week of 2025-11-30ACP: 0 commits across 1 repos, week of 2025-12-07ACP: 5 commits across 1 repos, week of 2025-12-14ACP: 0 commits across 1 repos, week of 2025-12-21ACP: 0 commits across 1 repos, week of 2025-12-28ACP: 4 commits across 1 repos, week of 2026-01-04ACP: 5 commits across 1 repos, week of 2026-01-11ACP: 4 commits across 1 repos, week of 2026-01-18ACP: 8 commits across 1 repos, week of 2026-01-25ACP: 17 commits across 1 repos, week of 2026-02-01ACP: 12 commits across 1 repos, week of 2026-02-08ACP: 6 commits across 1 repos, week of 2026-02-15ACP: 4 commits across 1 repos, week of 2026-02-22ACP: 0 commits across 1 repos, week of 2026-03-01ACP: 3 commits across 1 repos, week of 2026-03-08ACP: 4 commits across 1 repos, week of 2026-03-15ACP: 0 commits across 1 repos, week of 2026-03-22ACP: 0 commits across 1 repos, week of 2026-03-29ACP: 2 commits across 1 repos, week of 2026-04-05ACP: 7 commits across 1 repos, week of 2026-04-12ACP: 4 commits across 1 repos, week of 2026-04-19ACP: 2 commits across 1 repos, week of 2026-04-26ACP: 1 commits across 1 repos, week of 2026-05-03ACP: 2 commits across 1 repos, week of 2026-05-10ACP: 2 commits across 1 repos, week of 2026-05-17ACP: 0 commits across 1 repos, week of 2026-05-24ACP: 2 commits across 1 repos, week of 2026-05-31ACP: 1 commits across 1 repos, week of 2026-06-07ACP: 3 commits across 1 repos, week of 2026-06-14ACP: 0 commits across 1 repos, week of 2026-06-21ACP: 0 commits across 1 repos, week of 2026-06-28ACP: 0 commits across 1 repos, week of 2026-07-05ACP: 1 commits across 1 repos, week of 2026-07-12ACP: 0 commits across 1 repos, week of 2026-07-19ACP: 0 commits across 1 repos, week of 2026-07-26ACP: 0 commits across 1 repos, week of 2026-08-02ACP: 0 commits across 1 repos, week of 2026-08-09ACP: 0 commits across 1 repos, week of 2026-08-16ACP: 0 commits across 1 repos, week of 2026-08-23ACP: 0 commits across 1 repos, week of 2026-08-30ACP: 0 commits across 1 repos, week of 2026-09-06ACP: 0 commits across 1 repos, week of 2026-09-13ACP: 0 commits across 1 repos, week of 2026-09-20ACP: 0 commits across 1 repos, week of 2026-09-27ACP: 0 commits across 1 repos, week of 2026-10-04ACP: 0 commits across 1 repos, week of 2026-10-11Web Bot Auth93 commits1900Web Bot Auth: 1 commits across 1 repos, week of 2025-10-19Web Bot Auth: 1 commits across 1 repos, week of 2025-10-26Web Bot Auth: 1 commits across 1 repos, week of 2025-11-02Web Bot Auth: 0 commits across 1 repos, week of 2025-11-09Web Bot Auth: 0 commits across 1 repos, week of 2025-11-16Web Bot Auth: 0 commits across 1 repos, week of 2025-11-23Web Bot Auth: 0 commits across 1 repos, week of 2025-11-30Web Bot Auth: 0 commits across 1 repos, week of 2025-12-07Web Bot Auth: 2 commits across 1 repos, week of 2025-12-14Web Bot Auth: 0 commits across 1 repos, week of 2025-12-21Web Bot Auth: 0 commits across 1 repos, week of 2025-12-28Web Bot Auth: 0 commits across 1 repos, week of 2026-01-04Web Bot Auth: 2 commits across 1 repos, week of 2026-01-11Web Bot Auth: 0 commits across 1 repos, week of 2026-01-18Web Bot Auth: 0 commits across 1 repos, week of 2026-01-25Web Bot Auth: 0 commits across 1 repos, week of 2026-02-01Web Bot Auth: 0 commits across 1 repos, week of 2026-02-08Web Bot Auth: 0 commits across 1 repos, week of 2026-02-15Web Bot Auth: 0 commits across 1 repos, week of 2026-02-22Web Bot Auth: 2 commits across 1 repos, week of 2026-03-01Web Bot Auth: 4 commits across 1 repos, week of 2026-03-08Web Bot Auth: 0 commits across 1 repos, week of 2026-03-15Web Bot Auth: 0 commits across 1 repos, week of 2026-03-22Web Bot Auth: 0 commits across 1 repos, week of 2026-03-29Web Bot Auth: 0 commits across 1 repos, week of 2026-04-05Web Bot Auth: 1 commits across 1 repos, week of 2026-04-12Web Bot Auth: 5 commits across 1 repos, week of 2026-04-19Web Bot Auth: 1 commits across 1 repos, week of 2026-04-26Web Bot Auth: 5 commits across 1 repos, week of 2026-05-03Web Bot Auth: 0 commits across 1 repos, week of 2026-05-10Web Bot Auth: 0 commits across 1 repos, week of 2026-05-17Web Bot Auth: 7 commits across 1 repos, week of 2026-05-24Web Bot Auth: 0 commits across 1 repos, week of 2026-05-31Web Bot Auth: 3 commits across 1 repos, week of 2026-06-07Web Bot Auth: 0 commits across 1 repos, week of 2026-06-14Web Bot Auth: 8 commits across 1 repos, week of 2026-06-21Web Bot Auth: 12 commits across 1 repos, week of 2026-06-28Web Bot Auth: 1 commits across 1 repos, week of 2026-07-05Web Bot Auth: 3 commits across 1 repos, week of 2026-07-12Web Bot Auth: 7 commits across 1 repos, week of 2026-07-19Web Bot Auth: 2 commits across 1 repos, week of 2026-07-26Web Bot Auth: 2 commits across 1 repos, week of 2026-08-02Web Bot Auth: 3 commits across 1 repos, week of 2026-08-09Web Bot Auth: 3 commits across 1 repos, week of 2026-08-16Web Bot Auth: 5 commits across 1 repos, week of 2026-08-23Web Bot Auth: 5 commits across 1 repos, week of 2026-08-30Web Bot Auth: 1 commits across 1 repos, week of 2026-09-06Web Bot Auth: 1 commits across 1 repos, week of 2026-09-13Web Bot Auth: 0 commits across 1 repos, week of 2026-09-20Web Bot Auth: 0 commits across 1 repos, week of 2026-09-27Web Bot Auth: 2 commits across 1 repos, week of 2026-10-04Web Bot Auth: 3 commits across 1 repos, week of 2026-10-11KYAPay62 commits · 2 reposKYAPay: 0 commits across 2 repos, week of 2025-10-18KYAPay: 0 commits across 2 repos, week of 2025-10-19KYAPay: 0 commits across 2 repos, week of 2025-10-25KYAPay: 0 commits across 2 repos, week of 2025-10-26KYAPay: 0 commits across 2 repos, week of 2025-11-01KYAPay: 0 commits across 2 repos, week of 2025-11-02KYAPay: 0 commits across 2 repos, week of 2025-11-09KYAPay: 0 commits across 2 repos, week of 2025-11-16KYAPay: 0 commits across 2 repos, week of 2025-11-23KYAPay: 0 commits across 2 repos, week of 2025-11-30KYAPay: 0 commits across 2 repos, week of 2025-12-07KYAPay: 0 commits across 2 repos, week of 2025-12-14KYAPay: 0 commits across 2 repos, week of 2025-12-21KYAPay: 0 commits across 2 repos, week of 2025-12-28KYAPay: 0 commits across 2 repos, week of 2026-01-04KYAPay: 0 commits across 2 repos, week of 2026-01-11KYAPay: 0 commits across 2 repos, week of 2026-01-18KYAPay: 2 commits across 2 repos, week of 2026-01-25KYAPay: 2 commits across 2 repos, week of 2026-02-01KYAPay: 1 commits across 2 repos, week of 2026-02-08KYAPay: 0 commits across 2 repos, week of 2026-02-15KYAPay: 3 commits across 2 repos, week of 2026-02-22KYAPay: 1 commits across 2 repos, week of 2026-03-01KYAPay: 3 commits across 2 repos, week of 2026-03-08KYAPay: 3 commits across 2 repos, week of 2026-03-15KYAPay: 2 commits across 2 repos, week of 2026-03-22KYAPay: 0 commits across 2 repos, week of 2026-03-29KYAPay: 2 commits across 2 repos, week of 2026-04-05KYAPay: 7 commits across 2 repos, week of 2026-04-12KYAPay: 3 commits across 2 repos, week of 2026-04-19KYAPay: 3 commits across 2 repos, week of 2026-04-26KYAPay: 7 commits across 2 repos, week of 2026-05-03KYAPay: 2 commits across 2 repos, week of 2026-05-10KYAPay: 3 commits across 2 repos, week of 2026-05-17KYAPay: 0 commits across 2 repos, week of 2026-05-24KYAPay: 1 commits across 2 repos, week of 2026-05-31KYAPay: 0 commits across 2 repos, week of 2026-06-07KYAPay: 1 commits across 2 repos, week of 2026-06-14KYAPay: 0 commits across 2 repos, week of 2026-06-21KYAPay: 0 commits across 2 repos, week of 2026-06-28KYAPay: 0 commits across 2 repos, week of 2026-07-05KYAPay: 0 commits across 2 repos, week of 2026-07-12KYAPay: 2 commits across 2 repos, week of 2026-07-19KYAPay: 1 commits across 2 repos, week of 2026-07-26KYAPay: 0 commits across 2 repos, week of 2026-08-02KYAPay: 0 commits across 2 repos, week of 2026-08-09KYAPay: 0 commits across 2 repos, week of 2026-08-16KYAPay: 0 commits across 2 repos, week of 2026-08-23KYAPay: 1 commits across 2 repos, week of 2026-08-30KYAPay: 0 commits across 2 repos, week of 2026-09-06KYAPay: 0 commits across 2 repos, week of 2026-09-13KYAPay: 0 commits across 2 repos, week of 2026-09-20KYAPay: 0 commits across 2 repos, week of 2026-09-27KYAPay: 12 commits across 2 repos, week of 2026-10-04KYAPay: 0 commits across 2 repos, week of 2026-10-11x40147 commits · 2 reposcreated May 2026x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: no repository yet (earliest created 2026-05-07)x401: 0 commits across 2 repos, week of 2026-05-03x401: 0 commits across 2 repos, week of 2026-05-10x401: 0 commits across 2 repos, week of 2026-05-17x401: 0 commits across 2 repos, week of 2026-05-24x401: 0 commits across 2 repos, week of 2026-05-31x401: 3 commits across 2 repos, week of 2026-06-07x401: 0 commits across 2 repos, week of 2026-06-14x401: 14 commits across 2 repos, week of 2026-06-21x401: 4 commits across 2 repos, week of 2026-06-28x401: 0 commits across 2 repos, week of 2026-07-05x401: 3 commits across 2 repos, week of 2026-07-12x401: 1 commits across 2 repos, week of 2026-07-19x401: 3 commits across 2 repos, week of 2026-07-26x401: 1 commits across 2 repos, week of 2026-08-02x401: 0 commits across 2 repos, week of 2026-08-09x401: 1 commits across 2 repos, week of 2026-08-16x401: 0 commits across 2 repos, week of 2026-08-23x401: 1 commits across 2 repos, week of 2026-08-30x401: 1 commits across 2 repos, week of 2026-09-06x401: 2 commits across 2 repos, week of 2026-09-13x401: 1 commits across 2 repos, week of 2026-09-20x401: 6 commits across 2 repos, week of 2026-09-27x401: 5 commits across 2 repos, week of 2026-10-04x401: 1 commits across 2 repos, week of 2026-10-11AP220 commitsAP2: 0 commits across 1 repos, week of 2025-10-19AP2: 4 commits across 1 repos, week of 2025-10-26AP2: 0 commits across 1 repos, week of 2025-11-02AP2: 3 commits across 1 repos, week of 2025-11-09AP2: 2 commits across 1 repos, week of 2025-11-16AP2: 0 commits across 1 repos, week of 2025-11-23AP2: 0 commits across 1 repos, week of 2025-11-30AP2: 0 commits across 1 repos, week of 2025-12-07AP2: 1 commits across 1 repos, week of 2025-12-14AP2: 0 commits across 1 repos, week of 2025-12-21AP2: 0 commits across 1 repos, week of 2025-12-28AP2: 0 commits across 1 repos, week of 2026-01-04AP2: 1 commits across 1 repos, week of 2026-01-11AP2: 1 commits across 1 repos, week of 2026-01-18AP2: 1 commits across 1 repos, week of 2026-01-25AP2: 0 commits across 1 repos, week of 2026-02-01AP2: 1 commits across 1 repos, week of 2026-02-08AP2: 0 commits across 1 repos, week of 2026-02-15AP2: 0 commits across 1 repos, week of 2026-02-22AP2: 0 commits across 1 repos, week of 2026-03-01AP2: 0 commits across 1 repos, week of 2026-03-08AP2: 0 commits across 1 repos, week of 2026-03-15AP2: 0 commits across 1 repos, week of 2026-03-22AP2: 0 commits across 1 repos, week of 2026-03-29AP2: 0 commits across 1 repos, week of 2026-04-05AP2: 0 commits across 1 repos, week of 2026-04-12AP2: 1 commits across 1 repos, week of 2026-04-19AP2: 5 commits across 1 repos, week of 2026-04-26AP2: 0 commits across 1 repos, week of 2026-05-03AP2: 0 commits across 1 repos, week of 2026-05-10AP2: 0 commits across 1 repos, week of 2026-05-17AP2: 0 commits across 1 repos, week of 2026-05-24AP2: 0 commits across 1 repos, week of 2026-05-31AP2: 0 commits across 1 repos, week of 2026-06-07AP2: 0 commits across 1 repos, week of 2026-06-14AP2: 0 commits across 1 repos, week of 2026-06-21AP2: 0 commits across 1 repos, week of 2026-06-28AP2: 0 commits across 1 repos, week of 2026-07-05AP2: 0 commits across 1 repos, week of 2026-07-12AP2: 0 commits across 1 repos, week of 2026-07-19AP2: 0 commits across 1 repos, week of 2026-07-26AP2: 0 commits across 1 repos, week of 2026-08-02AP2: 0 commits across 1 repos, week of 2026-08-09AP2: 0 commits across 1 repos, week of 2026-08-16AP2: 0 commits across 1 repos, week of 2026-08-23AP2: 0 commits across 1 repos, week of 2026-08-30AP2: 0 commits across 1 repos, week of 2026-09-06AP2: 0 commits across 1 repos, week of 2026-09-13AP2: 0 commits across 1 repos, week of 2026-09-20AP2: 0 commits across 1 repos, week of 2026-09-27AP2: 0 commits across 1 repos, week of 2026-10-04AP2: 0 commits across 1 repos, week of 2026-10-11TAP1 commitTAP: 0 commits across 1 repos, week of 2025-10-19TAP: 1 commits across 1 repos, week of 2025-10-26TAP: 0 commits across 1 repos, week of 2025-11-02TAP: 0 commits across 1 repos, week of 2025-11-09TAP: 0 commits across 1 repos, week of 2025-11-16TAP: 0 commits across 1 repos, week of 2025-11-23TAP: 0 commits across 1 repos, week of 2025-11-30TAP: 0 commits across 1 repos, week of 2025-12-07TAP: 0 commits across 1 repos, week of 2025-12-14TAP: 0 commits across 1 repos, week of 2025-12-21TAP: 0 commits across 1 repos, week of 2025-12-28TAP: 0 commits across 1 repos, week of 2026-01-04TAP: 0 commits across 1 repos, week of 2026-01-11TAP: 0 commits across 1 repos, week of 2026-01-18TAP: 0 commits across 1 repos, week of 2026-01-25TAP: 0 commits across 1 repos, week of 2026-02-01TAP: 0 commits across 1 repos, week of 2026-02-08TAP: 0 commits across 1 repos, week of 2026-02-15TAP: 0 commits across 1 repos, week of 2026-02-22TAP: 0 commits across 1 repos, week of 2026-03-01TAP: 0 commits across 1 repos, week of 2026-03-08TAP: 0 commits across 1 repos, week of 2026-03-15TAP: 0 commits across 1 repos, week of 2026-03-22TAP: 0 commits across 1 repos, week of 2026-03-29TAP: 0 commits across 1 repos, week of 2026-04-05TAP: 0 commits across 1 repos, week of 2026-04-12TAP: 0 commits across 1 repos, week of 2026-04-19TAP: 0 commits across 1 repos, week of 2026-04-26TAP: 0 commits across 1 repos, week of 2026-05-03TAP: 0 commits across 1 repos, week of 2026-05-10TAP: 0 commits across 1 repos, week of 2026-05-17TAP: 0 commits across 1 repos, week of 2026-05-24TAP: 0 commits across 1 repos, week of 2026-05-31TAP: 0 commits across 1 repos, week of 2026-06-07TAP: 0 commits across 1 repos, week of 2026-06-14TAP: 0 commits across 1 repos, week of 2026-06-21TAP: 0 commits across 1 repos, week of 2026-06-28TAP: 0 commits across 1 repos, week of 2026-07-05TAP: 0 commits across 1 repos, week of 2026-07-12TAP: 0 commits across 1 repos, week of 2026-07-19TAP: 0 commits across 1 repos, week of 2026-07-26TAP: 0 commits across 1 repos, week of 2026-08-02TAP: 0 commits across 1 repos, week of 2026-08-09TAP: 0 commits across 1 repos, week of 2026-08-16TAP: 0 commits across 1 repos, week of 2026-08-23TAP: 0 commits across 1 repos, week of 2026-08-30TAP: 0 commits across 1 repos, week of 2026-09-06TAP: 0 commits across 1 repos, week of 2026-09-13TAP: 0 commits across 1 repos, week of 2026-09-20TAP: 0 commits across 1 repos, week of 2026-09-27TAP: 0 commits across 1 repos, week of 2026-10-04TAP: 0 commits across 1 repos, week of 2026-10-11Baselayer KYANo dataclosed product, no public repoNot covered by this chartProtocols with no panelBaselayer KYA: closed commercial product, no public repository.Repositories added together in each panel († = community implementation, not the protocol's own)A2A: A2A, a2a-python, a2a-js, a2a-java, a2a-go, a2a-dotnet, a2a-samples, a2a-inspectorMCP: modelcontextprotocol, typescript-sdk, python-sdk, java-sdk, csharp-sdk, rust-sdkx402: x402, wg-identity, a2a-x402†UCP: ucp, python-sdk, js-sdk, samples, conformance, ucp-schemaAP2: AP2ACP: agentic-commerce-protocolTAP: trusted-agent-protocolMPP: mppx, mpp-specsL402: aperture, L402, lightning-agent-toolsWeb Bot Auth: web-bot-authANS: ans, ans-registryx401: x401, x401-nodeKYA-OS: kya-os-mcpPAP: personal-agent-protocol, personal-agent-protocol†, pi-poppy†, poppyseed†KYAPay: kyapay, kyapay_a2aNot addeda2a-rs, go-sdk, x401-ruby: GitHub returned no commit statistics for these.Other repositories of these projects, and community implementations I did not find.Default branch only. Forks, other branches and private repositories are not counted. \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/data.json b/docs/research/tools/capability-map/traction/data.json index 361763d..91eff9e 100644 --- a/docs/research/tools/capability-map/traction/data.json +++ b/docs/research/tools/capability-map/traction/data.json @@ -3,14 +3,14 @@ "repos": { "A2A": { "repo": "a2aproject/A2A", - "stars": 26176, - "forks": 2675, + "stars": 26177, + "forks": 2676, "created": "2025-03-25", "pushed": "2026-10-16" }, "MCP": { "repo": "modelcontextprotocol/modelcontextprotocol", - "stars": 9458, + "stars": 9459, "forks": 1870, "created": "2024-09-24", "pushed": "2026-10-15" @@ -18,14 +18,14 @@ "x402": { "repo": "x402-foundation/x402", "stars": 6723, - "forks": 2192, + "forks": 2193, "created": "2025-02-21", "pushed": "2026-10-15" }, "UCP": { "repo": "Universal-Commerce-Protocol/ucp", - "stars": 3429, - "forks": 479, + "stars": 3430, + "forks": 480, "created": "2025-12-31", "pushed": "2026-10-16" }, @@ -95,7 +95,7 @@ "PAP": { "repo": "personal-agent-protocol/personal-agent-protocol", "stars": 20, - "forks": 1, + "forks": 2, "created": "2026-10-14", "pushed": "2026-10-15" }, @@ -105,23 +105,12 @@ "forks": 0, "created": "2025-06-25", "pushed": "2026-09-11" - }, - "cheqd": { - "repo": "cheqd/did-resolver", - "stars": 12, - "forks": 7, - "created": "2022-03-25", - "pushed": "2026-09-03" } }, "npm": { "MCP": { "pkg": "@modelcontextprotocol/sdk", "weeks": [ - [ - "2025-04-21", - 817030 - ], [ "2025-04-28", 1704250 @@ -431,10 +420,6 @@ "A2A": { "pkg": "@a2a-js/sdk", "weeks": [ - [ - "2025-04-21", - 0 - ], [ "2025-04-28", 0 @@ -744,10 +729,6 @@ "x402": { "pkg": "x402", "weeks": [ - [ - "2025-04-21", - 429 - ], [ "2025-04-28", 528 @@ -1057,10 +1038,6 @@ "MPP": { "pkg": "mppx", "weeks": [ - [ - "2025-04-21", - 0 - ], [ "2025-04-28", 0 @@ -1370,10 +1347,6 @@ "Web Bot Auth": { "pkg": "web-bot-auth", "weeks": [ - [ - "2025-04-21", - 21 - ], [ "2025-04-28", 14 @@ -1683,10 +1656,6 @@ "UCP": { "pkg": "@ucp-js/sdk", "weeks": [ - [ - "2025-04-21", - 0 - ], [ "2025-04-28", 0 @@ -1996,10 +1965,6 @@ "KYA-OS": { "pkg": "@kya-os/mcp", "weeks": [ - [ - "2025-04-21", - 0 - ], [ "2025-04-28", 0 @@ -2309,10 +2274,6 @@ "x401": { "pkg": "@proof.com/x401-node", "weeks": [ - [ - "2025-04-21", - 0 - ], [ "2025-04-28", 0 @@ -2618,319 +2579,6 @@ 269 ] ] - }, - "cheqd": { - "pkg": "@cheqd/sdk", - "weeks": [ - [ - "2025-04-21", - 449 - ], - [ - "2025-04-28", - 688 - ], - [ - "2025-05-05", - 717 - ], - [ - "2025-05-12", - 1176 - ], - [ - "2025-05-19", - 651 - ], - [ - "2025-05-26", - 996 - ], - [ - "2025-06-02", - 1093 - ], - [ - "2025-06-09", - 654 - ], - [ - "2025-06-16", - 829 - ], - [ - "2025-06-23", - 894 - ], - [ - "2025-06-30", - 702 - ], - [ - "2025-07-07", - 739 - ], - [ - "2025-07-14", - 468 - ], - [ - "2025-07-21", - 707 - ], - [ - "2025-07-28", - 820 - ], - [ - "2025-08-04", - 687 - ], - [ - "2025-08-11", - 785 - ], - [ - "2025-08-18", - 1179 - ], - [ - "2025-08-25", - 835 - ], - [ - "2025-09-01", - 1053 - ], - [ - "2025-09-08", - 555 - ], - [ - "2025-09-15", - 964 - ], - [ - "2025-09-22", - 1408 - ], - [ - "2025-09-29", - 1583 - ], - [ - "2025-10-06", - 1273 - ], - [ - "2025-10-13", - 1282 - ], - [ - "2025-10-20", - 1518 - ], - [ - "2025-10-27", - 838 - ], - [ - "2025-11-03", - 983 - ], - [ - "2025-11-10", - 1000 - ], - [ - "2025-11-17", - 711 - ], - [ - "2025-11-24", - 958 - ], - [ - "2025-12-01", - 1144 - ], - [ - "2025-12-08", - 805 - ], - [ - "2025-12-15", - 478 - ], - [ - "2025-12-22", - 456 - ], - [ - "2025-12-29", - 157 - ], - [ - "2026-01-05", - 465 - ], - [ - "2026-01-12", - 2400 - ], - [ - "2026-01-19", - 1284 - ], - [ - "2026-01-26", - 355 - ], - [ - "2026-02-02", - 476 - ], - [ - "2026-02-09", - 985 - ], - [ - "2026-02-16", - 836 - ], - [ - "2026-02-23", - 1110 - ], - [ - "2026-03-02", - 675 - ], - [ - "2026-03-09", - 865 - ], - [ - "2026-03-16", - 661 - ], - [ - "2026-03-23", - 576 - ], - [ - "2026-03-30", - 830 - ], - [ - "2026-04-06", - 826 - ], - [ - "2026-04-13", - 610 - ], - [ - "2026-04-20", - 882 - ], - [ - "2026-04-27", - 937 - ], - [ - "2026-05-04", - 600 - ], - [ - "2026-05-11", - 1434 - ], - [ - "2026-05-18", - 1480 - ], - [ - "2026-05-25", - 1028 - ], - [ - "2026-06-01", - 1089 - ], - [ - "2026-06-08", - 924 - ], - [ - "2026-06-15", - 1993 - ], - [ - "2026-06-22", - 1223 - ], - [ - "2026-06-29", - 2021 - ], - [ - "2026-07-06", - 1002 - ], - [ - "2026-07-13", - 1824 - ], - [ - "2026-07-20", - 1890 - ], - [ - "2026-07-27", - 1277 - ], - [ - "2026-08-03", - 955 - ], - [ - "2026-08-10", - 903 - ], - [ - "2026-08-17", - 609 - ], - [ - "2026-08-24", - 653 - ], - [ - "2026-08-31", - 650 - ], - [ - "2026-09-07", - 712 - ], - [ - "2026-09-14", - 581 - ], - [ - "2026-09-21", - 627 - ], - [ - "2026-09-28", - 776 - ], - [ - "2026-10-05", - 1205 - ] - ] } }, "commits": { @@ -4194,10 +3842,10 @@ 0 ] ], - "Web Bot Auth": [ + "TAP": [ [ 1760832000, - 1 + 0 ], [ 1761436800, @@ -4205,7 +3853,7 @@ ], [ 1762041600, - 1 + 0 ], [ 1762646400, @@ -4229,7 +3877,7 @@ ], [ 1765670400, - 2 + 0 ], [ 1766275200, @@ -4245,7 +3893,7 @@ ], [ 1768089600, - 2 + 0 ], [ 1768694400, @@ -4273,220 +3921,10 @@ ], [ 1772323200, - 2 - ], - [ - 1772928000, - 4 - ], - [ - 1773532800, - 0 - ], - [ - 1774137600, - 0 - ], - [ - 1774742400, - 0 - ], - [ - 1775347200, - 0 - ], - [ - 1775952000, - 1 - ], - [ - 1776556800, - 5 - ], - [ - 1777161600, - 1 - ], - [ - 1777766400, - 5 - ], - [ - 1778371200, - 0 - ], - [ - 1778976000, - 0 - ], - [ - 1779580800, - 7 - ], - [ - 1780185600, - 0 - ], - [ - 1780790400, - 3 - ], - [ - 1781395200, - 0 - ], - [ - 1782000000, - 8 - ], - [ - 1782604800, - 12 - ], - [ - 1783209600, - 1 - ], - [ - 1783814400, - 3 - ], - [ - 1784419200, - 7 - ], - [ - 1785024000, - 2 - ], - [ - 1785628800, - 2 - ], - [ - 1786233600, - 3 - ], - [ - 1786838400, - 3 - ], - [ - 1787443200, - 5 - ], - [ - 1788048000, - 5 - ], - [ - 1788652800, - 1 - ], - [ - 1789257600, - 1 - ], - [ - 1789862400, - 0 - ], - [ - 1790467200, - 0 - ], - [ - 1791072000, - 2 - ], - [ - 1791676800, - 3 - ] - ], - "x401": [ - [ - 1760832000, - 0 - ], - [ - 1761436800, - 0 - ], - [ - 1762041600, - 0 - ], - [ - 1762650000, - 0 - ], - [ - 1763254800, - 0 - ], - [ - 1763859600, - 0 - ], - [ - 1764464400, - 0 - ], - [ - 1765069200, - 0 - ], - [ - 1765674000, - 0 - ], - [ - 1766278800, - 0 - ], - [ - 1766883600, - 0 - ], - [ - 1767488400, - 0 - ], - [ - 1768093200, - 0 - ], - [ - 1768698000, - 0 - ], - [ - 1769302800, - 0 - ], - [ - 1769907600, - 0 - ], - [ - 1770512400, - 0 - ], - [ - 1771117200, - 0 - ], - [ - 1771722000, - 0 - ], - [ - 1772326800, 0 ], [ - 1772931600, + 1772928000, 0 ], [ @@ -4547,11 +3985,11 @@ ], [ 1782000000, - 10 + 0 ], [ 1782604800, - 1 + 0 ], [ 1783209600, @@ -4595,7 +4033,7 @@ ], [ 1789257600, - 1 + 0 ], [ 1789862400, @@ -4603,7 +4041,7 @@ ], [ 1790467200, - 2 + 0 ], [ 1791072000, @@ -4824,18 +4262,18 @@ 23 ] ], - "KYA-OS": [ + "L402": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, - 0 + 1762041600, + 1 ], [ 1762646400, @@ -4843,11 +4281,11 @@ ], [ 1763251200, - 0 + 2 ], [ 1763856000, - 0 + 3 ], [ 1764460800, @@ -4875,15 +4313,15 @@ ], [ 1768089600, - 0 + 6 ], [ 1768694400, - 0 + 2 ], [ 1769299200, - 0 + 3 ], [ 1769904000, @@ -4891,7 +4329,7 @@ ], [ 1770508800, - 0 + 4 ], [ 1771113600, @@ -4899,35 +4337,35 @@ ], [ 1771718400, - 0 + 1 ], [ 1772323200, - 0 + 4 ], [ 1772928000, - 1 + 17 ], [ 1773532800, - 6 + 17 ], [ 1774137600, - 14 + 45 ], [ 1774742400, - 13 + 0 ], [ 1775347200, - 0 + 1 ], [ 1775952000, - 0 + 1 ], [ 1776556800, @@ -4935,7 +4373,7 @@ ], [ 1777161600, - 0 + 1 ], [ 1777766400, @@ -4943,27 +4381,27 @@ ], [ 1778371200, - 17 + 0 ], [ 1778976000, - 5 + 0 ], [ 1779580800, - 22 + 0 ], [ 1780185600, - 32 + 0 ], [ 1780790400, - 3 + 0 ], [ 1781395200, - 13 + 0 ], [ 1782000000, @@ -4971,55 +4409,55 @@ ], [ 1782604800, - 12 + 2 ], [ 1783209600, - 31 + 17 ], [ 1783814400, - 2 + 0 ], [ 1784419200, - 18 + 0 ], [ 1785024000, - 14 + 15 ], [ 1785628800, - 9 + 3 ], [ 1786233600, - 10 + 17 ], [ 1786838400, - 12 + 1 ], [ 1787443200, - 12 + 0 ], [ 1788048000, - 0 + 3 ], [ 1788652800, - 0 + 5 ], [ 1789257600, - 5 + 3 ], [ 1789862400, - 19 + 22 ], [ 1790467200, @@ -5027,97 +4465,97 @@ ], [ 1791072000, - 25 + 10 ], [ 1791676800, - 21 + 1 ] ], - "PAP": [ + "Web Bot Auth": [ [ 1760832000, - 0 + 1 ], [ 1761436800, - 0 + 1 ], [ 1762041600, - 0 + 1 ], [ - 1762650000, + 1762646400, 0 ], [ - 1763254800, + 1763251200, 0 ], [ - 1763859600, + 1763856000, 0 ], [ - 1764464400, + 1764460800, 0 ], [ - 1765069200, + 1765065600, 0 ], [ - 1765674000, - 0 + 1765670400, + 2 ], [ - 1766278800, + 1766275200, 0 ], [ - 1766883600, + 1766880000, 0 ], [ - 1767488400, + 1767484800, 0 ], [ - 1768093200, - 0 + 1768089600, + 2 ], [ - 1768698000, + 1768694400, 0 ], [ - 1769302800, + 1769299200, 0 ], [ - 1769907600, + 1769904000, 0 ], [ - 1770512400, + 1770508800, 0 ], [ - 1771117200, + 1771113600, 0 ], [ - 1771722000, + 1771718400, 0 ], [ - 1772326800, - 0 + 1772323200, + 2 ], [ - 1772931600, - 0 + 1772928000, + 4 ], [ 1773532800, @@ -5137,19 +4575,19 @@ ], [ 1775952000, - 0 + 1 ], [ 1776556800, - 0 + 5 ], [ 1777161600, - 0 + 1 ], [ 1777766400, - 0 + 5 ], [ 1778371200, @@ -5161,7 +4599,7 @@ ], [ 1779580800, - 0 + 7 ], [ 1780185600, @@ -5169,7 +4607,7 @@ ], [ 1780790400, - 0 + 3 ], [ 1781395200, @@ -5177,55 +4615,55 @@ ], [ 1782000000, - 0 + 8 ], [ 1782604800, - 0 + 12 ], [ 1783209600, - 0 + 1 ], [ 1783814400, - 0 + 3 ], [ 1784419200, - 0 + 7 ], [ 1785024000, - 0 + 2 ], [ 1785628800, - 0 + 2 ], [ 1786233600, - 0 + 3 ], [ 1786838400, - 0 + 3 ], [ 1787443200, - 0 + 5 ], [ 1788048000, - 0 + 5 ], [ 1788652800, - 0 + 1 ], [ 1789257600, - 0 + 1 ], [ 1789862400, @@ -5233,100 +4671,100 @@ ], [ 1790467200, - 1 + 0 ], [ 1791072000, - 0 + 2 ], [ 1791676800, - 2 + 3 ] ], - "TAP": [ + "ANS": [ [ 1760832000, 0 ], [ 1761436800, - 1 + 0 ], [ 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, + 1768093200, 0 ], [ - 1768694400, + 1768698000, 0 ], [ - 1769299200, + 1769302800, 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, + 1770512400, 0 ], [ - 1771113600, + 1771117200, 0 ], [ - 1771718400, + 1771722000, 0 ], [ - 1772323200, + 1772326800, 0 ], [ - 1772928000, + 1772931600, 0 ], [ @@ -5359,7 +4797,7 @@ ], [ 1777766400, - 0 + 8 ], [ 1778371200, @@ -5371,27 +4809,27 @@ ], [ 1779580800, - 0 + 3 ], [ 1780185600, - 0 + 10 ], [ 1780790400, - 0 + 1 ], [ 1781395200, - 0 + 2 ], [ 1782000000, - 0 + 9 ], [ 1782604800, - 0 + 1 ], [ 1783209600, @@ -5399,11 +4837,11 @@ ], [ 1783814400, - 0 + 12 ], [ 1784419200, - 0 + 8 ], [ 1785024000, @@ -5411,7 +4849,7 @@ ], [ 1785628800, - 0 + 1 ], [ 1786233600, @@ -5419,23 +4857,23 @@ ], [ 1786838400, - 0 + 1 ], [ 1787443200, - 0 + 2 ], [ 1788048000, - 0 + 3 ], [ 1788652800, - 0 + 4 ], [ 1789257600, - 0 + 1 ], [ 1789862400, @@ -5443,18 +4881,18 @@ ], [ 1790467200, - 0 + 2 ], [ 1791072000, - 0 + 1 ], [ 1791676800, - 0 + 5 ] ], - "L402": [ + "x401": [ [ 1760832000, 0 @@ -5465,87 +4903,87 @@ ], [ 1762041600, - 1 + 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, - 2 + 1763254800, + 0 ], [ - 1763856000, - 3 + 1763859600, + 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, - 6 + 1768093200, + 0 ], [ - 1768694400, - 2 + 1768698000, + 0 ], [ - 1769299200, - 3 + 1769302800, + 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, - 4 + 1770512400, + 0 ], [ - 1771113600, + 1771117200, 0 ], [ - 1771718400, - 1 + 1771722000, + 0 ], [ - 1772323200, - 4 + 1772326800, + 0 ], [ - 1772928000, - 17 + 1772931600, + 0 ], [ 1773532800, - 17 + 0 ], [ 1774137600, - 45 + 0 ], [ 1774742400, @@ -5553,19 +4991,19 @@ ], [ 1775347200, - 1 + 0 ], [ 1775952000, - 1 + 0 ], [ 1776556800, - 2 + 0 ], [ 1777161600, - 1 + 0 ], [ 1777766400, @@ -5597,15 +5035,15 @@ ], [ 1782000000, - 0 + 10 ], [ 1782604800, - 2 + 1 ], [ 1783209600, - 17 + 0 ], [ 1783814400, @@ -5617,19 +5055,19 @@ ], [ 1785024000, - 15 + 0 ], [ 1785628800, - 3 + 0 ], [ 1786233600, - 17 + 0 ], [ 1786838400, - 1 + 0 ], [ 1787443200, @@ -5637,129 +5075,129 @@ ], [ 1788048000, - 3 + 0 ], [ 1788652800, - 5 + 0 ], [ 1789257600, - 3 + 1 ], [ 1789862400, - 22 + 0 ], [ 1790467200, - 6 + 2 ], [ 1791072000, - 10 + 0 ], [ 1791676800, - 1 + 0 ] ], - "ANS": [ + "KYA-OS": [ [ - 1760832000, + 1760828400, 0 ], [ - 1761436800, + 1761433200, 0 ], [ - 1762041600, + 1762038000, 0 ], [ - 1762650000, + 1762646400, 0 ], [ - 1763254800, + 1763251200, 0 ], [ - 1763859600, + 1763856000, 0 ], [ - 1764464400, + 1764460800, 0 ], [ - 1765069200, + 1765065600, 0 ], [ - 1765674000, + 1765670400, 0 ], [ - 1766278800, + 1766275200, 0 ], [ - 1766883600, + 1766880000, 0 ], [ - 1767488400, + 1767484800, 0 ], [ - 1768093200, + 1768089600, 0 ], [ - 1768698000, + 1768694400, 0 ], [ - 1769302800, + 1769299200, 0 ], [ - 1769907600, + 1769904000, 0 ], [ - 1770512400, + 1770508800, 0 ], [ - 1771117200, + 1771113600, 0 ], [ - 1771722000, + 1771718400, 0 ], [ - 1772326800, + 1772323200, 0 ], [ - 1772931600, - 0 + 1772928000, + 1 ], [ 1773532800, - 0 + 6 ], [ 1774137600, - 0 + 14 ], [ 1774742400, - 0 + 13 ], [ 1775347200, @@ -5771,7 +5209,7 @@ ], [ 1776556800, - 0 + 2 ], [ 1777161600, @@ -5779,102 +5217,102 @@ ], [ 1777766400, - 8 + 0 ], [ 1778371200, - 0 + 17 ], [ 1778976000, - 0 + 5 ], [ 1779580800, - 3 + 22 ], [ 1780185600, - 10 + 32 ], [ 1780790400, - 1 + 3 ], [ 1781395200, - 2 + 13 ], [ 1782000000, - 9 + 0 ], [ 1782604800, - 1 + 12 ], [ 1783209600, - 0 + 31 ], [ 1783814400, - 12 + 2 ], [ 1784419200, - 8 + 18 ], [ 1785024000, - 0 + 14 ], [ 1785628800, - 1 + 9 ], [ 1786233600, - 0 + 10 ], [ 1786838400, - 1 + 12 ], [ 1787443200, - 2 + 12 ], [ 1788048000, - 3 + 0 ], [ 1788652800, - 4 + 0 ], [ 1789257600, - 1 + 5 ], [ 1789862400, - 0 + 19 ], [ 1790467200, - 2 + 6 ], [ 1791072000, - 1 + 25 ], [ 1791676800, - 5 + 21 ] ], - "cheqd": [ + "PAP": [ [ 1760832000, 0 @@ -5888,75 +5326,75 @@ 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, - 2 + 1764464400, + 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, - 2 + 1768093200, + 0 ], [ - 1768694400, + 1768698000, 0 ], [ - 1769299200, + 1769302800, 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, + 1770512400, 0 ], [ - 1771113600, - 1 + 1771117200, + 0 ], [ - 1771718400, - 1 + 1771722000, + 0 ], [ - 1772323200, + 1772326800, 0 ], [ - 1772928000, + 1772931600, 0 ], [ @@ -6057,7 +5495,7 @@ ], [ 1788048000, - 2 + 0 ], [ 1788652800, @@ -6073,7 +5511,7 @@ ], [ 1790467200, - 0 + 1 ], [ 1791072000, @@ -6081,7 +5519,7 @@ ], [ 1791676800, - 0 + 2 ] ], "KYAPay": [ @@ -6299,311 +5737,6711 @@ "A2A": [ { "repo": "a2aproject/a2a-python", + "scope": "first-party", "stars": 2203, + "created": "2025-05-09", "pushed": "2026-10-16", "commits52w": 428, + "weeks": [ + [ + 1760832000, + 6 + ], + [ + 1761436800, + 1 + ], + [ + 1762041600, + 2 + ], + [ + 1762646400, + 6 + ], + [ + 1763251200, + 10 + ], + [ + 1763856000, + 8 + ], + [ + 1764460800, + 2 + ], + [ + 1765065600, + 4 + ], + [ + 1765670400, + 5 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 2 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 9 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 9 + ], + [ + 1770508800, + 11 + ], + [ + 1771113600, + 13 + ], + [ + 1771718400, + 12 + ], + [ + 1772323200, + 24 + ], + [ + 1772928000, + 38 + ], + [ + 1773532800, + 27 + ], + [ + 1774137600, + 20 + ], + [ + 1774742400, + 14 + ], + [ + 1775347200, + 25 + ], + [ + 1775952000, + 17 + ], + [ + 1776556800, + 25 + ], + [ + 1777161600, + 7 + ], + [ + 1777766400, + 10 + ], + [ + 1778371200, + 7 + ], + [ + 1778976000, + 6 + ], + [ + 1779580800, + 9 + ], + [ + 1780185600, + 3 + ], + [ + 1780790400, + 4 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 5 + ], + [ + 1785024000, + 4 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 1 + ], + [ + 1786838400, + 5 + ], + [ + 1787443200, + 6 + ], + [ + 1788048000, + 4 + ], + [ + 1788652800, + 5 + ], + [ + 1789257600, + 9 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 24 + ], + [ + 1791072000, + 9 + ], + [ + 1791676800, + 6 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-js", + "scope": "first-party", "stars": 643, + "created": "2025-05-27", "pushed": "2026-10-15", "commits52w": 352, + "weeks": [ + [ + 1760832000, + 1 + ], + [ + 1761436800, + 9 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 1 + ], + [ + 1763251200, + 8 + ], + [ + 1763856000, + 13 + ], + [ + 1764460800, + 12 + ], + [ + 1765065600, + 21 + ], + [ + 1765670400, + 15 + ], + [ + 1766275200, + 3 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 2 + ], + [ + 1768089600, + 11 + ], + [ + 1768694400, + 10 + ], + [ + 1769299200, + 3 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 5 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 4 + ], + [ + 1772928000, + 8 + ], + [ + 1773532800, + 11 + ], + [ + 1774137600, + 3 + ], + [ + 1774742400, + 3 + ], + [ + 1775347200, + 9 + ], + [ + 1775952000, + 4 + ], + [ + 1776556800, + 9 + ], + [ + 1777161600, + 8 + ], + [ + 1777766400, + 9 + ], + [ + 1778371200, + 16 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 3 + ], + [ + 1780790400, + 6 + ], + [ + 1781395200, + 6 + ], + [ + 1782000000, + 10 + ], + [ + 1782604800, + 12 + ], + [ + 1783209600, + 7 + ], + [ + 1783814400, + 7 + ], + [ + 1784419200, + 7 + ], + [ + 1785024000, + 7 + ], + [ + 1785628800, + 5 + ], + [ + 1786233600, + 2 + ], + [ + 1786838400, + 7 + ], + [ + 1787443200, + 14 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 4 + ], + [ + 1789257600, + 15 + ], + [ + 1789862400, + 9 + ], + [ + 1790467200, + 5 + ], + [ + 1791072000, + 10 + ], + [ + 1791676800, + 4 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-java", + "scope": "first-party", "stars": 505, + "created": "2025-05-02", "pushed": "2026-10-15", "commits52w": 479, + "weeks": [ + [ + 1760832000, + 8 + ], + [ + 1761436800, + 17 + ], + [ + 1762041600, + 9 + ], + [ + 1762646400, + 4 + ], + [ + 1763251200, + 9 + ], + [ + 1763856000, + 2 + ], + [ + 1764460800, + 3 + ], + [ + 1765065600, + 13 + ], + [ + 1765670400, + 11 + ], + [ + 1766275200, + 2 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 12 + ], + [ + 1768089600, + 7 + ], + [ + 1768694400, + 6 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 12 + ], + [ + 1770508800, + 14 + ], + [ + 1771113600, + 16 + ], + [ + 1771718400, + 3 + ], + [ + 1772323200, + 10 + ], + [ + 1772928000, + 21 + ], + [ + 1773532800, + 10 + ], + [ + 1774137600, + 4 + ], + [ + 1774742400, + 4 + ], + [ + 1775347200, + 6 + ], + [ + 1775952000, + 7 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 26 + ], + [ + 1777766400, + 6 + ], + [ + 1778371200, + 20 + ], + [ + 1778976000, + 7 + ], + [ + 1779580800, + 6 + ], + [ + 1780185600, + 9 + ], + [ + 1780790400, + 13 + ], + [ + 1781395200, + 9 + ], + [ + 1782000000, + 3 + ], + [ + 1782604800, + 13 + ], + [ + 1783209600, + 4 + ], + [ + 1783814400, + 1 + ], + [ + 1784419200, + 11 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 19 + ], + [ + 1786233600, + 26 + ], + [ + 1786838400, + 13 + ], + [ + 1787443200, + 18 + ], + [ + 1788048000, + 15 + ], + [ + 1788652800, + 11 + ], + [ + 1789257600, + 7 + ], + [ + 1789862400, + 12 + ], + [ + 1790467200, + 6 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 3 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-go", + "scope": "first-party", "stars": 487, + "created": "2025-05-30", "pushed": "2026-10-15", "commits52w": 252, + "weeks": [ + [ + 1760832000, + 6 + ], + [ + 1761436800, + 12 + ], + [ + 1762041600, + 7 + ], + [ + 1762646400, + 7 + ], + [ + 1763251200, + 2 + ], + [ + 1763856000, + 6 + ], + [ + 1764460800, + 2 + ], + [ + 1765065600, + 4 + ], + [ + 1765670400, + 6 + ], + [ + 1766275200, + 4 + ], + [ + 1766880000, + 1 + ], + [ + 1767484800, + 4 + ], + [ + 1768089600, + 10 + ], + [ + 1768694400, + 14 + ], + [ + 1769299200, + 14 + ], + [ + 1769904000, + 3 + ], + [ + 1770508800, + 5 + ], + [ + 1771113600, + 8 + ], + [ + 1771718400, + 18 + ], + [ + 1772323200, + 4 + ], + [ + 1772928000, + 10 + ], + [ + 1773532800, + 13 + ], + [ + 1774137600, + 7 + ], + [ + 1774742400, + 5 + ], + [ + 1775347200, + 5 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 6 + ], + [ + 1777766400, + 2 + ], + [ + 1778371200, + 8 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 2 + ], + [ + 1782000000, + 2 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 4 + ], + [ + 1784419200, + 3 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 1 + ], + [ + 1786233600, + 4 + ], + [ + 1786838400, + 12 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 10 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 4 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-dotnet", + "scope": "first-party", "stars": 267, + "created": "2025-05-29", "pushed": "2026-10-15", "commits52w": 235, + "weeks": [ + [ + 1760832000, + 2 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 10 + ], + [ + 1762646400, + 2 + ], + [ + 1763251200, + 7 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 11 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 13 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 1 + ], + [ + 1768694400, + 1 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 13 + ], + [ + 1771718400, + 11 + ], + [ + 1772323200, + 2 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 11 + ], + [ + 1774137600, + 13 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 10 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 25 + ], + [ + 1780790400, + 11 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 18 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 27 + ], + [ + 1789257600, + 7 + ], + [ + 1789862400, + 4 + ], + [ + 1790467200, + 2 + ], + [ + 1791072000, + 22 + ], + [ + 1791676800, + 10 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-rs", + "scope": "first-party", "stars": 94, + "created": "2026-04-03", "pushed": "2026-10-16", - "commits52w": 248, + "commits52w": null, + "weeks": null, "archived": false }, { "repo": "a2aproject/a2a-samples", + "scope": "first-party", "stars": 1799, + "created": "2025-05-27", "pushed": "2026-09-30", "commits52w": 49, + "weeks": [ + [ + 1760832000, + 2 + ], + [ + 1761436800, + 2 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 2 + ], + [ + 1763251200, + 1 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 1 + ], + [ + 1766275200, + 2 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 3 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 3 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 1 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 2 + ], + [ + 1783209600, + 4 + ], + [ + 1783814400, + 2 + ], + [ + 1784419200, + 8 + ], + [ + 1785024000, + 4 + ], + [ + 1785628800, + 1 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "a2aproject/a2a-inspector", + "scope": "first-party", "stars": 501, + "created": "2025-06-10", "pushed": "2026-10-01", "commits52w": 17, + "weeks": [ + [ + 1760832000, + 2 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 5 + ], + [ + 1763251200, + 2 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 7 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false } ], "MCP": [ { "repo": "modelcontextprotocol/typescript-sdk", - "stars": 13590, + "scope": "first-party", + "stars": 13591, + "created": "2024-09-24", "pushed": "2026-10-14", "commits52w": 468, + "weeks": [ + [ + 1760832000, + 2 + ], + [ + 1761436800, + 4 + ], + [ + 1762041600, + 12 + ], + [ + 1762646400, + 7 + ], + [ + 1763251200, + 20 + ], + [ + 1763856000, + 18 + ], + [ + 1764460800, + 34 + ], + [ + 1765065600, + 8 + ], + [ + 1765670400, + 13 + ], + [ + 1766275200, + 1 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 6 + ], + [ + 1768089600, + 6 + ], + [ + 1768694400, + 12 + ], + [ + 1769299200, + 3 + ], + [ + 1769904000, + 14 + ], + [ + 1770508800, + 15 + ], + [ + 1771113600, + 8 + ], + [ + 1771718400, + 8 + ], + [ + 1772323200, + 11 + ], + [ + 1772928000, + 4 + ], + [ + 1773532800, + 1 + ], + [ + 1774137600, + 27 + ], + [ + 1774742400, + 33 + ], + [ + 1775347200, + 1 + ], + [ + 1775952000, + 7 + ], + [ + 1776556800, + 2 + ], + [ + 1777161600, + 12 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 1 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 9 + ], + [ + 1780790400, + 8 + ], + [ + 1781395200, + 5 + ], + [ + 1782000000, + 7 + ], + [ + 1782604800, + 38 + ], + [ + 1783209600, + 18 + ], + [ + 1783814400, + 9 + ], + [ + 1784419200, + 3 + ], + [ + 1785024000, + 7 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 1 + ], + [ + 1786838400, + 7 + ], + [ + 1787443200, + 2 + ], + [ + 1788048000, + 3 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 37 + ], + [ + 1791072000, + 6 + ], + [ + 1791676800, + 3 + ] + ], "archived": false }, { "repo": "modelcontextprotocol/python-sdk", + "scope": "first-party", "stars": 24593, + "created": "2024-09-24", "pushed": "2026-10-13", "commits52w": 474, + "weeks": [ + [ + 1760832000, + 7 + ], + [ + 1761436800, + 11 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 10 + ], + [ + 1763251200, + 6 + ], + [ + 1763856000, + 10 + ], + [ + 1764460800, + 9 + ], + [ + 1765065600, + 9 + ], + [ + 1765670400, + 8 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 2 + ], + [ + 1767484800, + 11 + ], + [ + 1768089600, + 30 + ], + [ + 1768694400, + 21 + ], + [ + 1769299200, + 8 + ], + [ + 1769904000, + 11 + ], + [ + 1770508800, + 12 + ], + [ + 1771113600, + 13 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 7 + ], + [ + 1772928000, + 6 + ], + [ + 1773532800, + 10 + ], + [ + 1774137600, + 4 + ], + [ + 1774742400, + 4 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 7 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 3 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 14 + ], + [ + 1780790400, + 8 + ], + [ + 1781395200, + 31 + ], + [ + 1782000000, + 32 + ], + [ + 1782604800, + 28 + ], + [ + 1783209600, + 8 + ], + [ + 1783814400, + 6 + ], + [ + 1784419200, + 9 + ], + [ + 1785024000, + 25 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 4 + ], + [ + 1786838400, + 13 + ], + [ + 1787443200, + 9 + ], + [ + 1788048000, + 12 + ], + [ + 1788652800, + 3 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 1 + ], + [ + 1790467200, + 29 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 8 + ] + ], "archived": false }, { "repo": "modelcontextprotocol/java-sdk", + "scope": "first-party", "stars": 3739, + "created": "2025-01-20", "pushed": "2026-10-15", "commits52w": 202, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 7 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 6 + ], + [ + 1763251200, + 6 + ], + [ + 1763856000, + 1 + ], + [ + 1764460800, + 1 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 2 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 4 + ], + [ + 1768089600, + 2 + ], + [ + 1768694400, + 1 + ], + [ + 1769299200, + 4 + ], + [ + 1769904000, + 6 + ], + [ + 1770508800, + 8 + ], + [ + 1771113600, + 29 + ], + [ + 1771718400, + 5 + ], + [ + 1772323200, + 9 + ], + [ + 1772928000, + 3 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 1 + ], + [ + 1774742400, + 7 + ], + [ + 1775347200, + 3 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 5 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 5 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 2 + ], + [ + 1780790400, + 7 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 7 + ], + [ + 1782604800, + 2 + ], + [ + 1783209600, + 6 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 3 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 6 + ], + [ + 1788048000, + 7 + ], + [ + 1788652800, + 3 + ], + [ + 1789257600, + 13 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 6 + ], + [ + 1791676800, + 9 + ] + ], "archived": false }, { "repo": "modelcontextprotocol/go-sdk", + "scope": "first-party", "stars": 5231, + "created": "2025-04-23", "pushed": "2026-10-16", - "commits52w": 366, + "commits52w": null, + "weeks": null, "archived": false }, { "repo": "modelcontextprotocol/csharp-sdk", + "scope": "first-party", "stars": 4587, + "created": "2025-03-10", "pushed": "2026-10-15", "commits52w": 456, + "weeks": [ + [ + 1760832000, + 8 + ], + [ + 1761436800, + 5 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 4 + ], + [ + 1763251200, + 26 + ], + [ + 1763856000, + 13 + ], + [ + 1764460800, + 17 + ], + [ + 1765065600, + 12 + ], + [ + 1765670400, + 12 + ], + [ + 1766275200, + 1 + ], + [ + 1766880000, + 1 + ], + [ + 1767484800, + 5 + ], + [ + 1768089600, + 10 + ], + [ + 1768694400, + 9 + ], + [ + 1769299200, + 27 + ], + [ + 1769904000, + 8 + ], + [ + 1770508800, + 8 + ], + [ + 1771113600, + 51 + ], + [ + 1771718400, + 39 + ], + [ + 1772323200, + 11 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 13 + ], + [ + 1774742400, + 12 + ], + [ + 1775347200, + 4 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 13 + ], + [ + 1777766400, + 8 + ], + [ + 1778371200, + 1 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 4 + ], + [ + 1780185600, + 17 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 5 + ], + [ + 1782000000, + 8 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 4 + ], + [ + 1783814400, + 8 + ], + [ + 1784419200, + 23 + ], + [ + 1785024000, + 25 + ], + [ + 1785628800, + 11 + ], + [ + 1786233600, + 8 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 2 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 2 + ] + ], "archived": false }, { "repo": "modelcontextprotocol/rust-sdk", + "scope": "first-party", "stars": 4018, + "created": "2025-02-18", "pushed": "2026-10-15", "commits52w": 479, + "weeks": [ + [ + 1760832000, + 4 + ], + [ + 1761436800, + 2 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 1 + ], + [ + 1763251200, + 8 + ], + [ + 1763856000, + 3 + ], + [ + 1764460800, + 7 + ], + [ + 1765065600, + 8 + ], + [ + 1765670400, + 6 + ], + [ + 1766275200, + 3 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 6 + ], + [ + 1768089600, + 15 + ], + [ + 1768694400, + 5 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 8 + ], + [ + 1770508800, + 12 + ], + [ + 1771113600, + 9 + ], + [ + 1771718400, + 19 + ], + [ + 1772323200, + 18 + ], + [ + 1772928000, + 15 + ], + [ + 1773532800, + 4 + ], + [ + 1774137600, + 12 + ], + [ + 1774742400, + 3 + ], + [ + 1775347200, + 13 + ], + [ + 1775952000, + 7 + ], + [ + 1776556800, + 6 + ], + [ + 1777161600, + 4 + ], + [ + 1777766400, + 5 + ], + [ + 1778371200, + 5 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 3 + ], + [ + 1780790400, + 6 + ], + [ + 1781395200, + 6 + ], + [ + 1782000000, + 19 + ], + [ + 1782604800, + 10 + ], + [ + 1783209600, + 16 + ], + [ + 1783814400, + 19 + ], + [ + 1784419200, + 27 + ], + [ + 1785024000, + 38 + ], + [ + 1785628800, + 16 + ], + [ + 1786233600, + 7 + ], + [ + 1786838400, + 10 + ], + [ + 1787443200, + 10 + ], + [ + 1788048000, + 7 + ], + [ + 1788652800, + 15 + ], + [ + 1789257600, + 11 + ], + [ + 1789862400, + 14 + ], + [ + 1790467200, + 6 + ], + [ + 1791072000, + 10 + ], + [ + 1791676800, + 9 + ] + ], "archived": false } ], "x402": [ - { - "repo": "google-agentic-commerce/a2a-x402", - "stars": 564, - "pushed": "2026-08-04", - "commits52w": 18, - "archived": false - }, { "repo": "x402-foundation/wg-identity", + "scope": "first-party", "stars": 4, + "created": "2026-08-03", "pushed": "2026-08-17", "commits52w": 13, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 11 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false + }, + { + "repo": "google-agentic-commerce/a2a-x402", + "scope": "community", + "stars": 564, + "created": "2025-06-10", + "pushed": "2026-08-04", + "commits52w": 18, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 3 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 1 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 7 + ], + [ + 1778976000, + 1 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false } ], "UCP": [ { "repo": "Universal-Commerce-Protocol/python-sdk", + "scope": "first-party", "stars": 89, + "created": "2026-01-06", "pushed": "2026-10-15", "commits52w": 57, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 1 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 1 + ], + [ + 1774742400, + 2 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 5 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 1 + ], + [ + 1785628800, + 4 + ], + [ + 1786233600, + 10 + ], + [ + 1786838400, + 3 + ], + [ + 1787443200, + 4 + ], + [ + 1788048000, + 6 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 1 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "Universal-Commerce-Protocol/js-sdk", + "scope": "first-party", "stars": 48, + "created": "2026-01-09", "pushed": "2026-10-15", "commits52w": 63, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 2 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 2 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 1 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 2 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 3 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 12 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 2 + ], + [ + 1788048000, + 6 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 8 + ], + [ + 1790467200, + 2 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "Universal-Commerce-Protocol/samples", + "scope": "first-party", "stars": 240, + "created": "2026-01-06", "pushed": "2026-10-16", "commits52w": 146, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 9 + ], + [ + 1768694400, + 4 + ], + [ + 1769299200, + 1 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 10 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 3 + ], + [ + 1776556800, + 13 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 5 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 8 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 3 + ], + [ + 1783814400, + 9 + ], + [ + 1784419200, + 8 + ], + [ + 1785024000, + 9 + ], + [ + 1785628800, + 8 + ], + [ + 1786233600, + 16 + ], + [ + 1786838400, + 7 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 14 + ], + [ + 1791072000, + 2 + ], + [ + 1791676800, + 4 + ] + ], "archived": false }, { "repo": "Universal-Commerce-Protocol/conformance", + "scope": "first-party", "stars": 29, + "created": "2026-01-06", "pushed": "2026-09-07", "commits52w": 63, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 5 + ], + [ + 1768694400, + 2 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 3 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 2 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 1 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 4 + ], + [ + 1784419200, + 12 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 13 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "Universal-Commerce-Protocol/ucp-schema", + "scope": "first-party", "stars": 11, + "created": "2026-01-28", "pushed": "2026-10-16", "commits52w": 55, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 5 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 4 + ], + [ + 1771113600, + 3 + ], + [ + 1771718400, + 3 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 2 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 3 + ], + [ + 1782000000, + 3 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 1 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 1 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 3 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 6 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 8 + ] + ], "archived": false } ], "MPP": [ { "repo": "tempoxyz/mpp-specs", + "scope": "first-party", "stars": 95, + "created": "2026-01-05", "pushed": "2026-10-15", "commits52w": 99, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 4 + ], + [ + 1774742400, + 3 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 11 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 5 + ], + [ + 1780790400, + 3 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 5 + ], + [ + 1782604800, + 5 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 3 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 6 + ], + [ + 1788048000, + 5 + ], + [ + 1788652800, + 7 + ], + [ + 1789257600, + 2 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 2 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 1 + ] + ], "archived": false } ], "L402": [ { "repo": "lightninglabs/L402", + "scope": "first-party", "stars": 91, + "created": "2020-02-07", "pushed": "2026-06-09", "commits52w": 12, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 9 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "lightninglabs/lightning-agent-tools", + "scope": "first-party", "stars": 60, + "created": "2026-02-06", "pushed": "2026-05-29", "commits52w": 45, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 39 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 5 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], "archived": false } ], "ANS": [ { "repo": "agentnameservice/ans-registry", + "scope": "first-party", "stars": 33, + "created": "2025-11-19", "pushed": "2026-10-15", "commits52w": 30, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 1 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 1 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 1 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 1 + ], + [ + 1774137600, + 3 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 6 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 3 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 1 + ] + ], "archived": false } ], "PAP": [ { "repo": "datalayer/personal-agent-protocol", + "scope": "community", "stars": 3, + "created": "2026-10-10", "pushed": "2026-10-14", "commits52w": 162, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 36 + ], + [ + 1791676800, + 126 + ] + ], "archived": false }, { "repo": "richardanaya/pi-poppy", + "scope": "community", "stars": 1, + "created": "2026-10-09", "pushed": "2026-10-10", "commits52w": 5, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 5 + ], + [ + 1791676800, + 0 + ] + ], "archived": false }, { "repo": "akshay5995/poppyseed", + "scope": "community", "stars": 0, + "created": "2026-10-10", "pushed": "2026-10-15", "commits52w": 9, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 8 + ] + ], "archived": false } ], "x401": [ { "repo": "proof/x401-node", + "scope": "first-party", "stars": 3, + "created": "2026-06-09", "pushed": "2026-10-14", "commits52w": 33, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 3 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 1 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 1 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 1 + ], + [ + 1790467200, + 4 + ], + [ + 1791072000, + 5 + ], + [ + 1791676800, + 1 + ] + ], "archived": false }, { "repo": "proof/x401-ruby", + "scope": "first-party", "stars": 0, + "created": "2026-10-05", "pushed": "2026-10-05", "commits52w": null, + "weeks": null, "archived": false } ], "KYAPay": [ { "repo": "skyfire-xyz/kyapay_a2a", + "scope": "first-party", "stars": 3, + "created": "2026-01-08", "pushed": "2026-10-06", "commits52w": 49, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 2 + ], + [ + 1770508800, + 1 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 2 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 2 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 2 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 5 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 2 + ], + [ + 1778371200, + 2 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 1 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 1 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 12 + ], + [ + 1791676800, + 0 + ] + ], "archived": false } + ] + }, + "downloads": { + "week_starts": [ + "2026-07-20", + "2026-07-27", + "2026-08-03", + "2026-08-10", + "2026-08-17", + "2026-08-24", + "2026-08-31", + "2026-09-07", + "2026-09-14", + "2026-09-21", + "2026-09-28", + "2026-10-05" ], - "cheqd": [ - { - "repo": "cheqd/sdk", - "stars": 8, - "pushed": "2026-06-17", - "commits52w": 66, - "archived": false + "by_protocol": { + "A2A": { + "npm": { + "package": "@a2a-js/sdk", + "weeks": [ + 1677660, + 1745409, + 1780854, + 1639387, + 2063326, + 2344232, + 2248896, + 2002171, + 2608743, + 3567655, + 4100684, + 4114624 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 14391706 + }, + "pypi": { + "package": "a2a-sdk", + "weeks": [ + 2825584, + 3211899, + 4217674, + 4888180, + 4328748, + 2151289, + 2112024, + 2279504, + 2532099, + 3086909, + 2796262, + 2726724 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 11141994 + }, + "crates": { + "package": "a2a-lf", + "weeks": [ + 2306, + 1571, + 2908, + 3935, + 2265, + 3642, + 5180, + 8224, + 6799, + 5315, + 14665, + 28692 + ], + "scope": "first-party", + "candidates": 2, + "monthly": 55471 + } }, - { - "repo": "cheqd/did-provider-cheqd", - "stars": 8, - "pushed": "2026-03-23", - "commits52w": 56, - "archived": false + "MCP": { + "npm": { + "package": "@modelcontextprotocol/sdk", + "weeks": [ + 45858002, + 53304972, + 51726406, + 43762222, + 50577978, + 52304301, + 47896904, + 40994402, + 49993981, + 64725178, + 76226448, + 65446130 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 256391737 + }, + "pypi": { + "package": "mcp", + "weeks": [ + 69502771, + 87149707, + 83116411, + 88091190, + 83608495, + 48638168, + 47870020, + 52216597, + 54216448, + 53929472, + 59791459, + 61275340 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 229212719 + }, + "crates": { + "package": "rmcp", + "weeks": [ + 954070, + 1039624, + 1003817, + 1144365, + 1148764, + 1357628, + 1567900, + 1553258, + 1690809, + 1871088, + 2347609, + 2639465 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 8548971 + } + }, + "x402": { + "npm": { + "package": "x402", + "weeks": [ + 340362, + 355774, + 349047, + 303022, + 373982, + 390116, + 353112, + 313028, + 396646, + 466468, + 541785, + 467272 + ], + "scope": "first-party", + "candidates": 5, + "monthly": 1872171 + }, + "pypi": { + "package": "x402", + "weeks": [ + 46910, + 41620, + 44648, + 43666, + 43654, + 39308, + 37251, + 43385, + 41913, + 48463, + 58409, + 74368 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 223153 + } + }, + "UCP": { + "npm": { + "package": "@ucp-js/sdk", + "weeks": [ + 2347, + 5873, + 6433, + 5053, + 5189, + 7945, + 7458, + 6169, + 7341, + 11462, + 18459, + 12820 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 50082 + }, + "pypi": { + "package": "ucp-sdk", + "weeks": [ + 911, + 1401, + 2863, + 1863, + 2074, + 1778, + 1651, + 2722, + 1827, + 1817, + 1923, + 1632 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 7199 + }, + "crates": { + "package": "ucp-schema", + "weeks": [ + 218, + 210, + 268, + 280, + 631, + 306, + 124, + 95, + 212, + 216, + 197, + 204 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 829 + } + }, + "MPP": { + "npm": { + "package": "mppx", + "weeks": [ + 54765, + 63887, + 77953, + 76790, + 122679, + 123889, + 110295, + 92947, + 117884, + 198055, + 324793, + 336249 + ], + "scope": "vendor (wevm)", + "candidates": 1, + "monthly": 976981 + }, + "pypi": { + "package": "pympp", + "weeks": [ + 6670, + 10112, + 12425, + 10513, + 8142, + 19666, + 11939, + 45774, + 263864, + 233302, + 352707, + 1117962 + ], + "scope": "first-party (Tempo)", + "candidates": 2, + "monthly": 1967835 + } + }, + "Web Bot Auth": { + "npm": { + "package": "web-bot-auth", + "weeks": [ + 24763, + 21941, + 26368, + 24165, + 90789, + 106258, + 105086, + 71501, + 165051, + 182304, + 179645, + 162458 + ], + "scope": "first-party", + "candidates": 3, + "monthly": 689458 + }, + "crates": { + "package": "web-bot-auth", + "weeks": [ + 16874, + 18280, + 17190, + 16887, + 15694, + 18044, + 20688, + 18558, + 20915, + 23983, + 19231, + 18130 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 82259 + } + }, + "KYA-OS": { + "npm": { + "package": "@kya-os/mcp", + "weeks": [ + 2221, + 1073, + 1024, + 1997, + 1947, + 2770, + 2081, + 1379, + 4004, + 18152, + 20250, + 11326 + ], + "scope": "first-party", + "candidates": 2, + "monthly": 53732 + } + }, + "x401": { + "npm": { + "package": "@proof.com/x401-node", + "weeks": [ + 155, + 319, + 98, + 63, + 70, + 96, + 55, + 53, + 33, + 128, + 299, + 269 + ], + "scope": "first-party", + "candidates": 1, + "monthly": 729 + } + }, + "PAP": { + "npm": { + "package": "@datalayer/personal-agent-protocol", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1991 + ], + "scope": "community", + "candidates": 2, + "monthly": 1991 + }, + "pypi": { + "package": "personal-agent-protocol", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1384 + ], + "scope": "community", + "candidates": 1, + "monthly": 1384 + } + }, + "L402": { + "npm": { + "package": "@lightninglabs/l402", + "weeks": [ + 3, + 1, + 3, + 3, + 3, + 6, + 4, + 1, + 6, + 41, + 8, + 49 + ], + "scope": "first-party", + "candidates": 2, + "monthly": 104 + }, + "pypi": { + "package": "l402", + "weeks": [ + 7, + 3, + 11, + 3, + 5, + 1, + 13, + 2, + 4, + 5, + 9, + 6 + ], + "scope": "community", + "candidates": 1, + "monthly": 24 + } + }, + "ACP": { + "npm": { + "package": "agentic-commerce-protocol", + "weeks": [ + 13, + 3, + 11, + 15, + 5, + 10, + 5, + 11, + 9, + 15, + 13, + 10 + ], + "scope": "vendor (Svix)", + "candidates": 1, + "monthly": 47 + }, + "pypi": { + "package": "agentic-commerce-protocol", + "weeks": [ + 7, + 10, + 8, + 4, + 6, + 14, + 7, + 10, + 15, + 13, + 11, + 11 + ], + "scope": "vendor (Svix)", + "candidates": 1, + "monthly": 50 + } + }, + "KYAPay": { + "npm": { + "package": "@skyfire-xyz/skyfire-seller-sdk-node", + "weeks": [ + 3, + 12, + 309, + 32, + 15, + 15, + 19, + 12, + 7, + 16, + 5, + 24 + ], + "scope": "vendor (Skyfire)", + "candidates": 1, + "monthly": 52 + } } - ] - }, - "other_packages": [ - { - "protocol": "MCP", - "package": "mcp", - "registry": "PyPI", - "monthly": 235193557 - }, - { - "protocol": "A2A", - "package": "a2a-sdk", - "registry": "PyPI", - "monthly": 11359775 - }, - { - "protocol": "x402", - "package": "@x402/core", - "registry": "npm", - "monthly": 1507084 - }, - { - "protocol": "x402", - "package": "@x402/fetch", - "registry": "npm", - "monthly": 552054 - }, - { - "protocol": "x402", - "package": "x402", - "registry": "PyPI", - "monthly": 204765 - }, - { - "protocol": "UCP", - "package": "ucp-sdk", - "registry": "PyPI", - "monthly": 8621 - }, - { - "protocol": "KYA-OS", - "package": "@kya-os/mcp-i", - "registry": "npm", - "monthly": 16007 - }, - { - "protocol": "cheqd", - "package": "@cheqd/sdk", - "registry": "npm", - "monthly": 3440 }, - { - "protocol": "cheqd", - "package": "@cheqd/did-provider-cheqd", - "registry": "npm", - "monthly": 864 + "no_package": { + "AP2": "The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found", + "TAP": "No package found on npm, PyPI or crates.io", + "ANS": "No package found on npm, PyPI or crates.io (Go reference implementation)" } - ] + } } \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/downloads-all-registries.svg b/docs/research/tools/capability-map/traction/downloads-all-registries.svg new file mode 100644 index 0000000..bb53e6f --- /dev/null +++ b/docs/research/tools/capability-map/traction/downloads-all-registries.svg @@ -0,0 +1,17 @@ +Weekly package downloads for each protocol across npm, PyPI and crates.ioSmall multiples, one panel per protocol. MCP 129.4M in the latest week; A2A 6.9M in the latest week; MPP 1.5M in the latest week; x402 542K in the latest week; Web Bot Auth 181K in the latest week; UCP 15K in the latest week; KYA-OS 11K in the latest week; PAP 3.4K in the latest week; x401 269 in the latest week; L402 55 in the latest week; KYAPay 24 in the latest week; ACP 21 in the latest week; no data for Baselayer KYA, AP2, TAP, ANSWeekly package downloads for each protocol, across npm, PyPI and crates.io20 Jul to 11 Oct 2026. Each panel has its own scale, from 0 to its peak. The text under each panel gives the latest week by registry.Per registry, the most downloaded package is counted. † = community or vendor implementation, not the protocol's own. CI and mirrors are included.MCP129.4M a week141.5M0MCP: 116,314,843 downloads, week of 2026-07-20 (npm 45,858,002, pypi 69,502,771, crates 954,070)MCP: 141,494,303 downloads, week of 2026-07-27 (npm 53,304,972, pypi 87,149,707, crates 1,039,624)MCP: 135,846,634 downloads, week of 2026-08-03 (npm 51,726,406, pypi 83,116,411, crates 1,003,817)MCP: 132,997,777 downloads, week of 2026-08-10 (npm 43,762,222, pypi 88,091,190, crates 1,144,365)MCP: 135,335,237 downloads, week of 2026-08-17 (npm 50,577,978, pypi 83,608,495, crates 1,148,764)MCP: 102,300,097 downloads, week of 2026-08-24 (npm 52,304,301, pypi 48,638,168, crates 1,357,628)MCP: 97,334,824 downloads, week of 2026-08-31 (npm 47,896,904, pypi 47,870,020, crates 1,567,900)MCP: 94,764,257 downloads, week of 2026-09-07 (npm 40,994,402, pypi 52,216,597, crates 1,553,258)MCP: 105,901,238 downloads, week of 2026-09-14 (npm 49,993,981, pypi 54,216,448, crates 1,690,809)MCP: 120,525,738 downloads, week of 2026-09-21 (npm 64,725,178, pypi 53,929,472, crates 1,871,088)MCP: 138,365,516 downloads, week of 2026-09-28 (npm 76,226,448, pypi 59,791,459, crates 2,347,609)MCP: 129,360,935 downloads, week of 2026-10-05 (npm 65,446,130, pypi 61,275,340, crates 2,639,465)npm 65.4M · pypi 61.3M · crates 2.6MA2A6.9M a week6.9M0A2A: 4,505,550 downloads, week of 2026-07-20 (npm 1,677,660, pypi 2,825,584, crates 2,306)A2A: 4,958,879 downloads, week of 2026-07-27 (npm 1,745,409, pypi 3,211,899, crates 1,571)A2A: 6,001,436 downloads, week of 2026-08-03 (npm 1,780,854, pypi 4,217,674, crates 2,908)A2A: 6,531,502 downloads, week of 2026-08-10 (npm 1,639,387, pypi 4,888,180, crates 3,935)A2A: 6,394,339 downloads, week of 2026-08-17 (npm 2,063,326, pypi 4,328,748, crates 2,265)A2A: 4,499,163 downloads, week of 2026-08-24 (npm 2,344,232, pypi 2,151,289, crates 3,642)A2A: 4,366,100 downloads, week of 2026-08-31 (npm 2,248,896, pypi 2,112,024, crates 5,180)A2A: 4,289,899 downloads, week of 2026-09-07 (npm 2,002,171, pypi 2,279,504, crates 8,224)A2A: 5,147,641 downloads, week of 2026-09-14 (npm 2,608,743, pypi 2,532,099, crates 6,799)A2A: 6,659,879 downloads, week of 2026-09-21 (npm 3,567,655, pypi 3,086,909, crates 5,315)A2A: 6,911,611 downloads, week of 2026-09-28 (npm 4,100,684, pypi 2,796,262, crates 14,665)A2A: 6,870,040 downloads, week of 2026-10-05 (npm 4,114,624, pypi 2,726,724, crates 28,692)npm 4.1M · pypi 2.7M · crates 29KMPP1.5M a week1.5M0MPP: 61,435 downloads, week of 2026-07-20 (npm 54,765, pypi 6,670)MPP: 73,999 downloads, week of 2026-07-27 (npm 63,887, pypi 10,112)MPP: 90,378 downloads, week of 2026-08-03 (npm 77,953, pypi 12,425)MPP: 87,303 downloads, week of 2026-08-10 (npm 76,790, pypi 10,513)MPP: 130,821 downloads, week of 2026-08-17 (npm 122,679, pypi 8,142)MPP: 143,555 downloads, week of 2026-08-24 (npm 123,889, pypi 19,666)MPP: 122,234 downloads, week of 2026-08-31 (npm 110,295, pypi 11,939)MPP: 138,721 downloads, week of 2026-09-07 (npm 92,947, pypi 45,774)MPP: 381,748 downloads, week of 2026-09-14 (npm 117,884, pypi 263,864)MPP: 431,357 downloads, week of 2026-09-21 (npm 198,055, pypi 233,302)MPP: 677,500 downloads, week of 2026-09-28 (npm 324,793, pypi 352,707)MPP: 1,454,211 downloads, week of 2026-10-05 (npm 336,249, pypi 1,117,962)npm† 336K · pypi 1.1Mx402542K a week600K0x402: 387,272 downloads, week of 2026-07-20 (npm 340,362, pypi 46,910)x402: 397,394 downloads, week of 2026-07-27 (npm 355,774, pypi 41,620)x402: 393,695 downloads, week of 2026-08-03 (npm 349,047, pypi 44,648)x402: 346,688 downloads, week of 2026-08-10 (npm 303,022, pypi 43,666)x402: 417,636 downloads, week of 2026-08-17 (npm 373,982, pypi 43,654)x402: 429,424 downloads, week of 2026-08-24 (npm 390,116, pypi 39,308)x402: 390,363 downloads, week of 2026-08-31 (npm 353,112, pypi 37,251)x402: 356,413 downloads, week of 2026-09-07 (npm 313,028, pypi 43,385)x402: 438,559 downloads, week of 2026-09-14 (npm 396,646, pypi 41,913)x402: 514,931 downloads, week of 2026-09-21 (npm 466,468, pypi 48,463)x402: 600,194 downloads, week of 2026-09-28 (npm 541,785, pypi 58,409)x402: 541,640 downloads, week of 2026-10-05 (npm 467,272, pypi 74,368)npm 467K · pypi 74KWeb Bot Auth181K a week206K0Web Bot Auth: 41,637 downloads, week of 2026-07-20 (npm 24,763, crates 16,874)Web Bot Auth: 40,221 downloads, week of 2026-07-27 (npm 21,941, crates 18,280)Web Bot Auth: 43,558 downloads, week of 2026-08-03 (npm 26,368, crates 17,190)Web Bot Auth: 41,052 downloads, week of 2026-08-10 (npm 24,165, crates 16,887)Web Bot Auth: 106,483 downloads, week of 2026-08-17 (npm 90,789, crates 15,694)Web Bot Auth: 124,302 downloads, week of 2026-08-24 (npm 106,258, crates 18,044)Web Bot Auth: 125,774 downloads, week of 2026-08-31 (npm 105,086, crates 20,688)Web Bot Auth: 90,059 downloads, week of 2026-09-07 (npm 71,501, crates 18,558)Web Bot Auth: 185,966 downloads, week of 2026-09-14 (npm 165,051, crates 20,915)Web Bot Auth: 206,287 downloads, week of 2026-09-21 (npm 182,304, crates 23,983)Web Bot Auth: 198,876 downloads, week of 2026-09-28 (npm 179,645, crates 19,231)Web Bot Auth: 180,588 downloads, week of 2026-10-05 (npm 162,458, crates 18,130)npm 162K · crates 18KUCP15K a week21K0UCP: 3,476 downloads, week of 2026-07-20 (npm 2,347, pypi 911, crates 218)UCP: 7,484 downloads, week of 2026-07-27 (npm 5,873, pypi 1,401, crates 210)UCP: 9,564 downloads, week of 2026-08-03 (npm 6,433, pypi 2,863, crates 268)UCP: 7,196 downloads, week of 2026-08-10 (npm 5,053, pypi 1,863, crates 280)UCP: 7,894 downloads, week of 2026-08-17 (npm 5,189, pypi 2,074, crates 631)UCP: 10,029 downloads, week of 2026-08-24 (npm 7,945, pypi 1,778, crates 306)UCP: 9,233 downloads, week of 2026-08-31 (npm 7,458, pypi 1,651, crates 124)UCP: 8,986 downloads, week of 2026-09-07 (npm 6,169, pypi 2,722, crates 95)UCP: 9,380 downloads, week of 2026-09-14 (npm 7,341, pypi 1,827, crates 212)UCP: 13,495 downloads, week of 2026-09-21 (npm 11,462, pypi 1,817, crates 216)UCP: 20,579 downloads, week of 2026-09-28 (npm 18,459, pypi 1,923, crates 197)UCP: 14,656 downloads, week of 2026-10-05 (npm 12,820, pypi 1,632, crates 204)npm 13K · pypi 1.6K · crates 204KYA-OS11K a week20K0KYA-OS: 2,221 downloads, week of 2026-07-20 (npm 2,221)KYA-OS: 1,073 downloads, week of 2026-07-27 (npm 1,073)KYA-OS: 1,024 downloads, week of 2026-08-03 (npm 1,024)KYA-OS: 1,997 downloads, week of 2026-08-10 (npm 1,997)KYA-OS: 1,947 downloads, week of 2026-08-17 (npm 1,947)KYA-OS: 2,770 downloads, week of 2026-08-24 (npm 2,770)KYA-OS: 2,081 downloads, week of 2026-08-31 (npm 2,081)KYA-OS: 1,379 downloads, week of 2026-09-07 (npm 1,379)KYA-OS: 4,004 downloads, week of 2026-09-14 (npm 4,004)KYA-OS: 18,152 downloads, week of 2026-09-21 (npm 18,152)KYA-OS: 20,250 downloads, week of 2026-09-28 (npm 20,250)KYA-OS: 11,326 downloads, week of 2026-10-05 (npm 11,326)npm 11KPAP3.4K a week3.4K0not published yetPAP: 0 downloads, week of 2026-07-20 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-07-27 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-08-03 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-08-10 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-08-17 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-08-24 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-08-31 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-09-07 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-09-14 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-09-21 (npm 0, pypi 0)PAP: 0 downloads, week of 2026-09-28 (npm 0, pypi 0)PAP: 3,375 downloads, week of 2026-10-05 (npm 1,991, pypi 1,384)npm† 2K · pypi† 1.4Kx401269 a week3190x401: 155 downloads, week of 2026-07-20 (npm 155)x401: 319 downloads, week of 2026-07-27 (npm 319)x401: 98 downloads, week of 2026-08-03 (npm 98)x401: 63 downloads, week of 2026-08-10 (npm 63)x401: 70 downloads, week of 2026-08-17 (npm 70)x401: 96 downloads, week of 2026-08-24 (npm 96)x401: 55 downloads, week of 2026-08-31 (npm 55)x401: 53 downloads, week of 2026-09-07 (npm 53)x401: 33 downloads, week of 2026-09-14 (npm 33)x401: 128 downloads, week of 2026-09-21 (npm 128)x401: 299 downloads, week of 2026-09-28 (npm 299)x401: 269 downloads, week of 2026-10-05 (npm 269)npm 269L40255 a week550L402: 10 downloads, week of 2026-07-20 (npm 3, pypi 7)L402: 4 downloads, week of 2026-07-27 (npm 1, pypi 3)L402: 14 downloads, week of 2026-08-03 (npm 3, pypi 11)L402: 6 downloads, week of 2026-08-10 (npm 3, pypi 3)L402: 8 downloads, week of 2026-08-17 (npm 3, pypi 5)L402: 7 downloads, week of 2026-08-24 (npm 6, pypi 1)L402: 17 downloads, week of 2026-08-31 (npm 4, pypi 13)L402: 3 downloads, week of 2026-09-07 (npm 1, pypi 2)L402: 10 downloads, week of 2026-09-14 (npm 6, pypi 4)L402: 46 downloads, week of 2026-09-21 (npm 41, pypi 5)L402: 17 downloads, week of 2026-09-28 (npm 8, pypi 9)L402: 55 downloads, week of 2026-10-05 (npm 49, pypi 6)npm 49 · pypi† 6KYAPay24 a week3090KYAPay: 3 downloads, week of 2026-07-20 (npm 3)KYAPay: 12 downloads, week of 2026-07-27 (npm 12)KYAPay: 309 downloads, week of 2026-08-03 (npm 309)KYAPay: 32 downloads, week of 2026-08-10 (npm 32)KYAPay: 15 downloads, week of 2026-08-17 (npm 15)KYAPay: 15 downloads, week of 2026-08-24 (npm 15)KYAPay: 19 downloads, week of 2026-08-31 (npm 19)KYAPay: 12 downloads, week of 2026-09-07 (npm 12)KYAPay: 7 downloads, week of 2026-09-14 (npm 7)KYAPay: 16 downloads, week of 2026-09-21 (npm 16)KYAPay: 5 downloads, week of 2026-09-28 (npm 5)KYAPay: 24 downloads, week of 2026-10-05 (npm 24)npm† 24ACP21 a week280ACP: 20 downloads, week of 2026-07-20 (npm 13, pypi 7)ACP: 13 downloads, week of 2026-07-27 (npm 3, pypi 10)ACP: 19 downloads, week of 2026-08-03 (npm 11, pypi 8)ACP: 19 downloads, week of 2026-08-10 (npm 15, pypi 4)ACP: 11 downloads, week of 2026-08-17 (npm 5, pypi 6)ACP: 24 downloads, week of 2026-08-24 (npm 10, pypi 14)ACP: 12 downloads, week of 2026-08-31 (npm 5, pypi 7)ACP: 21 downloads, week of 2026-09-07 (npm 11, pypi 10)ACP: 24 downloads, week of 2026-09-14 (npm 9, pypi 15)ACP: 28 downloads, week of 2026-09-21 (npm 15, pypi 13)ACP: 24 downloads, week of 2026-09-28 (npm 13, pypi 11)ACP: 21 downloads, week of 2026-10-05 (npm 10, pypi 11)npm† 10 · pypi† 11Baselayer KYANo dataclosed product, no packageAP2No datano package foundTAPNo datano package foundANSNo datano package foundNot covered by this chartProtocols with no dataBaselayer KYA: closed commercial product: no public repository or package.AP2: The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found.TAP: No package found on npm, PyPI or crates.io.ANS: No package found on npm, PyPI or crates.io (Go reference implementation).Other packages of the same registry, not added (a package and its dependencies would be counted twice)A2A (crates): a2a-pbx402 (npm): @x402/core, @x402/extensions, @x402/fetch, @x402/mcpMPP (pypi): pytempoWeb Bot Auth (npm): http-message-sig, jsonwebkey-thumbprintKYA-OS (npm): @kya-os/mcp-iPAP (npm): poppyseedL402 (npm): @lightninglabs/lightning-mcp-serverNot measuredMaven, NuGet, Go modules, RubyGems, container pulls, and copies installed without a registry.Each registry gives a different history, so every panel covers the same 12 weeks. \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/fetch.py b/docs/research/tools/capability-map/traction/fetch.py index 273e5fe..20c5eb0 100644 --- a/docs/research/tools/capability-map/traction/fetch.py +++ b/docs/research/tools/capability-map/traction/fetch.py @@ -12,34 +12,57 @@ 'ACP': 'agentic-commerce-protocol/agentic-commerce-protocol', 'TAP': 'visa/trusted-agent-protocol', 'MPP': 'wevm/mppx', 'L402': 'lightninglabs/aperture', 'Web Bot Auth': 'cloudflare/web-bot-auth', 'ANS': 'agentnameservice/ans', 'x401': 'proof/x401', 'KYA-OS': 'decentralized-identity/kya-os-mcp', - 'PAP': 'personal-agent-protocol/personal-agent-protocol', 'KYAPay': 'skyfire-xyz/kyapay', - 'cheqd': 'cheqd/did-resolver'} + 'PAP': 'personal-agent-protocol/personal-agent-protocol', 'KYAPay': 'skyfire-xyz/kyapay'} NPM = {'MCP': '@modelcontextprotocol/sdk', 'A2A': '@a2a-js/sdk', 'x402': 'x402', 'MPP': 'mppx', - 'Web Bot Auth': 'web-bot-auth', 'UCP': '@ucp-js/sdk', 'KYA-OS': '@kya-os/mcp', 'x401': '@proof.com/x401-node', - 'cheqd': '@cheqd/sdk'} + 'Web Bot Auth': 'web-bot-auth', 'UCP': '@ucp-js/sdk', 'KYA-OS': '@kya-os/mcp', 'x401': '@proof.com/x401-node'} # Other repositories and packages for each protocol. They are not charted as series, but each chart lists them # under "Not covered by this chart" so the single repository or package plotted is not mistaken for the whole ecosystem. +# 'first-party' repositories belong to the protocol's own organisation (or its named steward) and are added to the +# protocol's commit series. 'community' repositories are third-party implementations: listed, not aggregated. +FP, CM = 'first-party', 'community' OTHERS = { - 'A2A': ['a2aproject/a2a-python', 'a2aproject/a2a-js', 'a2aproject/a2a-java', 'a2aproject/a2a-go', 'a2aproject/a2a-dotnet', - 'a2aproject/a2a-rs', 'a2aproject/a2a-samples', 'a2aproject/a2a-inspector'], - 'MCP': ['modelcontextprotocol/typescript-sdk', 'modelcontextprotocol/python-sdk', 'modelcontextprotocol/java-sdk', - 'modelcontextprotocol/go-sdk', 'modelcontextprotocol/csharp-sdk', 'modelcontextprotocol/rust-sdk'], - 'x402': ['google-agentic-commerce/a2a-x402', 'x402-foundation/wg-identity'], - 'UCP': ['Universal-Commerce-Protocol/python-sdk', 'Universal-Commerce-Protocol/js-sdk', 'Universal-Commerce-Protocol/samples', - 'Universal-Commerce-Protocol/conformance', 'Universal-Commerce-Protocol/ucp-schema'], - 'MPP': ['tempoxyz/mpp-specs'], - 'L402': ['lightninglabs/L402', 'lightninglabs/lightning-agent-tools'], - 'ANS': ['agentnameservice/ans-registry'], - 'PAP': ['datalayer/personal-agent-protocol', 'richardanaya/pi-poppy', 'akshay5995/poppyseed'], - 'x401': ['proof/x401-node', 'proof/x401-ruby'], - 'KYAPay': ['skyfire-xyz/kyapay_a2a'], - 'cheqd': ['cheqd/sdk', 'cheqd/did-provider-cheqd'], + 'A2A': [('a2aproject/a2a-python', FP), ('a2aproject/a2a-js', FP), ('a2aproject/a2a-java', FP), ('a2aproject/a2a-go', FP), + ('a2aproject/a2a-dotnet', FP), ('a2aproject/a2a-rs', FP), ('a2aproject/a2a-samples', FP), ('a2aproject/a2a-inspector', FP)], + 'MCP': [('modelcontextprotocol/typescript-sdk', FP), ('modelcontextprotocol/python-sdk', FP), ('modelcontextprotocol/java-sdk', FP), + ('modelcontextprotocol/go-sdk', FP), ('modelcontextprotocol/csharp-sdk', FP), ('modelcontextprotocol/rust-sdk', FP)], + 'x402': [('x402-foundation/wg-identity', FP), ('google-agentic-commerce/a2a-x402', CM)], + 'UCP': [('Universal-Commerce-Protocol/python-sdk', FP), ('Universal-Commerce-Protocol/js-sdk', FP), + ('Universal-Commerce-Protocol/samples', FP), ('Universal-Commerce-Protocol/conformance', FP), + ('Universal-Commerce-Protocol/ucp-schema', FP)], + 'MPP': [('tempoxyz/mpp-specs', FP)], + 'L402': [('lightninglabs/L402', FP), ('lightninglabs/lightning-agent-tools', FP)], + 'ANS': [('agentnameservice/ans-registry', FP)], + 'PAP': [('datalayer/personal-agent-protocol', CM), ('richardanaya/pi-poppy', CM), ('akshay5995/poppyseed', CM)], + 'x401': [('proof/x401-node', FP), ('proof/x401-ruby', FP)], + 'KYAPay': [('skyfire-xyz/kyapay_a2a', FP)], } -OTHER_PACKAGES = [('MCP', 'mcp', 'PyPI'), ('A2A', 'a2a-sdk', 'PyPI'), ('x402', '@x402/core', 'npm'), ('x402', '@x402/fetch', 'npm'), - ('x402', 'x402', 'PyPI'), ('UCP', 'ucp-sdk', 'PyPI'), ('KYA-OS', '@kya-os/mcp-i', 'npm'), - ('cheqd', '@cheqd/sdk', 'npm'), ('cheqd', '@cheqd/did-provider-cheqd', 'npm')] +# Packages per protocol and registry. For each registry the package with the most downloads in the last four weeks +# is charted (so a package and its dependencies are not both counted), and registries are added together. +# Scope: first-party = the protocol's own organisation; vendor = built by a named partner for the protocol; +# community = third-party implementation. +PACKAGES = { + 'A2A': {'npm': ['@a2a-js/sdk'], 'pypi': ['a2a-sdk'], 'crates': ['a2a-lf', 'a2a-pb']}, + 'MCP': {'npm': ['@modelcontextprotocol/sdk'], 'pypi': ['mcp'], 'crates': ['rmcp']}, + 'x402': {'npm': ['x402', '@x402/core', '@x402/extensions', '@x402/fetch', '@x402/mcp'], 'pypi': ['x402']}, + 'UCP': {'npm': ['@ucp-js/sdk'], 'pypi': ['ucp-sdk'], 'crates': ['ucp-schema']}, + 'MPP': {'npm': ['mppx'], 'pypi': ['pympp', 'pytempo']}, + 'Web Bot Auth': {'npm': ['web-bot-auth', 'http-message-sig', 'jsonwebkey-thumbprint'], 'crates': ['web-bot-auth']}, + 'KYA-OS': {'npm': ['@kya-os/mcp', '@kya-os/mcp-i']}, + 'x401': {'npm': ['@proof.com/x401-node']}, + 'PAP': {'npm': ['@datalayer/personal-agent-protocol', 'poppyseed'], 'pypi': ['personal-agent-protocol']}, + 'L402': {'npm': ['@lightninglabs/l402', '@lightninglabs/lightning-mcp-server'], 'pypi': ['l402']}, + 'ACP': {'npm': ['agentic-commerce-protocol'], 'pypi': ['agentic-commerce-protocol']}, + 'KYAPay': {'npm': ['@skyfire-xyz/skyfire-seller-sdk-node']}, +} +PACKAGE_SCOPE = {'poppyseed': 'community', '@datalayer/personal-agent-protocol': 'community', 'personal-agent-protocol': 'community', + 'l402': 'community', 'agentic-commerce-protocol': 'vendor (Svix)', '@skyfire-xyz/skyfire-seller-sdk-node': 'vendor (Skyfire)', + 'pympp': 'first-party (Tempo)', 'pytempo': 'first-party (Tempo)', 'mppx': 'vendor (wevm)'} +# Protocols where no package was found on npm, PyPI or crates.io, with what was checked. +NO_PACKAGE = {'AP2': 'The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found', + 'TAP': 'No package found on npm, PyPI or crates.io', + 'ANS': 'No package found on npm, PyPI or crates.io (Go reference implementation)'} def gh(path): @@ -71,35 +94,71 @@ def commits(): def others(): out = {} for proto, repos in OTHERS.items(): - for r in repos: + for r, scope in repos: j = gh(f'repos/{r}') if not j or 'stargazers_count' not in j: continue - c = None + weeks = None for _ in range(6): d = gh(f'repos/{r}/stats/commit_activity') if isinstance(d, list) and d: - c = sum(w['total'] for w in d) + weeks = [(w['week'], w['total']) for w in d] break time.sleep(3) - out.setdefault(proto, []).append(dict(repo=r, stars=j['stargazers_count'], pushed=j['pushed_at'][:10], - commits52w=c, archived=j['archived'])) + out.setdefault(proto, []).append(dict( + repo=r, scope=scope, stars=j['stargazers_count'], created=j['created_at'][:10], pushed=j['pushed_at'][:10], + commits52w=sum(v for _, v in weeks) if weeks else None, weeks=weeks, archived=j['archived'])) return out -def other_packages(): - out = [] - for proto, name, registry in OTHER_PACKAGES: - try: - if registry == 'npm': - u = 'https://api.npmjs.org/downloads/point/last-month/' + name.replace('/', '%2F') - n = json.load(urllib.request.urlopen(u, timeout=30))['downloads'] - else: - n = json.load(urllib.request.urlopen(f'https://pypistats.org/api/packages/{name}/recent', timeout=30))['data']['last_month'] - except Exception: - continue - out.append(dict(protocol=proto, package=name, registry=registry, monthly=n)) - return out +def _week_starts(n=12): + end = dt.date.today() - dt.timedelta(days=1) + end -= dt.timedelta(days=(end.weekday() + 1) % 7) # last Sunday on or before yesterday + return [end - dt.timedelta(days=7 * i + 6) for i in range(n - 1, -1, -1)] + + +def _daily(registry, name): + """Daily downloads for one package: {iso date: n}. npm 540 days, PyPI about 180, crates.io 90.""" + q = name.replace('/', '%2F') + try: + if registry == 'npm': + end = dt.date.today() - dt.timedelta(days=1) + u = f'https://api.npmjs.org/downloads/range/{end - dt.timedelta(days=120)}:{end}/{q}' + return {x['day']: x['downloads'] for x in json.load(urllib.request.urlopen(u, timeout=30))['downloads']} + if registry == 'pypi': + time.sleep(1.5) # pypistats rate-limits + r = urllib.request.Request(f'https://pypistats.org/api/packages/{name}/overall?mirrors=false', headers={'User-Agent': 'traction-script'}) + d = json.load(urllib.request.urlopen(r, timeout=30))['data'] + return {x['date']: x['downloads'] for x in d if x['category'] == 'without_mirrors'} + r = urllib.request.Request(f'https://crates.io/api/v1/crates/{name}/downloads', headers={'User-Agent': 'traction-script'}) + d = json.load(urllib.request.urlopen(r, timeout=30)) + days = {} + for x in d['version_downloads'] + d['meta']['extra_downloads']: + days[x['date']] = days.get(x['date'], 0) + x['downloads'] + return days + except Exception: + return None + + +def downloads(): + starts = _week_starts() + out = {} + for proto, regs in PACKAGES.items(): + out[proto] = {} + for registry, names in regs.items(): + best = None + for name in names: + days = _daily(registry, name) + if not days: + continue + weeks = [sum(days.get((w + dt.timedelta(days=i)).isoformat(), 0) for i in range(7)) for w in starts] + if best is None or sum(weeks[-4:]) > sum(best['weeks'][-4:]): + best = dict(package=name, weeks=weeks, scope=PACKAGE_SCOPE.get(name, 'first-party'), + candidates=len(names)) + if best: + best['monthly'] = sum(best['weeks'][-4:]) + out[proto][registry] = best + return dict(week_starts=[w.isoformat() for w in starts], by_protocol=out, no_package=NO_PACKAGE) def npm(): @@ -120,5 +179,5 @@ def npm(): if __name__ == '__main__': data = dict(collected=dt.date.today().isoformat(), repos=repos(), npm=npm(), commits=commits(), - others=others(), other_packages=other_packages()) + others=others(), downloads=downloads()) json.dump(data, open(sys.argv[1] if len(sys.argv) > 1 else 'data.json', 'w'), indent=1) diff --git a/docs/research/tools/capability-map/traction/github-stars.svg b/docs/research/tools/capability-map/traction/github-stars.svg index 512a2f2..0723de0 100644 --- a/docs/research/tools/capability-map/traction/github-stars.svg +++ b/docs/research/tools/capability-map/traction/github-stars.svg @@ -1,4 +1,4 @@ -GitHub stars on each protocol main repositoryDot plot on a log scale. A2A 26,176; MCP 9,458; x402 6,723; UCP 3,429; AP2 3,230; ACP 1,574; L402 271; TAP 213; MPP 186; Web Bot Auth 170; ANS 43; x401 42; KYA-OS 31; PAP 20; KYAPay 13; cheqd 12; Baselayer KYA has no data (closed product)GitHub stars on each protocol's main repositoryLog scale, 16 Oct 2026. Stars measure attention, not use. Star history over time was not available from the GitHub API here.Commits in the last 13 weeksNo commits in the last 13 weeks101001K10K100KA2AA2A (a2aproject/A2A): 26,177 stars, 2,676 forks, created 2025-03-25, last push 2026-10-1626,177 · created Mar 2025MCPMCP (modelcontextprotocol/modelcontextprotocol): 9,459 stars, 1,870 forks, created 2024-09-24, last push 2026-10-159,459 · created Sep 2024x402x402 (x402-foundation/x402): 6,723 stars, 2,193 forks, created 2025-02-21, last push 2026-10-156,723 · created Feb 2025UCPUCP (Universal-Commerce-Protocol/ucp): 3,430 stars, 480 forks, created 2025-12-31, last push 2026-10-163,430 · created Dec 2025AP2AP2 (google-agentic-commerce/AP2): 3,230 stars, 512 forks, created 2025-05-30, last push 2026-06-173,230 · created May 2025ACPACP (agentic-commerce-protocol/agentic-commerce-protocol): 1,574 stars, 255 forks, created 2025-09-29, last push 2026-07-181,574 · created Sep 2025L402*L402 (lightninglabs/aperture): 271 stars, 82 forks, created 2019-01-30, last push 2026-10-15271 · created Jan 2019TAPTAP (visa/trusted-agent-protocol): 213 stars, 45 forks, created 2025-10-10, last push 2025-10-28213 · created Oct 2025MPP*MPP (wevm/mppx): 186 stars, 71 forks, created 2026-01-21, last push 2026-10-16186 · created Jan 2026Web Bot Auth*Web Bot Auth (cloudflare/web-bot-auth): 170 stars, 43 forks, created 2025-04-14, last push 2026-10-12170 · created Apr 2025ANS*ANS (agentnameservice/ans): 43 stars, 6 forks, created 2026-05-06, last push 2026-10-1543 · created May 2026x401x401 (proof/x401): 42 stars, 5 forks, created 2026-05-07, last push 2026-10-0342 · created May 2026KYA-OSKYA-OS (decentralized-identity/kya-os-mcp): 31 stars, 13 forks, created 2026-03-10, last push 2026-10-1431 · created Mar 2026PAPPAP (personal-agent-protocol/personal-agent-protocol): 20 stars, 2 forks, created 2026-10-14, last push 2026-10-1520 · created Oct 2026KYAPayKYAPay (skyfire-xyz/kyapay): 13 stars, 0 forks, created 2025-06-25, last push 2026-09-1113 · created Jun 2025Baselayer KYANo data: closed commercial product, no public repository* Charted repository is an SDK or implementation, not the specification: MPP: wevm/mppx, the TypeScript SDK. The specification repository, tempoxyz/mpp-specs, is not charted. L402: lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted. ANS: agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository. Web Bot Auth: cloudflare/web-bot-auth, Cloudflare's implementation. The IETF draft is not charted.Not covered by this chartProtocols with no dataBaselayer KYA: closed commercial product, no public repository.Other repositories, with starsOne repository is charted per protocol. The MCP Python and TypeScript SDKs hold more stars than the specification repository charted.A2A: a2a-python 2,203, a2a-samples 1,799, a2a-js 643, a2a-java 505, a2a-inspector 501, a2a-go 487, a2a-dotnet 267, a2a-rs 94MCP: python-sdk 24,593, typescript-sdk 13,591, go-sdk 5,231, csharp-sdk 4,587, rust-sdk 4,018, java-sdk 3,739x402: a2a-x402 564, wg-identity 4UCP: samples 240, python-sdk 89, js-sdk 48, conformance 29, ucp-schema 11MPP: mpp-specs 95L402: L402 91, lightning-agent-tools 60ANS: ans-registry 33PAP: personal-agent-protocol 3, pi-poppy 1, poppyseed 0x401: x401-node 3, x401-ruby 0KYAPay: kyapay_a2a 3 \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/npm-downloads.svg b/docs/research/tools/capability-map/traction/npm-downloads.svg index 5515caf..d8979a4 100644 --- a/docs/research/tools/capability-map/traction/npm-downloads.svg +++ b/docs/research/tools/capability-map/traction/npm-downloads.svg @@ -1,4 +1,4 @@ -Weekly npm downloads of each protocol main SDKLine chart on a log scale. MCP 65.4M a week; A2A 4.1M a week; x402 467K a week; MPP 336K a week; Web Bot Auth 162K a week; UCP 13K a week; KYA-OS 11K a week; x401 269 a weekWeekly npm downloads of each protocol's main SDKLog scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.MCPA2Ax402MPPWeb Bot AuthUCPKYA-OSx401101001K10K100K1M10M100MJul 2025Oct 2025Jan 2026Apr 2026Jul 2026Oct 2026MCP: 1,704,250 downloads, week of 2025-04-28MCP: 5,882,627 downloads, week of 2025-05-05MCP: 6,771,246 downloads, week of 2025-05-12MCP: 3,970,444 downloads, week of 2025-05-19MCP: 3,427,259 downloads, week of 2025-05-26MCP: 3,693,137 downloads, week of 2025-06-02MCP: 3,739,115 downloads, week of 2025-06-09MCP: 3,786,513 downloads, week of 2025-06-16MCP: 4,572,284 downloads, week of 2025-06-23MCP: 4,302,895 downloads, week of 2025-06-30MCP: 4,688,219 downloads, week of 2025-07-07MCP: 4,869,306 downloads, week of 2025-07-14MCP: 4,972,294 downloads, week of 2025-07-21MCP: 5,166,233 downloads, week of 2025-07-28MCP: 5,334,719 downloads, week of 2025-08-04MCP: 5,477,491 downloads, week of 2025-08-11MCP: 5,967,446 downloads, week of 2025-08-18MCP: 6,258,674 downloads, week of 2025-08-25MCP: 6,148,731 downloads, week of 2025-09-01MCP: 7,070,825 downloads, week of 2025-09-08MCP: 7,577,753 downloads, week of 2025-09-15MCP: 7,912,134 downloads, week of 2025-09-22MCP: 7,103,166 downloads, week of 2025-09-29MCP: 7,577,764 downloads, week of 2025-10-06MCP: 7,785,299 downloads, week of 2025-10-13MCP: 7,432,517 downloads, week of 2025-10-20MCP: 7,492,803 downloads, week of 2025-10-27MCP: 8,268,710 downloads, week of 2025-11-03MCP: 8,366,207 downloads, week of 2025-11-10MCP: 8,862,994 downloads, week of 2025-11-17MCP: 8,455,287 downloads, week of 2025-11-24MCP: 10,097,151 downloads, week of 2025-12-01MCP: 9,610,527 downloads, week of 2025-12-08MCP: 9,572,497 downloads, week of 2025-12-15MCP: 6,249,212 downloads, week of 2025-12-22MCP: 5,908,452 downloads, week of 2025-12-29MCP: 10,568,289 downloads, week of 2026-01-05MCP: 11,741,892 downloads, week of 2026-01-12MCP: 12,547,111 downloads, week of 2026-01-19MCP: 13,512,432 downloads, week of 2026-01-26MCP: 15,155,352 downloads, week of 2026-02-02MCP: 17,140,844 downloads, week of 2026-02-09MCP: 16,466,834 downloads, week of 2026-02-16MCP: 23,439,991 downloads, week of 2026-02-23MCP: 23,554,430 downloads, week of 2026-03-02MCP: 23,414,101 downloads, week of 2026-03-09MCP: 35,212,352 downloads, week of 2026-03-16MCP: 47,897,910 downloads, week of 2026-03-23MCP: 29,494,024 downloads, week of 2026-03-30MCP: 31,229,653 downloads, week of 2026-04-06MCP: 32,657,595 downloads, week of 2026-04-13MCP: 33,448,235 downloads, week of 2026-04-20MCP: 33,981,895 downloads, week of 2026-04-27MCP: 35,180,418 downloads, week of 2026-05-04MCP: 35,990,764 downloads, week of 2026-05-11MCP: 36,986,756 downloads, week of 2026-05-18MCP: 34,533,515 downloads, week of 2026-05-25MCP: 30,321,409 downloads, week of 2026-06-01MCP: 39,200,500 downloads, week of 2026-06-08MCP: 39,623,830 downloads, week of 2026-06-15MCP: 40,893,994 downloads, week of 2026-06-22MCP: 42,848,083 downloads, week of 2026-06-29MCP: 39,011,117 downloads, week of 2026-07-06MCP: 43,340,138 downloads, week of 2026-07-13MCP: 45,858,002 downloads, week of 2026-07-20MCP: 53,304,972 downloads, week of 2026-07-27MCP: 51,726,406 downloads, week of 2026-08-03MCP: 43,762,222 downloads, week of 2026-08-10MCP: 50,577,978 downloads, week of 2026-08-17MCP: 52,304,301 downloads, week of 2026-08-24MCP: 47,896,904 downloads, week of 2026-08-31MCP: 40,994,402 downloads, week of 2026-09-07MCP: 49,993,981 downloads, week of 2026-09-14MCP: 64,725,178 downloads, week of 2026-09-21MCP: 76,226,448 downloads, week of 2026-09-28MCP: 65,446,130 downloads, week of 2026-10-05A2A: 92 downloads, week of 2025-06-09A2A: 375 downloads, week of 2025-06-16A2A: 725 downloads, week of 2025-06-23A2A: 9,867 downloads, week of 2025-06-30A2A: 2,156 downloads, week of 2025-07-07A2A: 1,803 downloads, week of 2025-07-14A2A: 1,786 downloads, week of 2025-07-21A2A: 3,118 downloads, week of 2025-07-28A2A: 48,648 downloads, week of 2025-08-04A2A: 25,879 downloads, week of 2025-08-11A2A: 42,234 downloads, week of 2025-08-18A2A: 71,080 downloads, week of 2025-08-25A2A: 86,254 downloads, week of 2025-09-01A2A: 121,234 downloads, week of 2025-09-08A2A: 157,299 downloads, week of 2025-09-15A2A: 132,974 downloads, week of 2025-09-22A2A: 147,770 downloads, week of 2025-09-29A2A: 177,413 downloads, week of 2025-10-06A2A: 193,871 downloads, week of 2025-10-13A2A: 203,870 downloads, week of 2025-10-20A2A: 271,913 downloads, week of 2025-10-27A2A: 265,941 downloads, week of 2025-11-03A2A: 246,951 downloads, week of 2025-11-10A2A: 279,526 downloads, week of 2025-11-17A2A: 270,724 downloads, week of 2025-11-24A2A: 318,828 downloads, week of 2025-12-01A2A: 317,400 downloads, week of 2025-12-08A2A: 311,925 downloads, week of 2025-12-15A2A: 169,135 downloads, week of 2025-12-22A2A: 148,073 downloads, week of 2025-12-29A2A: 290,241 downloads, week of 2026-01-05A2A: 574,238 downloads, week of 2026-01-12A2A: 771,006 downloads, week of 2026-01-19A2A: 775,752 downloads, week of 2026-01-26A2A: 956,901 downloads, week of 2026-02-02A2A: 899,354 downloads, week of 2026-02-09A2A: 849,941 downloads, week of 2026-02-16A2A: 950,128 downloads, week of 2026-02-23A2A: 985,967 downloads, week of 2026-03-02A2A: 1,205,070 downloads, week of 2026-03-09A2A: 1,314,597 downloads, week of 2026-03-16A2A: 1,157,510 downloads, week of 2026-03-23A2A: 969,546 downloads, week of 2026-03-30A2A: 843,515 downloads, week of 2026-04-06A2A: 1,044,101 downloads, week of 2026-04-13A2A: 1,043,058 downloads, week of 2026-04-20A2A: 980,667 downloads, week of 2026-04-27A2A: 1,075,008 downloads, week of 2026-05-04A2A: 1,140,552 downloads, week of 2026-05-11A2A: 1,200,623 downloads, week of 2026-05-18A2A: 1,152,294 downloads, week of 2026-05-25A2A: 797,447 downloads, week of 2026-06-01A2A: 1,131,057 downloads, week of 2026-06-08A2A: 1,414,086 downloads, week of 2026-06-15A2A: 1,160,828 downloads, week of 2026-06-22A2A: 1,351,640 downloads, week of 2026-06-29A2A: 1,393,475 downloads, week of 2026-07-06A2A: 1,648,949 downloads, week of 2026-07-13A2A: 1,677,660 downloads, week of 2026-07-20A2A: 1,745,409 downloads, week of 2026-07-27A2A: 1,780,854 downloads, week of 2026-08-03A2A: 1,639,387 downloads, week of 2026-08-10A2A: 2,063,326 downloads, week of 2026-08-17A2A: 2,344,232 downloads, week of 2026-08-24A2A: 2,248,896 downloads, week of 2026-08-31A2A: 2,002,171 downloads, week of 2026-09-07A2A: 2,608,743 downloads, week of 2026-09-14A2A: 3,567,655 downloads, week of 2026-09-21A2A: 4,100,684 downloads, week of 2026-09-28A2A: 4,114,624 downloads, week of 2026-10-05x402: 528 downloads, week of 2025-04-28x402: 1,461 downloads, week of 2025-05-05x402: 1,413 downloads, week of 2025-05-12x402: 741 downloads, week of 2025-05-19x402: 1,014 downloads, week of 2025-05-26x402: 1,378 downloads, week of 2025-06-02x402: 1,914 downloads, week of 2025-06-09x402: 3,298 downloads, week of 2025-06-16x402: 2,830 downloads, week of 2025-06-23x402: 2,527 downloads, week of 2025-06-30x402: 3,302 downloads, week of 2025-07-07x402: 3,578 downloads, week of 2025-07-14x402: 3,945 downloads, week of 2025-07-21x402: 3,549 downloads, week of 2025-07-28x402: 4,795 downloads, week of 2025-08-04x402: 7,142 downloads, week of 2025-08-11x402: 8,509 downloads, week of 2025-08-18x402: 8,438 downloads, week of 2025-08-25x402: 8,587 downloads, week of 2025-09-01x402: 7,144 downloads, week of 2025-09-08x402: 9,024 downloads, week of 2025-09-15x402: 14,468 downloads, week of 2025-09-22x402: 21,678 downloads, week of 2025-09-29x402: 27,614 downloads, week of 2025-10-06x402: 32,077 downloads, week of 2025-10-13x402: 32,252 downloads, week of 2025-10-20x402: 39,608 downloads, week of 2025-10-27x402: 35,436 downloads, week of 2025-11-03x402: 37,284 downloads, week of 2025-11-10x402: 44,081 downloads, week of 2025-11-17x402: 42,228 downloads, week of 2025-11-24x402: 57,078 downloads, week of 2025-12-01x402: 59,438 downloads, week of 2025-12-08x402: 62,949 downloads, week of 2025-12-15x402: 40,497 downloads, week of 2025-12-22x402: 38,902 downloads, week of 2025-12-29x402: 63,385 downloads, week of 2026-01-05x402: 73,663 downloads, week of 2026-01-12x402: 81,569 downloads, week of 2026-01-19x402: 85,547 downloads, week of 2026-01-26x402: 98,306 downloads, week of 2026-02-02x402: 94,137 downloads, week of 2026-02-09x402: 94,520 downloads, week of 2026-02-16x402: 117,093 downloads, week of 2026-02-23x402: 135,114 downloads, week of 2026-03-02x402: 147,979 downloads, week of 2026-03-09x402: 145,641 downloads, week of 2026-03-16x402: 144,064 downloads, week of 2026-03-23x402: 141,233 downloads, week of 2026-03-30x402: 155,807 downloads, week of 2026-04-06x402: 174,338 downloads, week of 2026-04-13x402: 173,676 downloads, week of 2026-04-20x402: 206,670 downloads, week of 2026-04-27x402: 220,266 downloads, week of 2026-05-04x402: 264,809 downloads, week of 2026-05-11x402: 245,192 downloads, week of 2026-05-18x402: 234,145 downloads, week of 2026-05-25x402: 256,725 downloads, week of 2026-06-01x402: 222,036 downloads, week of 2026-06-08x402: 284,656 downloads, week of 2026-06-15x402: 266,883 downloads, week of 2026-06-22x402: 245,941 downloads, week of 2026-06-29x402: 278,232 downloads, week of 2026-07-06x402: 333,198 downloads, week of 2026-07-13x402: 340,362 downloads, week of 2026-07-20x402: 355,774 downloads, week of 2026-07-27x402: 349,047 downloads, week of 2026-08-03x402: 303,022 downloads, week of 2026-08-10x402: 373,982 downloads, week of 2026-08-17x402: 390,116 downloads, week of 2026-08-24x402: 353,112 downloads, week of 2026-08-31x402: 313,028 downloads, week of 2026-09-07x402: 396,646 downloads, week of 2026-09-14x402: 466,468 downloads, week of 2026-09-21x402: 541,785 downloads, week of 2026-09-28x402: 467,272 downloads, week of 2026-10-05MPP: 317 downloads, week of 2026-02-09MPP: 2,651 downloads, week of 2026-02-16MPP: 1,382 downloads, week of 2026-02-23MPP: 4,633 downloads, week of 2026-03-02MPP: 18,511 downloads, week of 2026-03-09MPP: 12,539 downloads, week of 2026-03-16MPP: 14,154 downloads, week of 2026-03-23MPP: 17,929 downloads, week of 2026-03-30MPP: 24,647 downloads, week of 2026-04-06MPP: 29,753 downloads, week of 2026-04-13MPP: 37,763 downloads, week of 2026-04-20MPP: 42,758 downloads, week of 2026-04-27MPP: 51,165 downloads, week of 2026-05-04MPP: 54,174 downloads, week of 2026-05-11MPP: 45,435 downloads, week of 2026-05-18MPP: 55,118 downloads, week of 2026-05-25MPP: 37,414 downloads, week of 2026-06-01MPP: 42,305 downloads, week of 2026-06-08MPP: 53,373 downloads, week of 2026-06-15MPP: 44,250 downloads, week of 2026-06-22MPP: 44,787 downloads, week of 2026-06-29MPP: 47,164 downloads, week of 2026-07-06MPP: 54,938 downloads, week of 2026-07-13MPP: 54,765 downloads, week of 2026-07-20MPP: 63,887 downloads, week of 2026-07-27MPP: 77,953 downloads, week of 2026-08-03MPP: 76,790 downloads, week of 2026-08-10MPP: 122,679 downloads, week of 2026-08-17MPP: 123,889 downloads, week of 2026-08-24MPP: 110,295 downloads, week of 2026-08-31MPP: 92,947 downloads, week of 2026-09-07MPP: 117,884 downloads, week of 2026-09-14MPP: 198,055 downloads, week of 2026-09-21MPP: 324,793 downloads, week of 2026-09-28MPP: 336,249 downloads, week of 2026-10-05Web Bot Auth: 14 downloads, week of 2025-04-28Web Bot Auth: 50 downloads, week of 2025-05-05Web Bot Auth: 71 downloads, week of 2025-05-12Web Bot Auth: 17 downloads, week of 2025-05-19Web Bot Auth: 147 downloads, week of 2025-05-26Web Bot Auth: 36 downloads, week of 2025-06-02Web Bot Auth: 15 downloads, week of 2025-06-09Web Bot Auth: 105 downloads, week of 2025-06-16Web Bot Auth: 31 downloads, week of 2025-06-23Web Bot Auth: 91 downloads, week of 2025-06-30Web Bot Auth: 46 downloads, week of 2025-07-07Web Bot Auth: 46 downloads, week of 2025-07-14Web Bot Auth: 36 downloads, week of 2025-07-21Web Bot Auth: 68 downloads, week of 2025-07-28Web Bot Auth: 72 downloads, week of 2025-08-04Web Bot Auth: 88 downloads, week of 2025-08-11Web Bot Auth: 67 downloads, week of 2025-08-18Web Bot Auth: 68 downloads, week of 2025-08-25Web Bot Auth: 81 downloads, week of 2025-09-01Web Bot Auth: 112 downloads, week of 2025-09-08Web Bot Auth: 129 downloads, week of 2025-09-15Web Bot Auth: 128 downloads, week of 2025-09-22Web Bot Auth: 196 downloads, week of 2025-09-29Web Bot Auth: 183 downloads, week of 2025-10-06Web Bot Auth: 278 downloads, week of 2025-10-13Web Bot Auth: 245 downloads, week of 2025-10-20Web Bot Auth: 265 downloads, week of 2025-10-27Web Bot Auth: 737 downloads, week of 2025-11-03Web Bot Auth: 3,559 downloads, week of 2025-11-10Web Bot Auth: 459 downloads, week of 2025-11-17Web Bot Auth: 2,548 downloads, week of 2025-11-24Web Bot Auth: 2,407 downloads, week of 2025-12-01Web Bot Auth: 1,305 downloads, week of 2025-12-08Web Bot Auth: 1,067 downloads, week of 2025-12-15Web Bot Auth: 272 downloads, week of 2025-12-22Web Bot Auth: 559 downloads, week of 2025-12-29Web Bot Auth: 814 downloads, week of 2026-01-05Web Bot Auth: 1,131 downloads, week of 2026-01-12Web Bot Auth: 1,687 downloads, week of 2026-01-19Web Bot Auth: 1,507 downloads, week of 2026-01-26Web Bot Auth: 2,787 downloads, week of 2026-02-02Web Bot Auth: 3,792 downloads, week of 2026-02-09Web Bot Auth: 4,598 downloads, week of 2026-02-16Web Bot Auth: 3,848 downloads, week of 2026-02-23Web Bot Auth: 3,901 downloads, week of 2026-03-02Web Bot Auth: 4,238 downloads, week of 2026-03-09Web Bot Auth: 3,746 downloads, week of 2026-03-16Web Bot Auth: 4,620 downloads, week of 2026-03-23Web Bot Auth: 5,566 downloads, week of 2026-03-30Web Bot Auth: 5,610 downloads, week of 2026-04-06Web Bot Auth: 8,128 downloads, week of 2026-04-13Web Bot Auth: 9,072 downloads, week of 2026-04-20Web Bot Auth: 14,754 downloads, week of 2026-04-27Web Bot Auth: 17,336 downloads, week of 2026-05-04Web Bot Auth: 12,907 downloads, week of 2026-05-11Web Bot Auth: 14,295 downloads, week of 2026-05-18Web Bot Auth: 13,487 downloads, week of 2026-05-25Web Bot Auth: 6,161 downloads, week of 2026-06-01Web Bot Auth: 10,349 downloads, week of 2026-06-08Web Bot Auth: 12,350 downloads, week of 2026-06-15Web Bot Auth: 13,458 downloads, week of 2026-06-22Web Bot Auth: 14,477 downloads, week of 2026-06-29Web Bot Auth: 22,537 downloads, week of 2026-07-06Web Bot Auth: 14,905 downloads, week of 2026-07-13Web Bot Auth: 24,763 downloads, week of 2026-07-20Web Bot Auth: 21,941 downloads, week of 2026-07-27Web Bot Auth: 26,368 downloads, week of 2026-08-03Web Bot Auth: 24,165 downloads, week of 2026-08-10Web Bot Auth: 90,789 downloads, week of 2026-08-17Web Bot Auth: 106,258 downloads, week of 2026-08-24Web Bot Auth: 105,086 downloads, week of 2026-08-31Web Bot Auth: 71,501 downloads, week of 2026-09-07Web Bot Auth: 165,051 downloads, week of 2026-09-14Web Bot Auth: 182,304 downloads, week of 2026-09-21Web Bot Auth: 179,645 downloads, week of 2026-09-28Web Bot Auth: 162,458 downloads, week of 2026-10-05UCP: 207 downloads, week of 2026-01-12UCP: 820 downloads, week of 2026-01-19UCP: 843 downloads, week of 2026-01-26UCP: 766 downloads, week of 2026-02-02UCP: 888 downloads, week of 2026-02-09UCP: 1,184 downloads, week of 2026-02-16UCP: 382 downloads, week of 2026-02-23UCP: 222 downloads, week of 2026-03-02UCP: 374 downloads, week of 2026-03-09UCP: 372 downloads, week of 2026-03-16UCP: 682 downloads, week of 2026-03-23UCP: 421 downloads, week of 2026-03-30UCP: 460 downloads, week of 2026-04-06UCP: 992 downloads, week of 2026-04-13UCP: 825 downloads, week of 2026-04-20UCP: 1,120 downloads, week of 2026-04-27UCP: 922 downloads, week of 2026-05-04UCP: 920 downloads, week of 2026-05-11UCP: 1,108 downloads, week of 2026-05-18UCP: 1,493 downloads, week of 2026-05-25UCP: 1,810 downloads, week of 2026-06-01UCP: 2,709 downloads, week of 2026-06-08UCP: 2,319 downloads, week of 2026-06-15UCP: 1,779 downloads, week of 2026-06-22UCP: 3,182 downloads, week of 2026-06-29UCP: 1,810 downloads, week of 2026-07-06UCP: 1,887 downloads, week of 2026-07-13UCP: 2,347 downloads, week of 2026-07-20UCP: 5,873 downloads, week of 2026-07-27UCP: 6,433 downloads, week of 2026-08-03UCP: 5,053 downloads, week of 2026-08-10UCP: 5,189 downloads, week of 2026-08-17UCP: 7,945 downloads, week of 2026-08-24UCP: 7,458 downloads, week of 2026-08-31UCP: 6,169 downloads, week of 2026-09-07UCP: 7,341 downloads, week of 2026-09-14UCP: 11,462 downloads, week of 2026-09-21UCP: 18,459 downloads, week of 2026-09-28UCP: 12,820 downloads, week of 2026-10-05KYA-OS: 88 downloads, week of 2026-05-11KYA-OS: 177 downloads, week of 2026-05-18KYA-OS: 493 downloads, week of 2026-05-25KYA-OS: 1,007 downloads, week of 2026-06-01KYA-OS: 1,894 downloads, week of 2026-06-08KYA-OS: 1,273 downloads, week of 2026-06-15KYA-OS: 492 downloads, week of 2026-06-22KYA-OS: 1,673 downloads, week of 2026-06-29KYA-OS: 1,809 downloads, week of 2026-07-06KYA-OS: 1,010 downloads, week of 2026-07-13KYA-OS: 2,221 downloads, week of 2026-07-20KYA-OS: 1,073 downloads, week of 2026-07-27KYA-OS: 1,024 downloads, week of 2026-08-03KYA-OS: 1,997 downloads, week of 2026-08-10KYA-OS: 1,947 downloads, week of 2026-08-17KYA-OS: 2,770 downloads, week of 2026-08-24KYA-OS: 2,081 downloads, week of 2026-08-31KYA-OS: 1,379 downloads, week of 2026-09-07KYA-OS: 4,004 downloads, week of 2026-09-14KYA-OS: 18,152 downloads, week of 2026-09-21KYA-OS: 20,250 downloads, week of 2026-09-28KYA-OS: 11,326 downloads, week of 2026-10-05x401: 90 downloads, week of 2026-06-08x401: 11 downloads, week of 2026-06-15x401: 214 downloads, week of 2026-06-22x401: 205 downloads, week of 2026-06-29x401: 286 downloads, week of 2026-07-06x401: 287 downloads, week of 2026-07-13x401: 155 downloads, week of 2026-07-20x401: 319 downloads, week of 2026-07-27x401: 98 downloads, week of 2026-08-03x401: 63 downloads, week of 2026-08-10x401: 70 downloads, week of 2026-08-17x401: 96 downloads, week of 2026-08-24x401: 55 downloads, week of 2026-08-31x401: 53 downloads, week of 2026-09-07x401: 33 downloads, week of 2026-09-14x401: 128 downloads, week of 2026-09-21x401: 299 downloads, week of 2026-09-28x401: 269 downloads, week of 2026-10-05MCP 65.4MA2A 4.1Mx402 467KMPP 336KWeb Bot Auth 162KUCP 13KKYA-OS 11Kx401 269Not covered by this chartProtocols with downloads that are not plotted hereThe palette allows eight series, so these appear only in the all-registries chart:PAP: @datalayer/personal-agent-protocol (npm, community) 2K last month; personal-agent-protocol (pypi, community) 1.4K last monthL402: @lightninglabs/l402 (npm) 104 last month; l402 (pypi, community) 24 last monthACP: agentic-commerce-protocol (npm, vendor (Svix)) 47 last month; agentic-commerce-protocol (pypi, vendor (Svix)) 50 last monthKYAPay: @skyfire-xyz/skyfire-seller-sdk-node (npm, vendor (Skyfire)) 52 last monthProtocols with no npm package foundBaselayer KYA: closed commercial product: no public repository or package.AP2: The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found.TAP: No package found on npm, PyPI or crates.io.ANS: No package found on npm, PyPI or crates.io (Go reference implementation).Not measuredOther registries (PyPI, crates.io, Maven, NuGet, Go modules) are in the all-registries chart where they were found.One package per protocol is plotted. The window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown.Each line starts at the first week with downloads.Packages: MCP: @modelcontextprotocol/sdk; A2A: @a2a-js/sdk; x402: x402; MPP: mppxWeb Bot Auth: web-bot-auth; UCP: @ucp-js/sdk; KYA-OS: @kya-os/mcp; x401: @proof.com/x401-node \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/render.py b/docs/research/tools/capability-map/traction/render.py index 0fb4c3b..5e9806e 100644 --- a/docs/research/tools/capability-map/traction/render.py +++ b/docs/research/tools/capability-map/traction/render.py @@ -10,6 +10,10 @@ import json, math, html, datetime as dt, os HERE = os.path.dirname(os.path.abspath(__file__)) +import importlib.util as _u +_sp = _u.spec_from_file_location('fetch_cfg', os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fetch.py')) +_fc = _u.module_from_spec(_sp); _sp.loader.exec_module(_fc) +PACKAGES_CFG = _fc.PACKAGES D = json.load(open(os.path.join(HERE, 'data.json'))) SLOTS_L = ['#2a78d6', '#eb6834', '#1baf7a', '#eda100', '#e87ba4', '#008300', '#6250d6', '#e34948'] @@ -41,17 +45,6 @@ def css(extra=''): # Protocols with no series in a chart, and why. Shown as dashed "no data" markers rather than silently omitted. NOT_PUBLIC = 'Closed commercial product: no public repository or package' -NO_NPM = [ - ('Baselayer KYA', NOT_PUBLIC), - ('AP2', 'Not collected: no official npm package identified'), - ('ACP', 'Not collected: no official npm package identified'), - ('TAP', 'Not collected: no official npm package identified'), - ('L402', 'Not collected: no official npm package identified'), - ('ANS', 'Not collected: no official npm package identified'), - ('PAP (Poppy)', 'Not collected: no package identified (spec and site only)'), - ('KYAPay', 'Not collected: package not identified'), - ('cheqd', 'Data exists (1.2K a week) but not plotted: the palette allows eight series'), -] # Charted repository is an SDK or implementation, not the protocol's specification repository. @@ -60,7 +53,6 @@ def css(extra=''): 'L402': 'lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted.', 'ANS': 'agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository.', 'Web Bot Auth': 'cloudflare/web-bot-auth, Cloudflare\'s implementation. The IETF draft is not charted.', - 'cheqd': 'cheqd/did-resolver, one cheqd repository. The cheqd network and other repositories are not charted.', } @@ -100,16 +92,6 @@ def others_lines(metric): return out -def package_lines(): - by = {} - for p in D.get('other_packages', []): - by.setdefault(p['protocol'], []).append(f"{p['package']} ({p['registry']}) {fmt(p['monthly'])}") - out = [] - for proto, items in by.items(): - out += wrap(f'{proto}: ' + ', '.join(items)) - return out - - def nc_height(sections): return 34 + sum(15 + 14 * len(lines) + 10 for _, lines in sections) + 6 @@ -161,9 +143,17 @@ def chart_npm(): W = 960 L, R, T = 64, 190, 112 ph = 436 - secs = [('Protocols with no download series', [f'{n}: {why}' for n, why in NO_NPM]), - ('Other packages, with downloads in the last month', package_lines()), - ('Not measured', ['Maven, NuGet, Go modules, crates.io, RubyGems and any other registry, and packages whose name I could not identify.'])] + dl = D['downloads']['by_protocol'] + extra = [] + for p, regs in dl.items(): + if p in names: + continue + parts = [f"{r['package']} ({reg}{', ' + r['scope'] if r['scope'] != 'first-party' else ''}) {fmt(r['monthly'])} last month" for reg, r in regs.items()] + extra.append(f'{p}: ' + '; '.join(parts)) + secs = [('Protocols with downloads that are not plotted here', ['The palette allows eight series, so these appear only in the all-registries chart:'] + extra), + ('Protocols with no npm package found', ['Baselayer KYA: ' + NOT_PUBLIC.lower() + '.'] + + [f'{p}: {why}.' for p, why in D['downloads']['no_package'].items()]), + ('Not measured', ['Other registries (PyPI, crates.io, Maven, NuGet, Go modules) are in the all-registries chart where they were found.'])] hbox = nc_height(secs) H = T + ph + 40 + hbox + 22 + 28 + 10 + 28 + 14 pw = W - L - R @@ -226,42 +216,73 @@ def Y(v): 'Line chart on a log scale. ' + '; '.join(f'{n} {fmt(D["npm"][n]["weeks"][-1][1])} a week' for n in names)) -# ---------------------------------------------------------------- chart 2: weekly commits, small multiples +# ---------------------------------------------------------------- chart 2: weekly commits, aggregated over repositories +def commit_series(): + """protocol -> weekly commits summed over the charted repository and its other repositories, first-party or community.""" + out = {} + for name, wk in D['commits'].items(): + total = dict(wk) + repos = [(D['repos'][name]['repo'], 'first-party')] + created = [D['repos'][name]['created']] + missing = [] + for r in D.get('others', {}).get(name, []): + if not r.get('weeks'): + missing.append(short(r['repo'])) + continue + repos.append((r['repo'], r['scope'])) + created.append(r['created']) + for ts, n in r['weeks']: + total[ts] = total.get(ts, 0) + n + out[name] = dict(weeks=sorted(total.items()), repos=repos, created=min(created), missing=missing) + return out + + def chart_commits(): - items = sorted(D['commits'].items(), key=lambda kv: -sum(v for _, v in kv[1])) + series = commit_series() + items = sorted(series.items(), key=lambda kv: -sum(v for _, v in kv[1]['weeks'])) items.append(('Baselayer KYA', None)) # no public repository cols, pw, ph = 5, 160, 70 gx, gy = 28, 46 L, T = 40, 124 rows = math.ceil(len(items) / cols) W = L * 2 + cols * pw + (cols - 1) * gx + agg = [] + for n, sr in series.items(): + names = [short(r) + ('\u2020' if sc == 'community' else '') for r, sc in sr['repos']] + agg += wrap(f'{n}: ' + ', '.join(names)) + gaps = sorted({m for sr in series.values() for m in sr['missing']}) secs = [('Protocols with no panel', ['Baselayer KYA: closed commercial product, no public repository.']), - ('Other repositories, with commits in the last 52 weeks', others_lines('commits')), - ('Counting', ['Default branch only. Forks, other branches and private repositories are not counted.'])] + ('Repositories added together in each panel (\u2020 = community implementation, not the protocol\'s own)', agg), + ('Not added', ([f'{", ".join(gaps)}: GitHub returned no commit statistics for these.'] if gaps else []) + + ['Other repositories of these projects, and community implementations I did not find.', + 'Default branch only. Forks, other branches and private repositories are not counted.'])] hbox = nc_height(secs) - H = T + rows * (ph + gy) + 14 + 14 * (len(PROXY) + 1) + 16 + hbox + 24 - ymax = max(v for _, wk in items if wk for _, v in wk) + H = T + rows * (ph + gy) + 14 + hbox + 24 + ymax = max(v for _, sr in items if sr for _, v in sr['weeks']) ymax = int(math.ceil(ymax / 10.0) * 10) - b = [f'Weekly commits to each protocol\'s main repository', + b = [f'Weekly commits to each protocol, added across its repositories', f'Last 52 weeks to mid-Oct 2026. Same scale in every panel (0 to {ymax}), sorted by total commits.', - f'A flat line on the baseline means no commits. Dashed shading means the repository did not exist yet. * marks an SDK or implementation repository (see below).'] - for k, (n, wk) in enumerate(items): + f'A flat line on the baseline means no commits. Dashed shading means no repository existed yet. Repositories counted are listed below.'] + for k, (n, sr) in enumerate(items): c, r = k % cols, k // cols x0 = L + c * (pw + gx) y0 = T + r * (ph + gy) - if wk is None: + if sr is None: b.append(f'{esc(n)}' f'' f'No data' f'closed product, no public repo') continue + wk = sr['weeks'] tot = sum(v for _, v in wk) - created = dt.date.fromisoformat(D['repos'][n]['created']) + created = dt.date.fromisoformat(sr['created']) cut = 0 while cut < len(wk) and dt.datetime.utcfromtimestamp(wk[cut][0]).date() + dt.timedelta(days=7) <= created: cut += 1 - b.append(f'{esc(star(n))}' - f'{tot:,} commit{"" if tot == 1 else "s"}') + nrep = len(sr['repos']) + b.append(f'{esc(n)}' + f'{tot:,} commit{"" if tot == 1 else "s"}' + f'{"" if nrep == 1 else f" · {nrep} repos"}') b.append(f'' f'') if c == 0: @@ -283,14 +304,93 @@ def chart_commits(): f'') for i, (ts, v) in enumerate(wk): day = dt.datetime.utcfromtimestamp(ts).date().isoformat() - msg = f'{n}: repository not yet created (created {created.isoformat()})' if i < cut else f'{n}: {v} commits, week of {day}' + msg = f'{n}: no repository yet (earliest created {created.isoformat()})' if i < cut else f'{n}: {v} commits across {nrep} repos, week of {day}' b.append(f'{esc(msg)}') - fy = T + rows * (ph + gy) + 14 - b.append(foot(L, fy, ['* Charted repository is an SDK or implementation, not the specification:'] + - [f' {k}: {v}' for k, v in PROXY.items()])) - b.append(nc_box(L, fy + 14 * (len(PROXY) + 1) + 16, W - 2 * L, secs)) - return svg(W, H, ''.join(b), 'Weekly commits to each protocol main repository', - 'Small multiples, one panel per repository, shared scale. ' + '; '.join(f'{n} {sum(v for _, v in wk)} commits' for n, wk in items if wk) + '; Baselayer KYA has no data (closed product)') + b.append(nc_box(L, T + rows * (ph + gy) + 14, W - 2 * L, secs)) + return svg(W, H, ''.join(b), 'Weekly commits to each protocol, added across its repositories', + 'Small multiples, one panel per protocol, shared scale. ' + '; '.join(f'{n} {sum(v for _, v in sr["weeks"])} commits in {len(sr["repos"])} repos' for n, sr in items if sr) + '; Baselayer KYA has no data (closed product)') + + +# ---------------------------------------------------------------- chart 2b: weekly downloads across registries +def chart_downloads(): + DL = D['downloads'] + starts = [dt.date.fromisoformat(x) for x in DL['week_starts']] + rows_ = [] + for p, regs in DL['by_protocol'].items(): + if not regs: + continue + tot = [sum(r['weeks'][i] for r in regs.values()) for i in range(len(starts))] + rows_.append((p, regs, tot)) + rows_.sort(key=lambda r: -r[2][-1]) + nodata = [('Baselayer KYA', 'closed product, no package')] + [(p, 'no package found') for p in DL['no_package']] + cols, pw, ph = 4, 200, 64 + gx, gy = 44, 62 + L, T = 58, 100 + n_panels = len(rows_) + len(nodata) + nrows = math.ceil(n_panels / cols) + W = L * 2 + cols * pw + (cols - 1) * gx + alts = [] + for p, regs in DL['by_protocol'].items(): + for reg, r in regs.items(): + others = [n for n in PACKAGES_CFG.get(p, {}).get(reg, []) if n != r['package']] + if others: + alts.append(f'{p} ({reg}): {", ".join(others)}') + alts = [w for a in alts for w in wrap(a)] + secs = [('Protocols with no data', ['Baselayer KYA: ' + NOT_PUBLIC.lower() + '.'] + [f'{p}: {why}.' for p, why in DL['no_package'].items()]), + ('Other packages of the same registry, not added (a package and its dependencies would be counted twice)', alts), + ('Not measured', ['Maven, NuGet, Go modules, RubyGems, container pulls, and copies installed without a registry.', + 'Each registry gives a different history, so every panel covers the same 12 weeks.'])] + hbox = nc_height(secs) + H = T + nrows * (ph + gy) + 14 + hbox + 24 + first, last = starts[0], starts[-1] + dt.timedelta(days=6) + b = [f'Weekly package downloads for each protocol, across npm, PyPI and crates.io', + f'{first.strftime("%-d %b")} to {last.strftime("%-d %b %Y")}. Each panel has its own scale, from 0 to its peak. The text under each panel gives the latest week by registry.', + f'Per registry, the most downloaded package is counted. \u2020 = community or vendor implementation, not the protocol\'s own. CI and mirrors are included.'] + k = 0 + for p, regs, tot in rows_: + c, r = k % cols, k // cols + x0 = L + c * (pw + gx) + y0 = T + r * (ph + gy) + k += 1 + ymax = max(tot) or 1 + n_w = len(tot) + px = lambda i: x0 + pw * i / (n_w - 1) + py = lambda v: y0 + ph * (1 - v / ymax) + b.append(f'{esc(p)}' + f'{fmt(tot[-1])} a week' + f'' + f'' + f'{fmt(ymax)}' + f'0') + cut = 0 + while cut < n_w - 1 and tot[cut] == 0: + cut += 1 + if cut > 0: # weeks before the first download: the package did not exist yet + xc = px(cut) + b.append(f'' + f'not published yet') + live = list(enumerate(tot))[cut:] + path = 'M' + ' L'.join(f'{px(i):.1f},{py(v):.1f}' for i, v in live) + b.append(f'' + f'') + for i, v in enumerate(tot): + parts = ', '.join(f"{reg} {r_['weeks'][i]:,}" for reg, r_ in regs.items()) + b.append(f'{esc(p)}: {v:,} downloads, week of {starts[i].isoformat()} ({esc(parts)})') + mix = ' · '.join(f"{reg}{chr(8224) if r_['scope'].startswith(('community', 'vendor')) else ''} {fmt(r_['weeks'][-1])}" for reg, r_ in regs.items()) + b.append(f'{esc(mix)}') + for p, why in nodata: + c, r = k % cols, k // cols + x0 = L + c * (pw + gx) + y0 = T + r * (ph + gy) + k += 1 + b.append(f'{esc(p)}' + f'' + f'No data' + f'{esc(why)}') + b.append(nc_box(L, T + nrows * (ph + gy) + 14, W - 2 * L, secs)) + return svg(W, H, ''.join(b), 'Weekly package downloads for each protocol across npm, PyPI and crates.io', + 'Small multiples, one panel per protocol. ' + '; '.join(f'{p} {fmt(t[-1])} in the latest week' for p, _, t in rows_) + + '; no data for ' + ', '.join(p for p, _ in nodata)) # ---------------------------------------------------------------- chart 3: stars snapshot dot plot @@ -339,6 +439,6 @@ def X(v): if __name__ == '__main__': - for name, fn in [('npm-downloads.svg', chart_npm), ('commit-activity.svg', chart_commits), ('github-stars.svg', chart_stars)]: + for name, fn in [('npm-downloads.svg', chart_npm), ('downloads-all-registries.svg', chart_downloads), ('commit-activity.svg', chart_commits), ('github-stars.svg', chart_stars)]: open(os.path.join(HERE, name), 'w').write(fn()) print('wrote', name) From 7c8860ef2c8259788197bc1d14c69cee784a81ce Mon Sep 17 00:00:00 2001 From: Fraser Edwards Date: Fri, 16 Oct 2026 12:30:54 +0100 Subject: [PATCH 3/3] docs: show official and third-party repositories and packages side by side Commits and downloads have an official series and a third-party series for every protocol with third-party implementations. Third-party repositories are hand-picked examples; each chart states the method. Co-Authored-By: Claude Sonnet 5.5 Signed-off-by: Fraser Edwards --- .../tools/capability-map/PROTOCOLS.md | 49 +- .../traction/commit-activity.svg | 4 +- .../tools/capability-map/traction/data.json | 9960 ++++++++++++++--- .../traction/downloads-all-registries.svg | 4 +- .../tools/capability-map/traction/fetch.py | 157 +- .../capability-map/traction/github-stars.svg | 4 +- .../capability-map/traction/npm-downloads.svg | 2 +- .../tools/capability-map/traction/render.py | 246 +- 8 files changed, 8923 insertions(+), 1503 deletions(-) diff --git a/docs/research/tools/capability-map/PROTOCOLS.md b/docs/research/tools/capability-map/PROTOCOLS.md index 6da491a..f3cf3cd 100644 --- a/docs/research/tools/capability-map/PROTOCOLS.md +++ b/docs/research/tools/capability-map/PROTOCOLS.md @@ -30,23 +30,23 @@ Every protocol that appears in the capability map ([`generate.py`](./generate.py Collected 16 Oct 2026 from the GitHub API and the npm and PyPI download APIs. "Commits (90d)" counts commits to the default branch since 18 Jul 2026. -| Protocol | Main repo | Stars | Forks | Contributors | Commits (90d) | Latest release | Package downloads (last 4 weeks, per registry the top package) | +| Protocol | Main repo | Stars | Forks | Contributors | Commits (90d) | Latest release | Package downloads, last 4 weeks (per registry, the top package) | |---|---|---|---|---|---|---|---| -| A2A | [a2aproject/A2A](https://github.com/a2aproject/A2A) | 26,175 | 2,675 | 176 | 64 | v1.0.1, 28 May 2026 | `@a2a-js/sdk` 14.4M (npm); `a2a-sdk` 11.1M (PyPI); `a2a-lf` 55K (crates.io) | -| MCP | [modelcontextprotocol/modelcontextprotocol](https://github.com/modelcontextprotocol/modelcontextprotocol) | 9,458 | 1,870 | 372 | 390 | 28 Jul 2026 | `@modelcontextprotocol/sdk` 256.4M (npm); `mcp` 229.2M (PyPI); `rmcp` 8.5M (crates.io) | -| x402 | [x402-foundation/x402](https://github.com/x402-foundation/x402) | 6,723 | 2,192 | 334 | 267 | no GitHub releases | `x402` 1.9M (npm); `x402` 223K (PyPI) | -| UCP | [Universal-Commerce-Protocol/ucp](https://github.com/Universal-Commerce-Protocol/ucp) | 3,429 | 479 | 64 | 98 | v2026-08-25 | `@ucp-js/sdk` 50K (npm); `ucp-sdk` 7.2K (PyPI); `ucp-schema` 829 (crates.io) | +| A2A | [a2aproject/A2A](https://github.com/a2aproject/A2A) | 26,175 | 2,675 | 176 | 64 | v1.0.1, 28 May 2026 | Official: `@a2a-js/sdk` 14.4M (npm), `a2a-sdk` 11.1M (PyPI), `a2a-lf` 55K (crates.io); Third-party: `fasta2a` 191K (PyPI, Pydantic), `ra2a` 7.1K (crates.io) | +| MCP | [modelcontextprotocol/modelcontextprotocol](https://github.com/modelcontextprotocol/modelcontextprotocol) | 9,458 | 1,870 | 372 | 390 | 28 Jul 2026 | Official: `@modelcontextprotocol/sdk` 256.4M (npm), `mcp` 229.2M (PyPI), `rmcp` 8.5M (crates.io); Third-party: `fastmcp` 52.0M (PyPI, Prefect), `mcp-use` 143K (npm) | +| x402 | [x402-foundation/x402](https://github.com/x402-foundation/x402) | 6,723 | 2,192 | 334 | 267 | no GitHub releases | Official: `x402` 1.9M (npm), `x402` 223K (PyPI); Third-party: `x402-types` 20K (crates.io) | +| UCP | [Universal-Commerce-Protocol/ucp](https://github.com/Universal-Commerce-Protocol/ucp) | 3,429 | 479 | 64 | 98 | v2026-08-25 | Official: `@ucp-js/sdk` 50K (npm), `ucp-sdk` 7.2K (PyPI), `ucp-schema` 829 (crates.io); Third-party: `@shopify/ucp-cli` 19K (npm, Shopify) | | AP2 | [google-agentic-commerce/AP2](https://github.com/google-agentic-commerce/AP2) | 3,230 | 512 | 19 | 0 | v0.2.0, 28 Apr 2026 | None found on npm, PyPI or crates.io | -| ACP | [agentic-commerce-protocol/agentic-commerce-protocol](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) | 1,574 | 255 | 26 | 0 | no GitHub releases | `agentic-commerce-protocol` 47 (npm); `agentic-commerce-protocol` 50 (PyPI) | -| TAP | [visa/trusted-agent-protocol](https://github.com/visa/trusted-agent-protocol) | 213 | 45 | 2 | 0 | no GitHub releases | None found on npm, PyPI or crates.io | -| MPP | [wevm/mppx](https://github.com/wevm/mppx) (TypeScript SDK) and [tempoxyz/mpp-specs](https://github.com/tempoxyz/mpp-specs) | 186 and 95 | 71 and 71 | 31 and 23 | 262 and 41 | `mppx@0.13.5`, 15 Oct 2026 (122 releases) | `mppx` 977K (npm); `pympp` 2.0M (PyPI) | -| L402 | [lightninglabs/aperture](https://github.com/lightninglabs/aperture) and [lightninglabs/L402](https://github.com/lightninglabs/L402) | 271 and 91 | 82 and 19 | 27 and 8 | 106 and 0 | aperture v0.5.0, 25 Mar 2026 | `@lightninglabs/l402` 104 (npm); `l402` 24 (PyPI, community) | -| Web Bot Auth | [cloudflare/web-bot-auth](https://github.com/cloudflare/web-bot-auth) | 170 | 43 | 17 | 35 | no GitHub releases | `web-bot-auth` 689K (npm); `web-bot-auth` 82K (crates.io) | -| x401 | [proof/x401](https://github.com/proof/x401) | 42 | 5 | 4 | 3 | no GitHub releases | `@proof.com/x401-node` 729 (npm) | +| ACP | [agentic-commerce-protocol/agentic-commerce-protocol](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) | 1,574 | 255 | 26 | 0 | no GitHub releases | Third-party: `acp-handler` 857 (npm, Vercel), `agentic-commerce-protocol` 50 (PyPI, Svix) | +| TAP | [visa/trusted-agent-protocol](https://github.com/visa/trusted-agent-protocol) | 213 | 45 | 2 | 0 | no GitHub releases | Third-party: `@inflowpayai/tap-seller` 398 (npm, InFlow) | +| MPP | [wevm/mppx](https://github.com/wevm/mppx) (TypeScript SDK) and [tempoxyz/mpp-specs](https://github.com/tempoxyz/mpp-specs) | 186 and 95 | 71 and 71 | 31 and 23 | 262 and 41 | `mppx@0.13.5`, 15 Oct 2026 (122 releases) | Official: `mppx` 977K (npm), `pympp` 2.0M (PyPI) | +| L402 | [lightninglabs/aperture](https://github.com/lightninglabs/aperture) and [lightninglabs/L402](https://github.com/lightninglabs/L402) | 271 and 91 | 82 and 19 | 27 and 8 | 106 and 0 | aperture v0.5.0, 25 Mar 2026 | Official: `@lightninglabs/l402` 104 (npm); Third-party: `l402` 24 (PyPI, Fewsats) | +| Web Bot Auth | [cloudflare/web-bot-auth](https://github.com/cloudflare/web-bot-auth) | 170 | 43 | 17 | 35 | no GitHub releases | Official: `web-bot-auth` 689K (npm), `web-bot-auth` 82K (crates.io); Third-party: `vestauth` 561 (npm, the dotenv author), `regent-httpsig` 519 (PyPI) | +| x401 | [proof/x401](https://github.com/proof/x401) | 42 | 5 | 4 | 3 | no GitHub releases | Official: `@proof.com/x401-node` 729 (npm); Third-party: `@solidus-network/x401` 20 (npm) | | ANS | [agentnameservice/ans](https://github.com/agentnameservice/ans) (reference implementation) | 43 | 6 | 9 | 29 | v0.1.6, 26 Jun 2026 | None found on npm, PyPI or crates.io | -| KYA-OS | [decentralized-identity/kya-os-mcp](https://github.com/decentralized-identity/kya-os-mcp) | 31 | 13 | 6 | 178 | v1.20.0, 13 Oct 2026 | `@kya-os/mcp` 54K (npm) | -| PAP (Poppy) | [personal-agent-protocol/personal-agent-protocol](https://github.com/personal-agent-protocol/personal-agent-protocol) (spec and site, created 14 Oct 2026) | 20 | 1 | 1 | 3 | no GitHub releases | `@datalayer/personal-agent-protocol` 2.0K (npm, community); `personal-agent-protocol` 1.4K (PyPI, community) | -| KYAPay | [skyfire-xyz/kyapay](https://github.com/skyfire-xyz/kyapay) | 13 | 0 | 8 | 1 | no GitHub releases | `@skyfire-xyz/skyfire-seller-sdk-node` 52 (npm) | +| KYA-OS | [decentralized-identity/kya-os-mcp](https://github.com/decentralized-identity/kya-os-mcp) | 31 | 13 | 6 | 178 | v1.20.0, 13 Oct 2026 | Official: `@kya-os/mcp` 54K (npm) | +| PAP (Poppy) | [personal-agent-protocol/personal-agent-protocol](https://github.com/personal-agent-protocol/personal-agent-protocol) (spec and site, created 14 Oct 2026) | 20 | 1 | 1 | 3 | no GitHub releases | Third-party: `@datalayer/personal-agent-protocol` 2.0K (npm, Datalayer), `personal-agent-protocol` 1.4K (PyPI, Datalayer) | +| KYAPay | [skyfire-xyz/kyapay](https://github.com/skyfire-xyz/kyapay) | 13 | 0 | 8 | 1 | no GitHub releases | Official: `@skyfire-xyz/skyfire-seller-sdk-node` 52 (npm); Third-party: `@tollstile/kyapay` 383 (npm, Tollstile) | | cheqd | [cheqd/did-resolver](https://github.com/cheqd/did-resolver) | 12 | 7 | 17 | 3 | v3.8.5, 3 Sep 2026 | `@cheqd/sdk` 3.4k, `@cheqd/did-provider-cheqd` 864 (npm) | | Baselayer KYA | No public repo | n/a | n/a | n/a | n/a | n/a | n/a | @@ -71,29 +71,32 @@ Collected 16 Oct 2026 from the GitHub API and the npm and PyPI download APIs. "C Four charts, drawn from the data in the metrics table. cheqd is not charted. They follow the system light or dark setting, and hovering a point in a browser gives the exact value. Each ends with a "Not covered by this chart" box. -![Weekly commits to each protocol, added across its repositories](./traction/commit-activity.svg) +Where a protocol has implementations by other people, both are shown: official repositories and packages (the protocol's own organisation or named steward) and third-party ones, as third-party implementations are a sign of adoption. The third-party repositories and packages are hand-picked examples, not a census. For each protocol I took up to three that implement the protocol itself (an SDK, server, library or plugin), highest stars first, after setting aside applications that merely use it and curated lists. GitHub tags far more repositories with each protocol's topic (for example MCP 37,653, x402 3,827 and A2A 604 on 16 Oct 2026), but most of those are applications. -**Development activity.** Commits are added across each protocol's repositories, including SDKs and samples, so a protocol is not judged by its specification repository alone. MCP leads (4,070 commits across 6 repositories in the last year), then A2A (2,050 across 8), MPP, x402 and UCP. AP2, ACP and TAP are flat. Protocols with several repositories carry a repository count, and the box lists every repository added. +![Weekly commits to each protocol, official and third-party](./traction/commit-activity.svg) -PAP's 179 commits come mostly from a community SDK. [`datalayer/personal-agent-protocol`](https://github.com/datalayer/personal-agent-protocol) is a Python and TypeScript SDK by Datalayer, Inc. (BSD-3-Clause, created 10 Oct 2026, 162 commits in its first days, nearly all by one author, with releases 0.21 to 0.24 between 13 and 14 Oct). It is a third-party implementation of the draft, not Sierra's or Meta's. The protocol's own repository, `personal-agent-protocol/personal-agent-protocol`, holds the spec and website and has 3 commits. Community repositories are marked with a dagger in the box. +**Development activity.** Each line adds commits across its repositories, including SDKs and samples. MCP leads with 4,442 official and 3,177 third-party commits in the last year, ahead of A2A (2,300 official, 151 third-party), MPP, x402 and UCP. x402's third-party activity (955) is almost level with its official (1,046), mostly from `x402-rs`. AP2, ACP and TAP are flat on the official side, while their third-party repositories are more active: AP2 20 official against 124 third-party, ACP 100 against 146, TAP 1 against 112. The AP2, TAP and MPP figures lean on repositories that serve several protocols (`solana-foundation/pay`, and InFlow's payments SDK for TAP), which are counted under each protocol. Web Bot Auth's 1,062 third-party commits are mostly a burst in one repository, `vestauth`. -![Weekly package downloads for each protocol across npm, PyPI and crates.io](./traction/downloads-all-registries.svg) +PAP has 3 official commits, in the specification and website repository, and 176 third-party commits. 162 of those are in [`datalayer/personal-agent-protocol`](https://github.com/datalayer/personal-agent-protocol), a Python and TypeScript SDK by Datalayer, Inc. (BSD-3-Clause, created 10 Oct 2026, nearly all by one author, with releases 0.21 to 0.24 between 13 and 14 Oct). Nothing found links Datalayer to Sierra or Meta: it is not a listed design partner and its README claims no affiliation. It is an independent implementation of the draft. -**Downloads, all registries.** The same 12 weeks for every protocol, with npm, PyPI and crates.io added together. Per registry the most downloaded package is counted, so a package and its dependencies are not counted twice. MCP is far ahead (129M a week), then A2A (6.9M), MPP (1.5M, more from `pympp` on PyPI than from `mppx` on npm), x402 (542K) and Web Bot Auth (181K). PAP, L402, ACP and KYAPay have small series from community or vendor packages. AP2, TAP, ANS and Baselayer KYA have none: no package was found for AP2 (the `ap2` package on PyPI belongs to an unrelated project), TAP or ANS on npm, PyPI or crates.io, and Baselayer is closed. +![Weekly package downloads for each protocol, official and third-party](./traction/downloads-all-registries.svg) -![Weekly npm downloads of each protocol's main SDK, log scale](./traction/npm-downloads.svg) +**Downloads.** The same 12 weeks for every protocol across npm, PyPI and crates.io. Per registry and group, the most downloaded package is counted, so a package and its dependencies are not counted twice. MCP is far ahead (129M official a week, plus 14M for the third-party FastMCP on PyPI), then A2A (6.9M official, with Pydantic's `fasta2a` at 48K), MPP (1.5M, more from `pympp` on PyPI than from `mppx` on npm), x402 (542K) and Web Bot Auth (181K). PAP, ACP and TAP have only third-party packages: Datalayer's SDK for PAP (3.4K a week), Vercel's `acp-handler` and Svix's package for ACP (396), InFlow's `@inflowpayai/tap-seller` for TAP (178). AP2, ANS and Baselayer KYA have no data: no package was found for AP2 (the `ap2` package on PyPI belongs to an unrelated project) or ANS, and Baselayer is closed. -**npm history.** Eight protocols on one log scale since April 2025, the longest history any registry gives. MCP is two orders of magnitude ahead and still rising. A2A's JavaScript SDK went from about 100 to 4.1M a week in 16 months. MPP's SDK went from 317 downloads in its first week to 336K. UCP and KYA-OS are two to three orders of magnitude smaller, and x401's SDK is under 300 a week. The palette allows eight series, so the other protocols with npm packages are listed in the box and shown in the all-registries chart. +![Weekly npm downloads of each protocol's main official SDK, log scale](./traction/npm-downloads.svg) + +**npm history.** Official npm packages for eight protocols on one log scale since April 2025, the longest history any registry gives. MCP is two orders of magnitude ahead and still rising. A2A's JavaScript SDK went from about 100 to 4.1M a week in 16 months. MPP's SDK went from 317 downloads in its first week to 336K. UCP and KYA-OS are two to three orders of magnitude smaller, and x401's SDK is under 300 a week. The palette allows eight series, so other protocols and the third-party packages are in the box and in the chart above. ![GitHub stars on each protocol's main repository, log scale](./traction/github-stars.svg) -**Stars.** A2A leads, then MCP, x402, UCP and AP2. AP2 and ACP hold thousands of stars with no recent commits. Hollow dots mark repositories with no commits in the last 13 weeks. Only one repository per protocol is charted, and others can be larger: the MCP Python and TypeScript SDKs hold more stars than the specification repository (24,593 and 13,590 against 9,458). +**Stars.** A2A leads, then MCP, x402, UCP and AP2. AP2 and ACP hold thousands of stars with no recent official commits. Hollow dots mark repositories with no commits in the last 13 weeks. One repository per protocol is charted, and others can be larger: FastMCP (28,102) and the MCP Python and TypeScript SDKs (24,593 and 13,592) hold more stars than the MCP specification repository (9,459). The box lists the other official and third-party repositories with their stars. ### Gaps marked on the charts - **No data is marked, not hidden.** Dashed boxes and panels show where a protocol has nothing to plot, with the reason. - **No repository or package yet.** Dashed shading marks weeks before a repository existed (commits chart) or before a package had downloads (all-registries chart), so a flat line means no activity rather than no project. -- **Counting choices.** Commits use the default branch only. Downloads cover npm, PyPI and crates.io. Maven, NuGet, Go modules and container pulls are not measured, and downloads include CI and mirrors. +- **Counting choices.** Commits use the default branch only. Downloads cover npm, PyPI and crates.io. Maven, NuGet, Go modules and container pulls are not measured, and downloads include CI and mirrors. A repository that implements several protocols (`solana-foundation/pay`, the NVIDIA retail blueprint) is counted under each and marked in the box. +- **Publishers.** Third-party packages name their publisher in the box. I did not verify whether any publisher is authorised by the protocol's owner. - **Star history over time** is not shown. GitHub's stargazer endpoints returned nothing in this environment, so stars are a snapshot. The repositories and packages counted are set in `OTHERS` and `PACKAGES` in `traction/fetch.py`. Refresh with `python3 traction/fetch.py` (needs `gh` logged in), then `python3 traction/render.py`. The data behind the charts is in [`traction/data.json`](./traction/data.json). diff --git a/docs/research/tools/capability-map/traction/commit-activity.svg b/docs/research/tools/capability-map/traction/commit-activity.svg index 0613eda..f2b048b 100644 --- a/docs/research/tools/capability-map/traction/commit-activity.svg +++ b/docs/research/tools/capability-map/traction/commit-activity.svg @@ -1,4 +1,4 @@ -Weekly commits to each protocol, added across its repositoriesSmall multiples, one panel per protocol, shared scale. MCP 4070 commits in 6 repos; A2A 2050 commits in 8 repos; MPP 1106 commits in 2 repos; x402 1064 commits in 3 repos; UCP 703 commits in 6 repos; KYA-OS 324 commits in 1 repos; L402 272 commits in 3 repos; PAP 179 commits in 4 repos; ANS 104 commits in 2 repos; ACP 100 commits in 1 repos; Web Bot Auth 93 commits in 1 repos; KYAPay 62 commits in 2 repos; x401 47 commits in 2 repos; AP2 20 commits in 1 repos; TAP 1 commits in 1 repos; Baselayer KYA has no data (closed product)Weekly commits to each protocol: official and third-party repositoriesLast 52 weeks to mid-Oct 2026. Same scale in every panel (0 to 360), sorted by total commits.Each line adds commits across its repositories, which are listed below. Dashed shading means no repository existed yet.Official repositoriesThird-party implementations (hand-picked examples)MCP4,442 official · 3,177 third-party3600MCP: 42 official, 96 third-party commits, week of 2025-10-19MCP: 61 official, 46 third-party commits, week of 2025-10-26MCP: 68 official, 39 third-party commits, week of 2025-11-02MCP: 187 official, 27 third-party commits, week of 2025-11-09MCP: 173 official, 47 third-party commits, week of 2025-11-16MCP: 92 official, 34 third-party commits, week of 2025-11-23MCP: 92 official, 90 third-party commits, week of 2025-11-30MCP: 83 official, 71 third-party commits, week of 2025-12-07MCP: 109 official, 59 third-party commits, week of 2025-12-14MCP: 43 official, 65 third-party commits, week of 2025-12-21MCP: 18 official, 10 third-party commits, week of 2025-12-28MCP: 48 official, 51 third-party commits, week of 2026-01-04MCP: 97 official, 104 third-party commits, week of 2026-01-11MCP: 131 official, 80 third-party commits, week of 2026-01-18MCP: 125 official, 48 third-party commits, week of 2026-01-25MCP: 120 official, 43 third-party commits, week of 2026-02-01MCP: 102 official, 64 third-party commits, week of 2026-02-08MCP: 163 official, 101 third-party commits, week of 2026-02-15MCP: 121 official, 48 third-party commits, week of 2026-02-22MCP: 111 official, 89 third-party commits, week of 2026-03-01MCP: 160 official, 40 third-party commits, week of 2026-03-08MCP: 45 official, 55 third-party commits, week of 2026-03-15MCP: 118 official, 79 third-party commits, week of 2026-03-22MCP: 85 official, 36 third-party commits, week of 2026-03-29MCP: 58 official, 42 third-party commits, week of 2026-04-05MCP: 63 official, 91 third-party commits, week of 2026-04-12MCP: 51 official, 34 third-party commits, week of 2026-04-19MCP: 70 official, 12 third-party commits, week of 2026-04-26MCP: 69 official, 45 third-party commits, week of 2026-05-03MCP: 68 official, 40 third-party commits, week of 2026-05-10MCP: 51 official, 42 third-party commits, week of 2026-05-17MCP: 60 official, 10 third-party commits, week of 2026-05-24MCP: 105 official, 26 third-party commits, week of 2026-05-31MCP: 79 official, 17 third-party commits, week of 2026-06-07MCP: 80 official, 7 third-party commits, week of 2026-06-14MCP: 105 official, 36 third-party commits, week of 2026-06-21MCP: 93 official, 15 third-party commits, week of 2026-06-28MCP: 109 official, 123 third-party commits, week of 2026-07-05MCP: 99 official, 161 third-party commits, week of 2026-07-12MCP: 96 official, 252 third-party commits, week of 2026-07-19MCP: 178 official, 132 third-party commits, week of 2026-07-26MCP: 59 official, 114 third-party commits, week of 2026-08-02MCP: 32 official, 58 third-party commits, week of 2026-08-09MCP: 75 official, 19 third-party commits, week of 2026-08-16MCP: 51 official, 31 third-party commits, week of 2026-08-23MCP: 53 official, 67 third-party commits, week of 2026-08-30MCP: 43 official, 18 third-party commits, week of 2026-09-06MCP: 49 official, 38 third-party commits, week of 2026-09-13MCP: 46 official, 80 third-party commits, week of 2026-09-20MCP: 100 official, 30 third-party commits, week of 2026-09-27MCP: 43 official, 182 third-party commits, week of 2026-10-04MCP: 63 official, 33 third-party commits, week of 2026-10-11A2A2,300 official · 151 third-partyA2A: 32 official, 0 third-party commits, week of 2025-10-19A2A: 44 official, 0 third-party commits, week of 2025-10-26A2A: 35 official, 0 third-party commits, week of 2025-11-02A2A: 30 official, 0 third-party commits, week of 2025-11-09A2A: 0 official, 0 third-party commits, week of 2025-11-09A2A: 44 official, 0 third-party commits, week of 2025-11-16A2A: 0 official, 0 third-party commits, week of 2025-11-16A2A: 33 official, 0 third-party commits, week of 2025-11-23A2A: 0 official, 0 third-party commits, week of 2025-11-23A2A: 38 official, 0 third-party commits, week of 2025-11-30A2A: 0 official, 0 third-party commits, week of 2025-11-30A2A: 47 official, 0 third-party commits, week of 2025-12-07A2A: 0 official, 0 third-party commits, week of 2025-12-07A2A: 40 official, 0 third-party commits, week of 2025-12-14A2A: 0 official, 0 third-party commits, week of 2025-12-14A2A: 12 official, 0 third-party commits, week of 2025-12-21A2A: 0 official, 0 third-party commits, week of 2025-12-21A2A: 14 official, 0 third-party commits, week of 2025-12-28A2A: 0 official, 0 third-party commits, week of 2025-12-28A2A: 24 official, 3 third-party commits, week of 2026-01-04A2A: 0 official, 0 third-party commits, week of 2026-01-04A2A: 38 official, 3 third-party commits, week of 2026-01-11A2A: 0 official, 0 third-party commits, week of 2026-01-11A2A: 43 official, 4 third-party commits, week of 2026-01-18A2A: 0 official, 0 third-party commits, week of 2026-01-18A2A: 41 official, 14 third-party commits, week of 2026-01-25A2A: 0 official, 0 third-party commits, week of 2026-01-25A2A: 30 official, 14 third-party commits, week of 2026-02-01A2A: 0 official, 0 third-party commits, week of 2026-02-01A2A: 42 official, 11 third-party commits, week of 2026-02-08A2A: 0 official, 0 third-party commits, week of 2026-02-08A2A: 67 official, 0 third-party commits, week of 2026-02-15A2A: 0 official, 0 third-party commits, week of 2026-02-15A2A: 46 official, 23 third-party commits, week of 2026-02-22A2A: 0 official, 0 third-party commits, week of 2026-02-22A2A: 50 official, 3 third-party commits, week of 2026-03-01A2A: 0 official, 0 third-party commits, week of 2026-03-01A2A: 98 official, 7 third-party commits, week of 2026-03-08A2A: 0 official, 0 third-party commits, week of 2026-03-08A2A: 76 official, 0 third-party commits, week of 2026-03-15A2A: 52 official, 5 third-party commits, week of 2026-03-22A2A: 52 official, 16 third-party commits, week of 2026-03-29A2A: 90 official, 8 third-party commits, week of 2026-04-05A2A: 34 official, 0 third-party commits, week of 2026-04-12A2A: 46 official, 1 third-party commits, week of 2026-04-19A2A: 53 official, 0 third-party commits, week of 2026-04-26A2A: 29 official, 0 third-party commits, week of 2026-05-03A2A: 53 official, 0 third-party commits, week of 2026-05-10A2A: 24 official, 0 third-party commits, week of 2026-05-17A2A: 27 official, 0 third-party commits, week of 2026-05-24A2A: 45 official, 0 third-party commits, week of 2026-05-31A2A: 40 official, 1 third-party commits, week of 2026-06-07A2A: 18 official, 0 third-party commits, week of 2026-06-14A2A: 27 official, 3 third-party commits, week of 2026-06-21A2A: 28 official, 0 third-party commits, week of 2026-06-28A2A: 25 official, 2 third-party commits, week of 2026-07-05A2A: 24 official, 2 third-party commits, week of 2026-07-12A2A: 42 official, 2 third-party commits, week of 2026-07-19A2A: 33 official, 2 third-party commits, week of 2026-07-26A2A: 43 official, 4 third-party commits, week of 2026-08-02A2A: 43 official, 3 third-party commits, week of 2026-08-09A2A: 58 official, 3 third-party commits, week of 2026-08-16A2A: 59 official, 1 third-party commits, week of 2026-08-23A2A: 27 official, 8 third-party commits, week of 2026-08-30A2A: 59 official, 3 third-party commits, week of 2026-09-06A2A: 103 official, 2 third-party commits, week of 2026-09-13A2A: 63 official, 0 third-party commits, week of 2026-09-20A2A: 58 official, 0 third-party commits, week of 2026-09-27A2A: 61 official, 2 third-party commits, week of 2026-10-04A2A: 60 official, 1 third-party commits, week of 2026-10-11x4021,046 official · 955 third-partyx402: 4 official, 11 third-party commits, week of 2025-10-19x402: 11 official, 3 third-party commits, week of 2025-10-26x402: 3 official, 14 third-party commits, week of 2025-11-02x402: 15 official, 1 third-party commits, week of 2025-11-09x402: 0 official, 0 third-party commits, week of 2025-11-09x402: 9 official, 6 third-party commits, week of 2025-11-16x402: 0 official, 0 third-party commits, week of 2025-11-16x402: 10 official, 0 third-party commits, week of 2025-11-23x402: 0 official, 0 third-party commits, week of 2025-11-23x402: 7 official, 0 third-party commits, week of 2025-11-30x402: 0 official, 0 third-party commits, week of 2025-11-30x402: 17 official, 51 third-party commits, week of 2025-12-07x402: 0 official, 0 third-party commits, week of 2025-12-07x402: 10 official, 147 third-party commits, week of 2025-12-14x402: 0 official, 0 third-party commits, week of 2025-12-14x402: 16 official, 90 third-party commits, week of 2025-12-21x402: 0 official, 0 third-party commits, week of 2025-12-21x402: 12 official, 33 third-party commits, week of 2025-12-28x402: 0 official, 0 third-party commits, week of 2025-12-28x402: 25 official, 98 third-party commits, week of 2026-01-04x402: 0 official, 0 third-party commits, week of 2026-01-04x402: 19 official, 22 third-party commits, week of 2026-01-11x402: 0 official, 0 third-party commits, week of 2026-01-11x402: 19 official, 14 third-party commits, week of 2026-01-18x402: 0 official, 0 third-party commits, week of 2026-01-18x402: 26 official, 70 third-party commits, week of 2026-01-25x402: 0 official, 0 third-party commits, week of 2026-01-25x402: 31 official, 95 third-party commits, week of 2026-02-01x402: 0 official, 0 third-party commits, week of 2026-02-01x402: 19 official, 19 third-party commits, week of 2026-02-08x402: 0 official, 0 third-party commits, week of 2026-02-08x402: 22 official, 11 third-party commits, week of 2026-02-15x402: 0 official, 0 third-party commits, week of 2026-02-15x402: 56 official, 9 third-party commits, week of 2026-02-22x402: 0 official, 0 third-party commits, week of 2026-02-22x402: 31 official, 1 third-party commits, week of 2026-03-01x402: 0 official, 0 third-party commits, week of 2026-03-01x402: 31 official, 6 third-party commits, week of 2026-03-08x402: 0 official, 0 third-party commits, week of 2026-03-08x402: 27 official, 0 third-party commits, week of 2026-03-15x402: 22 official, 12 third-party commits, week of 2026-03-22x402: 19 official, 11 third-party commits, week of 2026-03-29x402: 15 official, 2 third-party commits, week of 2026-04-05x402: 21 official, 3 third-party commits, week of 2026-04-12x402: 16 official, 16 third-party commits, week of 2026-04-19x402: 13 official, 20 third-party commits, week of 2026-04-26x402: 17 official, 17 third-party commits, week of 2026-05-03x402: 34 official, 13 third-party commits, week of 2026-05-10x402: 23 official, 3 third-party commits, week of 2026-05-17x402: 38 official, 17 third-party commits, week of 2026-05-24x402: 18 official, 41 third-party commits, week of 2026-05-31x402: 23 official, 42 third-party commits, week of 2026-06-07x402: 24 official, 9 third-party commits, week of 2026-06-14x402: 14 official, 4 third-party commits, week of 2026-06-21x402: 13 official, 6 third-party commits, week of 2026-06-28x402: 14 official, 4 third-party commits, week of 2026-07-05x402: 22 official, 8 third-party commits, week of 2026-07-12x402: 24 official, 2 third-party commits, week of 2026-07-19x402: 11 official, 3 third-party commits, week of 2026-07-26x402: 33 official, 2 third-party commits, week of 2026-08-02x402: 23 official, 1 third-party commits, week of 2026-08-09x402: 23 official, 0 third-party commits, week of 2026-08-16x402: 27 official, 1 third-party commits, week of 2026-08-23x402: 41 official, 4 third-party commits, week of 2026-08-30x402: 16 official, 2 third-party commits, week of 2026-09-06x402: 28 official, 1 third-party commits, week of 2026-09-13x402: 19 official, 5 third-party commits, week of 2026-09-20x402: 20 official, 1 third-party commits, week of 2026-09-27x402: 8 official, 3 third-party commits, week of 2026-10-04x402: 7 official, 1 third-party commits, week of 2026-10-11MPP1,106 official · 396 third-partyMPP: 0 official, 0 third-party commits, week of 2025-10-18MPP: 0 official, 0 third-party commits, week of 2025-10-25MPP: 0 official, 0 third-party commits, week of 2025-11-01MPP: 0 official, 5 third-party commits, week of 2025-11-09MPP: 0 official, 19 third-party commits, week of 2025-11-16MPP: 0 official, 6 third-party commits, week of 2025-11-23MPP: 0 official, 6 third-party commits, week of 2025-11-30MPP: 0 official, 11 third-party commits, week of 2025-12-07MPP: 0 official, 3 third-party commits, week of 2025-12-14MPP: 0 official, 0 third-party commits, week of 2025-12-21MPP: 0 official, 2 third-party commits, week of 2025-12-28MPP: 1 official, 1 third-party commits, week of 2026-01-04MPP: 1 official, 12 third-party commits, week of 2026-01-11MPP: 24 official, 5 third-party commits, week of 2026-01-18MPP: 73 official, 27 third-party commits, week of 2026-01-25MPP: 31 official, 8 third-party commits, week of 2026-02-01MPP: 94 official, 0 third-party commits, week of 2026-02-08MPP: 62 official, 1 third-party commits, week of 2026-02-15MPP: 25 official, 20 third-party commits, week of 2026-02-22MPP: 20 official, 0 third-party commits, week of 2026-03-01MPP: 19 official, 0 third-party commits, week of 2026-03-08MPP: 28 official, 10 third-party commits, week of 2026-03-15MPP: 49 official, 53 third-party commits, week of 2026-03-22MPP: 35 official, 17 third-party commits, week of 2026-03-29MPP: 35 official, 23 third-party commits, week of 2026-04-05MPP: 28 official, 22 third-party commits, week of 2026-04-12MPP: 30 official, 25 third-party commits, week of 2026-04-19MPP: 17 official, 22 third-party commits, week of 2026-04-26MPP: 18 official, 14 third-party commits, week of 2026-05-03MPP: 28 official, 3 third-party commits, week of 2026-05-10MPP: 16 official, 16 third-party commits, week of 2026-05-17MPP: 3 official, 1 third-party commits, week of 2026-05-24MPP: 25 official, 18 third-party commits, week of 2026-05-31MPP: 21 official, 1 third-party commits, week of 2026-06-07MPP: 25 official, 4 third-party commits, week of 2026-06-14MPP: 21 official, 5 third-party commits, week of 2026-06-21MPP: 28 official, 6 third-party commits, week of 2026-06-28MPP: 10 official, 1 third-party commits, week of 2026-07-05MPP: 36 official, 3 third-party commits, week of 2026-07-12MPP: 36 official, 2 third-party commits, week of 2026-07-19MPP: 19 official, 3 third-party commits, week of 2026-07-26MPP: 29 official, 2 third-party commits, week of 2026-08-02MPP: 14 official, 1 third-party commits, week of 2026-08-09MPP: 25 official, 0 third-party commits, week of 2026-08-16MPP: 23 official, 1 third-party commits, week of 2026-08-23MPP: 17 official, 4 third-party commits, week of 2026-08-30MPP: 17 official, 2 third-party commits, week of 2026-09-06MPP: 11 official, 1 third-party commits, week of 2026-09-13MPP: 13 official, 5 third-party commits, week of 2026-09-20MPP: 58 official, 1 third-party commits, week of 2026-09-27MPP: 17 official, 3 third-party commits, week of 2026-10-04MPP: 24 official, 1 third-party commits, week of 2026-10-11Web Bot Auth93 official · 1,062 third-partyWeb Bot Auth: 1 official, 0 third-party commits, week of 2025-10-19Web Bot Auth: 1 official, 0 third-party commits, week of 2025-10-26Web Bot Auth: 1 official, 10 third-party commits, week of 2025-11-02Web Bot Auth: 0 official, 0 third-party commits, week of 2025-11-09Web Bot Auth: 0 official, 0 third-party commits, week of 2025-11-16Web Bot Auth: 0 official, 0 third-party commits, week of 2025-11-23Web Bot Auth: 0 official, 0 third-party commits, week of 2025-11-30Web Bot Auth: 0 official, 0 third-party commits, week of 2025-12-07Web Bot Auth: 2 official, 0 third-party commits, week of 2025-12-14Web Bot Auth: 0 official, 0 third-party commits, week of 2025-12-21Web Bot Auth: 0 official, 0 third-party commits, week of 2025-12-28Web Bot Auth: 0 official, 0 third-party commits, week of 2026-01-04Web Bot Auth: 2 official, 39 third-party commits, week of 2026-01-11Web Bot Auth: 0 official, 60 third-party commits, week of 2026-01-18Web Bot Auth: 0 official, 93 third-party commits, week of 2026-01-25Web Bot Auth: 0 official, 356 third-party commits, week of 2026-02-01Web Bot Auth: 0 official, 26 third-party commits, week of 2026-02-08Web Bot Auth: 0 official, 106 third-party commits, week of 2026-02-15Web Bot Auth: 0 official, 278 third-party commits, week of 2026-02-22Web Bot Auth: 2 official, 72 third-party commits, week of 2026-03-01Web Bot Auth: 4 official, 0 third-party commits, week of 2026-03-08Web Bot Auth: 0 official, 0 third-party commits, week of 2026-03-15Web Bot Auth: 0 official, 0 third-party commits, week of 2026-03-22Web Bot Auth: 0 official, 0 third-party commits, week of 2026-03-29Web Bot Auth: 0 official, 0 third-party commits, week of 2026-04-05Web Bot Auth: 1 official, 0 third-party commits, week of 2026-04-12Web Bot Auth: 5 official, 0 third-party commits, week of 2026-04-19Web Bot Auth: 1 official, 0 third-party commits, week of 2026-04-26Web Bot Auth: 5 official, 0 third-party commits, week of 2026-05-03Web Bot Auth: 0 official, 0 third-party commits, week of 2026-05-10Web Bot Auth: 0 official, 0 third-party commits, week of 2026-05-17Web Bot Auth: 7 official, 0 third-party commits, week of 2026-05-24Web Bot Auth: 0 official, 0 third-party commits, week of 2026-05-31Web Bot Auth: 3 official, 0 third-party commits, week of 2026-06-07Web Bot Auth: 0 official, 0 third-party commits, week of 2026-06-14Web Bot Auth: 8 official, 0 third-party commits, week of 2026-06-21Web Bot Auth: 12 official, 0 third-party commits, week of 2026-06-28Web Bot Auth: 1 official, 0 third-party commits, week of 2026-07-05Web Bot Auth: 3 official, 0 third-party commits, week of 2026-07-12Web Bot Auth: 7 official, 0 third-party commits, week of 2026-07-19Web Bot Auth: 2 official, 0 third-party commits, week of 2026-07-26Web Bot Auth: 2 official, 0 third-party commits, week of 2026-08-02Web Bot Auth: 3 official, 0 third-party commits, week of 2026-08-09Web Bot Auth: 3 official, 10 third-party commits, week of 2026-08-16Web Bot Auth: 5 official, 0 third-party commits, week of 2026-08-23Web Bot Auth: 5 official, 2 third-party commits, week of 2026-08-30Web Bot Auth: 1 official, 4 third-party commits, week of 2026-09-06Web Bot Auth: 1 official, 0 third-party commits, week of 2026-09-13Web Bot Auth: 0 official, 0 third-party commits, week of 2026-09-20Web Bot Auth: 0 official, 3 third-party commits, week of 2026-09-27Web Bot Auth: 2 official, 3 third-party commits, week of 2026-10-04Web Bot Auth: 3 official, 0 third-party commits, week of 2026-10-11UCP703 official · 310 third-party3600UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: no repository yet (earliest created 2025-12-31)UCP: 0 official, 0 third-party commits, week of 2025-12-28UCP: 0 official, 1 third-party commits, week of 2026-01-04UCP: 38 official, 8 third-party commits, week of 2026-01-11UCP: 28 official, 62 third-party commits, week of 2026-01-18UCP: 20 official, 12 third-party commits, week of 2026-01-25UCP: 4 official, 17 third-party commits, week of 2026-02-01UCP: 11 official, 11 third-party commits, week of 2026-02-08UCP: 19 official, 5 third-party commits, week of 2026-02-15UCP: 17 official, 14 third-party commits, week of 2026-02-22UCP: 12 official, 5 third-party commits, week of 2026-03-01UCP: 21 official, 5 third-party commits, week of 2026-03-08UCP: 16 official, 3 third-party commits, week of 2026-03-15UCP: 4 official, 2 third-party commits, week of 2026-03-22UCP: 15 official, 1 third-party commits, week of 2026-03-29UCP: 8 official, 0 third-party commits, week of 2026-04-05UCP: 10 official, 1 third-party commits, week of 2026-04-12UCP: 26 official, 0 third-party commits, week of 2026-04-19UCP: 9 official, 1 third-party commits, week of 2026-04-26UCP: 7 official, 3 third-party commits, week of 2026-05-03UCP: 11 official, 0 third-party commits, week of 2026-05-10UCP: 13 official, 20 third-party commits, week of 2026-05-17UCP: 3 official, 1 third-party commits, week of 2026-05-24UCP: 2 official, 3 third-party commits, week of 2026-05-31UCP: 10 official, 3 third-party commits, week of 2026-06-07UCP: 27 official, 0 third-party commits, week of 2026-06-14UCP: 17 official, 7 third-party commits, week of 2026-06-21UCP: 12 official, 1 third-party commits, week of 2026-06-28UCP: 13 official, 9 third-party commits, week of 2026-07-05UCP: 25 official, 1 third-party commits, week of 2026-07-12UCP: 32 official, 0 third-party commits, week of 2026-07-19UCP: 23 official, 0 third-party commits, week of 2026-07-26UCP: 19 official, 2 third-party commits, week of 2026-08-02UCP: 63 official, 34 third-party commits, week of 2026-08-09UCP: 39 official, 2 third-party commits, week of 2026-08-16UCP: 17 official, 9 third-party commits, week of 2026-08-23UCP: 15 official, 23 third-party commits, week of 2026-08-30UCP: 9 official, 32 third-party commits, week of 2026-09-06UCP: 7 official, 7 third-party commits, week of 2026-09-13UCP: 21 official, 0 third-party commits, week of 2026-09-20UCP: 20 official, 1 third-party commits, week of 2026-09-27UCP: 18 official, 0 third-party commits, week of 2026-10-04UCP: 22 official, 4 third-party commits, week of 2026-10-11L402272 official · 197 third-partyL402: 0 official, 0 third-party commits, week of 2025-10-18L402: 0 official, 0 third-party commits, week of 2025-10-19L402: 0 official, 0 third-party commits, week of 2025-10-25L402: 0 official, 1 third-party commits, week of 2025-10-26L402: 0 official, 0 third-party commits, week of 2025-11-01L402: 1 official, 1 third-party commits, week of 2025-11-02L402: 0 official, 4 third-party commits, week of 2025-11-09L402: 2 official, 1 third-party commits, week of 2025-11-16L402: 3 official, 2 third-party commits, week of 2025-11-23L402: 0 official, 0 third-party commits, week of 2025-11-30L402: 0 official, 5 third-party commits, week of 2025-12-07L402: 0 official, 0 third-party commits, week of 2025-12-14L402: 0 official, 1 third-party commits, week of 2025-12-21L402: 0 official, 0 third-party commits, week of 2025-12-28L402: 0 official, 0 third-party commits, week of 2026-01-04L402: 6 official, 1 third-party commits, week of 2026-01-11L402: 2 official, 2 third-party commits, week of 2026-01-18L402: 3 official, 2 third-party commits, week of 2026-01-25L402: 1 official, 0 third-party commits, week of 2026-02-01L402: 43 official, 1 third-party commits, week of 2026-02-08L402: 0 official, 2 third-party commits, week of 2026-02-15L402: 1 official, 4 third-party commits, week of 2026-02-22L402: 4 official, 1 third-party commits, week of 2026-03-01L402: 26 official, 1 third-party commits, week of 2026-03-08L402: 20 official, 0 third-party commits, week of 2026-03-15L402: 45 official, 2 third-party commits, week of 2026-03-22L402: 0 official, 4 third-party commits, week of 2026-03-29L402: 1 official, 0 third-party commits, week of 2026-04-05L402: 1 official, 3 third-party commits, week of 2026-04-12L402: 2 official, 1 third-party commits, week of 2026-04-19L402: 1 official, 5 third-party commits, week of 2026-04-26L402: 0 official, 0 third-party commits, week of 2026-05-03L402: 0 official, 2 third-party commits, week of 2026-05-10L402: 0 official, 2 third-party commits, week of 2026-05-17L402: 5 official, 4 third-party commits, week of 2026-05-24L402: 0 official, 4 third-party commits, week of 2026-05-31L402: 0 official, 1 third-party commits, week of 2026-06-07L402: 0 official, 1 third-party commits, week of 2026-06-14L402: 0 official, 2 third-party commits, week of 2026-06-21L402: 2 official, 9 third-party commits, week of 2026-06-28L402: 17 official, 0 third-party commits, week of 2026-07-05L402: 0 official, 2 third-party commits, week of 2026-07-12L402: 0 official, 8 third-party commits, week of 2026-07-19L402: 15 official, 11 third-party commits, week of 2026-07-26L402: 3 official, 8 third-party commits, week of 2026-08-02L402: 17 official, 11 third-party commits, week of 2026-08-09L402: 1 official, 13 third-party commits, week of 2026-08-16L402: 0 official, 17 third-party commits, week of 2026-08-23L402: 3 official, 16 third-party commits, week of 2026-08-30L402: 5 official, 5 third-party commits, week of 2026-09-06L402: 3 official, 18 third-party commits, week of 2026-09-13L402: 22 official, 8 third-party commits, week of 2026-09-20L402: 6 official, 8 third-party commits, week of 2026-09-27L402: 10 official, 0 third-party commits, week of 2026-10-04L402: 1 official, 3 third-party commits, week of 2026-10-11KYA-OS324 officialcreated Mar 2026KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: no repository yet (earliest created 2026-03-10)KYA-OS: 1 official commits, week of 2026-03-08KYA-OS: 6 official commits, week of 2026-03-15KYA-OS: 14 official commits, week of 2026-03-22KYA-OS: 13 official commits, week of 2026-03-29KYA-OS: 0 official commits, week of 2026-04-05KYA-OS: 0 official commits, week of 2026-04-12KYA-OS: 2 official commits, week of 2026-04-19KYA-OS: 0 official commits, week of 2026-04-26KYA-OS: 0 official commits, week of 2026-05-03KYA-OS: 17 official commits, week of 2026-05-10KYA-OS: 5 official commits, week of 2026-05-17KYA-OS: 22 official commits, week of 2026-05-24KYA-OS: 32 official commits, week of 2026-05-31KYA-OS: 3 official commits, week of 2026-06-07KYA-OS: 13 official commits, week of 2026-06-14KYA-OS: 0 official commits, week of 2026-06-21KYA-OS: 12 official commits, week of 2026-06-28KYA-OS: 31 official commits, week of 2026-07-05KYA-OS: 2 official commits, week of 2026-07-12KYA-OS: 18 official commits, week of 2026-07-19KYA-OS: 14 official commits, week of 2026-07-26KYA-OS: 9 official commits, week of 2026-08-02KYA-OS: 10 official commits, week of 2026-08-09KYA-OS: 12 official commits, week of 2026-08-16KYA-OS: 12 official commits, week of 2026-08-23KYA-OS: 0 official commits, week of 2026-08-30KYA-OS: 0 official commits, week of 2026-09-06KYA-OS: 5 official commits, week of 2026-09-13KYA-OS: 19 official commits, week of 2026-09-20KYA-OS: 6 official commits, week of 2026-09-27KYA-OS: 25 official commits, week of 2026-10-04KYA-OS: 21 official commits, week of 2026-10-11ACP100 official · 146 third-partyACP: 0 official, 0 third-party commits, week of 2025-10-19ACP: 0 official, 0 third-party commits, week of 2025-10-26ACP: 0 official, 0 third-party commits, week of 2025-11-02ACP: 0 official, 0 third-party commits, week of 2025-11-09ACP: 0 official, 0 third-party commits, week of 2025-11-16ACP: 0 official, 10 third-party commits, week of 2025-11-23ACP: 1 official, 0 third-party commits, week of 2025-11-30ACP: 0 official, 0 third-party commits, week of 2025-12-07ACP: 5 official, 2 third-party commits, week of 2025-12-14ACP: 0 official, 0 third-party commits, week of 2025-12-21ACP: 0 official, 0 third-party commits, week of 2025-12-28ACP: 4 official, 1 third-party commits, week of 2026-01-04ACP: 5 official, 0 third-party commits, week of 2026-01-11ACP: 4 official, 31 third-party commits, week of 2026-01-18ACP: 8 official, 12 third-party commits, week of 2026-01-25ACP: 17 official, 17 third-party commits, week of 2026-02-01ACP: 12 official, 11 third-party commits, week of 2026-02-08ACP: 6 official, 5 third-party commits, week of 2026-02-15ACP: 4 official, 14 third-party commits, week of 2026-02-22ACP: 0 official, 5 third-party commits, week of 2026-03-01ACP: 3 official, 5 third-party commits, week of 2026-03-08ACP: 4 official, 3 third-party commits, week of 2026-03-15ACP: 0 official, 2 third-party commits, week of 2026-03-22ACP: 0 official, 1 third-party commits, week of 2026-03-29ACP: 2 official, 0 third-party commits, week of 2026-04-05ACP: 7 official, 1 third-party commits, week of 2026-04-12ACP: 4 official, 0 third-party commits, week of 2026-04-19ACP: 2 official, 1 third-party commits, week of 2026-04-26ACP: 1 official, 3 third-party commits, week of 2026-05-03ACP: 2 official, 0 third-party commits, week of 2026-05-10ACP: 2 official, 0 third-party commits, week of 2026-05-17ACP: 0 official, 0 third-party commits, week of 2026-05-24ACP: 2 official, 0 third-party commits, week of 2026-05-31ACP: 1 official, 1 third-party commits, week of 2026-06-07ACP: 3 official, 0 third-party commits, week of 2026-06-14ACP: 0 official, 5 third-party commits, week of 2026-06-21ACP: 0 official, 1 third-party commits, week of 2026-06-28ACP: 0 official, 0 third-party commits, week of 2026-07-05ACP: 1 official, 1 third-party commits, week of 2026-07-12ACP: 0 official, 0 third-party commits, week of 2026-07-19ACP: 0 official, 0 third-party commits, week of 2026-07-26ACP: 0 official, 2 third-party commits, week of 2026-08-02ACP: 0 official, 2 third-party commits, week of 2026-08-09ACP: 0 official, 1 third-party commits, week of 2026-08-16ACP: 0 official, 1 third-party commits, week of 2026-08-23ACP: 0 official, 1 third-party commits, week of 2026-08-30ACP: 0 official, 0 third-party commits, week of 2026-09-06ACP: 0 official, 5 third-party commits, week of 2026-09-13ACP: 0 official, 0 third-party commits, week of 2026-09-20ACP: 0 official, 1 third-party commits, week of 2026-09-27ACP: 0 official, 0 third-party commits, week of 2026-10-04ACP: 0 official, 1 third-party commits, week of 2026-10-11PAP3 official · 176 third-partycreated Oct 2026PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: no repository yet (earliest created 2026-10-09)PAP: 0 official, 42 third-party commits, week of 2026-10-04PAP: 2 official, 134 third-party commits, week of 2026-10-11AP220 official · 124 third-party3600AP2: 0 official, 0 third-party commits, week of 2025-10-19AP2: 4 official, 0 third-party commits, week of 2025-10-26AP2: 0 official, 1 third-party commits, week of 2025-11-02AP2: 3 official, 0 third-party commits, week of 2025-11-09AP2: 2 official, 0 third-party commits, week of 2025-11-16AP2: 0 official, 0 third-party commits, week of 2025-11-23AP2: 0 official, 0 third-party commits, week of 2025-11-30AP2: 0 official, 0 third-party commits, week of 2025-12-07AP2: 1 official, 0 third-party commits, week of 2025-12-14AP2: 0 official, 0 third-party commits, week of 2025-12-21AP2: 0 official, 0 third-party commits, week of 2025-12-28AP2: 0 official, 0 third-party commits, week of 2026-01-04AP2: 1 official, 0 third-party commits, week of 2026-01-11AP2: 1 official, 0 third-party commits, week of 2026-01-18AP2: 1 official, 0 third-party commits, week of 2026-01-25AP2: 0 official, 0 third-party commits, week of 2026-02-01AP2: 1 official, 0 third-party commits, week of 2026-02-08AP2: 0 official, 0 third-party commits, week of 2026-02-15AP2: 0 official, 0 third-party commits, week of 2026-02-22AP2: 0 official, 0 third-party commits, week of 2026-03-01AP2: 0 official, 0 third-party commits, week of 2026-03-08AP2: 0 official, 0 third-party commits, week of 2026-03-15AP2: 0 official, 12 third-party commits, week of 2026-03-22AP2: 0 official, 9 third-party commits, week of 2026-03-29AP2: 0 official, 2 third-party commits, week of 2026-04-05AP2: 0 official, 1 third-party commits, week of 2026-04-12AP2: 1 official, 14 third-party commits, week of 2026-04-19AP2: 5 official, 20 third-party commits, week of 2026-04-26AP2: 0 official, 14 third-party commits, week of 2026-05-03AP2: 0 official, 3 third-party commits, week of 2026-05-10AP2: 0 official, 2 third-party commits, week of 2026-05-17AP2: 0 official, 0 third-party commits, week of 2026-05-24AP2: 0 official, 1 third-party commits, week of 2026-05-31AP2: 0 official, 1 third-party commits, week of 2026-06-07AP2: 0 official, 4 third-party commits, week of 2026-06-14AP2: 0 official, 4 third-party commits, week of 2026-06-21AP2: 0 official, 6 third-party commits, week of 2026-06-28AP2: 0 official, 1 third-party commits, week of 2026-07-05AP2: 0 official, 3 third-party commits, week of 2026-07-12AP2: 0 official, 2 third-party commits, week of 2026-07-19AP2: 0 official, 3 third-party commits, week of 2026-07-26AP2: 0 official, 2 third-party commits, week of 2026-08-02AP2: 0 official, 1 third-party commits, week of 2026-08-09AP2: 0 official, 0 third-party commits, week of 2026-08-16AP2: 0 official, 1 third-party commits, week of 2026-08-23AP2: 0 official, 4 third-party commits, week of 2026-08-30AP2: 0 official, 2 third-party commits, week of 2026-09-06AP2: 0 official, 1 third-party commits, week of 2026-09-13AP2: 0 official, 5 third-party commits, week of 2026-09-20AP2: 0 official, 1 third-party commits, week of 2026-09-27AP2: 0 official, 3 third-party commits, week of 2026-10-04AP2: 0 official, 1 third-party commits, week of 2026-10-11KYAPay62 official · 77 third-partyKYAPay: 0 official, 0 third-party commits, week of 2025-10-18KYAPay: 0 official, 0 third-party commits, week of 2025-10-19KYAPay: 0 official, 0 third-party commits, week of 2025-10-25KYAPay: 0 official, 0 third-party commits, week of 2025-10-26KYAPay: 0 official, 0 third-party commits, week of 2025-11-01KYAPay: 0 official, 0 third-party commits, week of 2025-11-02KYAPay: 0 official, 0 third-party commits, week of 2025-11-09KYAPay: 0 official, 0 third-party commits, week of 2025-11-16KYAPay: 0 official, 0 third-party commits, week of 2025-11-23KYAPay: 0 official, 0 third-party commits, week of 2025-11-30KYAPay: 0 official, 0 third-party commits, week of 2025-12-07KYAPay: 0 official, 0 third-party commits, week of 2025-12-14KYAPay: 0 official, 0 third-party commits, week of 2025-12-21KYAPay: 0 official, 0 third-party commits, week of 2025-12-28KYAPay: 0 official, 0 third-party commits, week of 2026-01-04KYAPay: 0 official, 0 third-party commits, week of 2026-01-11KYAPay: 0 official, 0 third-party commits, week of 2026-01-18KYAPay: 2 official, 0 third-party commits, week of 2026-01-25KYAPay: 2 official, 0 third-party commits, week of 2026-02-01KYAPay: 1 official, 0 third-party commits, week of 2026-02-08KYAPay: 0 official, 0 third-party commits, week of 2026-02-15KYAPay: 3 official, 0 third-party commits, week of 2026-02-22KYAPay: 1 official, 0 third-party commits, week of 2026-03-01KYAPay: 3 official, 0 third-party commits, week of 2026-03-08KYAPay: 3 official, 0 third-party commits, week of 2026-03-15KYAPay: 2 official, 0 third-party commits, week of 2026-03-22KYAPay: 0 official, 0 third-party commits, week of 2026-03-29KYAPay: 2 official, 0 third-party commits, week of 2026-04-05KYAPay: 7 official, 0 third-party commits, week of 2026-04-12KYAPay: 3 official, 0 third-party commits, week of 2026-04-19KYAPay: 3 official, 0 third-party commits, week of 2026-04-26KYAPay: 7 official, 0 third-party commits, week of 2026-05-03KYAPay: 2 official, 0 third-party commits, week of 2026-05-10KYAPay: 3 official, 0 third-party commits, week of 2026-05-17KYAPay: 0 official, 0 third-party commits, week of 2026-05-24KYAPay: 1 official, 0 third-party commits, week of 2026-05-31KYAPay: 0 official, 0 third-party commits, week of 2026-06-07KYAPay: 1 official, 0 third-party commits, week of 2026-06-14KYAPay: 0 official, 0 third-party commits, week of 2026-06-21KYAPay: 0 official, 0 third-party commits, week of 2026-06-28KYAPay: 0 official, 0 third-party commits, week of 2026-07-05KYAPay: 0 official, 0 third-party commits, week of 2026-07-12KYAPay: 2 official, 0 third-party commits, week of 2026-07-19KYAPay: 1 official, 0 third-party commits, week of 2026-07-26KYAPay: 0 official, 0 third-party commits, week of 2026-08-02KYAPay: 0 official, 0 third-party commits, week of 2026-08-09KYAPay: 0 official, 0 third-party commits, week of 2026-08-16KYAPay: 0 official, 0 third-party commits, week of 2026-08-23KYAPay: 1 official, 0 third-party commits, week of 2026-08-30KYAPay: 0 official, 0 third-party commits, week of 2026-09-06KYAPay: 0 official, 50 third-party commits, week of 2026-09-13KYAPay: 0 official, 27 third-party commits, week of 2026-09-20KYAPay: 0 official, 0 third-party commits, week of 2026-09-27KYAPay: 12 official, 0 third-party commits, week of 2026-10-04KYAPay: 0 official, 0 third-party commits, week of 2026-10-11ANS104 official · 14 third-partyANS: 0 official, 0 third-party commits, week of 2025-10-18ANS: 0 official, 0 third-party commits, week of 2025-10-19ANS: 0 official, 0 third-party commits, week of 2025-10-25ANS: 0 official, 0 third-party commits, week of 2025-10-26ANS: 0 official, 0 third-party commits, week of 2025-11-01ANS: 0 official, 0 third-party commits, week of 2025-11-02ANS: 0 official, 0 third-party commits, week of 2025-11-09ANS: 0 official, 0 third-party commits, week of 2025-11-09ANS: 1 official, 0 third-party commits, week of 2025-11-16ANS: 0 official, 0 third-party commits, week of 2025-11-16ANS: 0 official, 0 third-party commits, week of 2025-11-23ANS: 0 official, 0 third-party commits, week of 2025-11-23ANS: 0 official, 0 third-party commits, week of 2025-11-30ANS: 0 official, 0 third-party commits, week of 2025-11-30ANS: 1 official, 0 third-party commits, week of 2025-12-07ANS: 0 official, 0 third-party commits, week of 2025-12-07ANS: 0 official, 0 third-party commits, week of 2025-12-14ANS: 0 official, 0 third-party commits, week of 2025-12-14ANS: 0 official, 0 third-party commits, week of 2025-12-21ANS: 0 official, 0 third-party commits, week of 2025-12-21ANS: 0 official, 0 third-party commits, week of 2025-12-28ANS: 0 official, 0 third-party commits, week of 2025-12-28ANS: 0 official, 0 third-party commits, week of 2026-01-04ANS: 0 official, 0 third-party commits, week of 2026-01-04ANS: 0 official, 0 third-party commits, week of 2026-01-11ANS: 0 official, 0 third-party commits, week of 2026-01-11ANS: 0 official, 0 third-party commits, week of 2026-01-18ANS: 0 official, 0 third-party commits, week of 2026-01-18ANS: 0 official, 0 third-party commits, week of 2026-01-25ANS: 0 official, 0 third-party commits, week of 2026-01-25ANS: 0 official, 0 third-party commits, week of 2026-02-01ANS: 0 official, 0 third-party commits, week of 2026-02-01ANS: 0 official, 0 third-party commits, week of 2026-02-08ANS: 0 official, 0 third-party commits, week of 2026-02-08ANS: 1 official, 0 third-party commits, week of 2026-02-15ANS: 0 official, 0 third-party commits, week of 2026-02-15ANS: 1 official, 0 third-party commits, week of 2026-02-22ANS: 0 official, 0 third-party commits, week of 2026-02-22ANS: 1 official, 0 third-party commits, week of 2026-03-01ANS: 0 official, 0 third-party commits, week of 2026-03-01ANS: 0 official, 0 third-party commits, week of 2026-03-08ANS: 0 official, 0 third-party commits, week of 2026-03-08ANS: 1 official, 0 third-party commits, week of 2026-03-15ANS: 3 official, 0 third-party commits, week of 2026-03-22ANS: 1 official, 0 third-party commits, week of 2026-03-29ANS: 6 official, 0 third-party commits, week of 2026-04-05ANS: 1 official, 0 third-party commits, week of 2026-04-12ANS: 0 official, 0 third-party commits, week of 2026-04-19ANS: 0 official, 0 third-party commits, week of 2026-04-26ANS: 8 official, 0 third-party commits, week of 2026-05-03ANS: 0 official, 0 third-party commits, week of 2026-05-10ANS: 0 official, 0 third-party commits, week of 2026-05-17ANS: 3 official, 0 third-party commits, week of 2026-05-24ANS: 10 official, 0 third-party commits, week of 2026-05-31ANS: 2 official, 0 third-party commits, week of 2026-06-07ANS: 3 official, 0 third-party commits, week of 2026-06-14ANS: 9 official, 0 third-party commits, week of 2026-06-21ANS: 2 official, 11 third-party commits, week of 2026-06-28ANS: 1 official, 1 third-party commits, week of 2026-07-05ANS: 15 official, 0 third-party commits, week of 2026-07-12ANS: 11 official, 0 third-party commits, week of 2026-07-19ANS: 0 official, 1 third-party commits, week of 2026-07-26ANS: 1 official, 0 third-party commits, week of 2026-08-02ANS: 0 official, 0 third-party commits, week of 2026-08-09ANS: 2 official, 0 third-party commits, week of 2026-08-16ANS: 2 official, 0 third-party commits, week of 2026-08-23ANS: 3 official, 0 third-party commits, week of 2026-08-30ANS: 4 official, 1 third-party commits, week of 2026-09-06ANS: 2 official, 0 third-party commits, week of 2026-09-13ANS: 0 official, 0 third-party commits, week of 2026-09-20ANS: 2 official, 0 third-party commits, week of 2026-09-27ANS: 1 official, 0 third-party commits, week of 2026-10-04ANS: 6 official, 0 third-party commits, week of 2026-10-11TAP1 official · 112 third-partyTAP: 0 official, 0 third-party commits, week of 2025-10-19TAP: 1 official, 0 third-party commits, week of 2025-10-26TAP: 0 official, 0 third-party commits, week of 2025-11-02TAP: 0 official, 0 third-party commits, week of 2025-11-09TAP: 0 official, 0 third-party commits, week of 2025-11-16TAP: 0 official, 0 third-party commits, week of 2025-11-23TAP: 0 official, 0 third-party commits, week of 2025-11-30TAP: 0 official, 0 third-party commits, week of 2025-12-07TAP: 0 official, 0 third-party commits, week of 2025-12-14TAP: 0 official, 0 third-party commits, week of 2025-12-21TAP: 0 official, 0 third-party commits, week of 2025-12-28TAP: 0 official, 0 third-party commits, week of 2026-01-04TAP: 0 official, 0 third-party commits, week of 2026-01-11TAP: 0 official, 0 third-party commits, week of 2026-01-18TAP: 0 official, 0 third-party commits, week of 2026-01-25TAP: 0 official, 0 third-party commits, week of 2026-02-01TAP: 0 official, 0 third-party commits, week of 2026-02-08TAP: 0 official, 0 third-party commits, week of 2026-02-15TAP: 0 official, 0 third-party commits, week of 2026-02-22TAP: 0 official, 0 third-party commits, week of 2026-03-01TAP: 0 official, 0 third-party commits, week of 2026-03-08TAP: 0 official, 0 third-party commits, week of 2026-03-15TAP: 0 official, 0 third-party commits, week of 2026-03-22TAP: 0 official, 0 third-party commits, week of 2026-03-29TAP: 0 official, 0 third-party commits, week of 2026-04-05TAP: 0 official, 0 third-party commits, week of 2026-04-12TAP: 0 official, 0 third-party commits, week of 2026-04-19TAP: 0 official, 0 third-party commits, week of 2026-04-26TAP: 0 official, 0 third-party commits, week of 2026-05-03TAP: 0 official, 0 third-party commits, week of 2026-05-10TAP: 0 official, 9 third-party commits, week of 2026-05-17TAP: 0 official, 19 third-party commits, week of 2026-05-24TAP: 0 official, 5 third-party commits, week of 2026-05-31TAP: 0 official, 2 third-party commits, week of 2026-06-07TAP: 0 official, 1 third-party commits, week of 2026-06-14TAP: 0 official, 2 third-party commits, week of 2026-06-21TAP: 0 official, 3 third-party commits, week of 2026-06-28TAP: 0 official, 0 third-party commits, week of 2026-07-05TAP: 0 official, 1 third-party commits, week of 2026-07-12TAP: 0 official, 5 third-party commits, week of 2026-07-19TAP: 0 official, 0 third-party commits, week of 2026-07-26TAP: 0 official, 0 third-party commits, week of 2026-08-02TAP: 0 official, 7 third-party commits, week of 2026-08-09TAP: 0 official, 4 third-party commits, week of 2026-08-16TAP: 0 official, 4 third-party commits, week of 2026-08-23TAP: 0 official, 8 third-party commits, week of 2026-08-30TAP: 0 official, 2 third-party commits, week of 2026-09-06TAP: 0 official, 1 third-party commits, week of 2026-09-13TAP: 0 official, 12 third-party commits, week of 2026-09-20TAP: 0 official, 12 third-party commits, week of 2026-09-27TAP: 0 official, 13 third-party commits, week of 2026-10-04TAP: 0 official, 2 third-party commits, week of 2026-10-11x40147 official · 4 third-partycreated Feb 2026x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: no repository yet (earliest created 2026-02-24)x401: 0 official, 0 third-party commits, week of 2026-02-22x401: 0 official, 0 third-party commits, week of 2026-03-01x401: 0 official, 0 third-party commits, week of 2026-03-08x401: 0 official, 0 third-party commits, week of 2026-03-15x401: 0 official, 0 third-party commits, week of 2026-03-22x401: 0 official, 0 third-party commits, week of 2026-03-29x401: 0 official, 0 third-party commits, week of 2026-04-05x401: 0 official, 0 third-party commits, week of 2026-04-12x401: 0 official, 0 third-party commits, week of 2026-04-19x401: 0 official, 0 third-party commits, week of 2026-04-26x401: 0 official, 0 third-party commits, week of 2026-05-03x401: 0 official, 0 third-party commits, week of 2026-05-10x401: 0 official, 0 third-party commits, week of 2026-05-17x401: 0 official, 0 third-party commits, week of 2026-05-24x401: 0 official, 0 third-party commits, week of 2026-05-31x401: 3 official, 0 third-party commits, week of 2026-06-07x401: 0 official, 0 third-party commits, week of 2026-06-14x401: 14 official, 0 third-party commits, week of 2026-06-21x401: 4 official, 0 third-party commits, week of 2026-06-28x401: 0 official, 0 third-party commits, week of 2026-07-05x401: 3 official, 0 third-party commits, week of 2026-07-12x401: 1 official, 0 third-party commits, week of 2026-07-19x401: 3 official, 0 third-party commits, week of 2026-07-26x401: 1 official, 0 third-party commits, week of 2026-08-02x401: 0 official, 0 third-party commits, week of 2026-08-09x401: 1 official, 0 third-party commits, week of 2026-08-16x401: 0 official, 0 third-party commits, week of 2026-08-23x401: 1 official, 4 third-party commits, week of 2026-08-30x401: 1 official, 0 third-party commits, week of 2026-09-06x401: 2 official, 0 third-party commits, week of 2026-09-13x401: 1 official, 0 third-party commits, week of 2026-09-20x401: 6 official, 0 third-party commits, week of 2026-09-27x401: 5 official, 0 third-party commits, week of 2026-10-04x401: 1 official, 0 third-party commits, week of 2026-10-11Baselayer KYANo dataclosed product, no public repoNot covered by this chartProtocols with no panelBaselayer KYA: closed commercial product, no public repository.Official repositories added together in each panelA2A: A2A, a2a-python, a2a-js, a2a-java, a2a-go, a2a-dotnet, a2a-rs, a2a-samples, a2a-inspectorMCP: modelcontextprotocol, typescript-sdk, python-sdk, java-sdk, go-sdk, csharp-sdk, rust-sdkx402: x402, wg-identityUCP: ucp, python-sdk, js-sdk, samples, conformance, ucp-schemaAP2: AP2ACP: agentic-commerce-protocolTAP: trusted-agent-protocolMPP: mppx, mpp-specsL402: aperture, L402, lightning-agent-toolsWeb Bot Auth: web-bot-authANS: ans, ans-registryx401: x401, x401-nodeKYA-OS: kya-os-mcpPAP: personal-agent-protocolKYAPay: kyapay, kyapay_a2aThird-party repositories added together (hand-picked examples; ‡ = counted under more than one protocol)A2A: fasta2a, ra2a, a2ajavaMCP: fastmcp, mcp-use, mcp-gox402: pay‡, x402-rs, a2a-x402UCP: Retail-Agentic-Commerce‡, ucp-cli, magento2-universal-commerce-moduleAP2: pay‡, ap2javaACP: Retail-Agentic-Commerce‡, acp-handler, ACP-Checkout-GatewayTAP: inflow-nodeMPP: pay‡, faremeterL402: l402, ngx-l402, l402-pythonWeb Bot Auth: vestauth, samesame, regent-httpsigANS: Agent-Name-Service, ans-sdk-swiftx401: x401, x401KYA-OS: none foundPAP: personal-agent-protocol, pi-poppy, poppyseedKYAPay: TollstileHow third-party repositories were chosenUp to three per protocol that implement the protocol itself (SDK, server, library, plugin), highest stars first,after setting aside applications that merely use it and curated lists. This is a sample, not a census.GitHub repositories tagged with each protocol topic, applications included: MCP 37,653, x402 3,827, A2A 604, L402 110, UCP 66, Web Bot Auth 41, ACP 27, AP2 19.Not addedx401-ruby: GitHub returned no commit statistics for these.Default branch only. Forks, other branches and private repositories are not counted. \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/data.json b/docs/research/tools/capability-map/traction/data.json index 91eff9e..6cf83bf 100644 --- a/docs/research/tools/capability-map/traction/data.json +++ b/docs/research/tools/capability-map/traction/data.json @@ -24,7 +24,7 @@ }, "UCP": { "repo": "Universal-Commerce-Protocol/ucp", - "stars": 3430, + "stars": 3429, "forks": 480, "created": "2025-12-31", "pushed": "2026-10-16" @@ -5737,7 +5737,6 @@ "A2A": [ { "repo": "a2aproject/a2a-python", - "scope": "first-party", "stars": 2203, "created": "2025-05-09", "pushed": "2026-10-16", @@ -5952,14 +5951,14 @@ 6 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-js", - "scope": "first-party", "stars": 643, "created": "2025-05-27", - "pushed": "2026-10-15", + "pushed": "2026-10-16", "commits52w": 352, "weeks": [ [ @@ -6171,11 +6170,11 @@ 4 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-java", - "scope": "first-party", "stars": 505, "created": "2025-05-02", "pushed": "2026-10-15", @@ -6390,14 +6389,14 @@ 3 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-go", - "scope": "first-party", "stars": 487, "created": "2025-05-30", - "pushed": "2026-10-15", + "pushed": "2026-10-16", "commits52w": 252, "weeks": [ [ @@ -6609,11 +6608,11 @@ 4 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-dotnet", - "scope": "first-party", "stars": 267, "created": "2025-05-29", "pushed": "2026-10-15", @@ -6828,21 +6827,230 @@ 10 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-rs", - "scope": "first-party", "stars": 94, "created": "2026-04-03", "pushed": "2026-10-16", - "commits52w": null, - "weeks": null, - "archived": false + "commits52w": 250, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 22 + ], + [ + 1775347200, + 25 + ], + [ + 1775952000, + 4 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 6 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 2 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 4 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 9 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 4 + ], + [ + 1784419200, + 4 + ], + [ + 1785024000, + 4 + ], + [ + 1785628800, + 4 + ], + [ + 1786233600, + 2 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 14 + ], + [ + 1788048000, + 2 + ], + [ + 1788652800, + 7 + ], + [ + 1789257600, + 63 + ], + [ + 1789862400, + 21 + ], + [ + 1790467200, + 13 + ], + [ + 1791072000, + 5 + ], + [ + 1791676800, + 26 + ] + ], + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-samples", - "scope": "first-party", "stars": 1799, "created": "2025-05-27", "pushed": "2026-09-30", @@ -7057,11 +7265,11 @@ 0 ] ], - "archived": false + "archived": false, + "scope": "official" }, { "repo": "a2aproject/a2a-inspector", - "scope": "first-party", "stars": 501, "created": "2025-06-10", "pushed": "2026-10-01", @@ -7276,57 +7484,55 @@ 0 ] ], - "archived": false - } - ], - "MCP": [ + "archived": false, + "scope": "official" + }, { - "repo": "modelcontextprotocol/typescript-sdk", - "scope": "first-party", - "stars": 13591, - "created": "2024-09-24", - "pushed": "2026-10-14", - "commits52w": 468, + "repo": "pydantic/fasta2a", + "stars": 222, + "created": "2025-07-10", + "pushed": "2026-10-16", + "commits52w": 17, "weeks": [ [ 1760832000, - 2 + 0 ], [ 1761436800, - 4 + 0 ], [ 1762041600, - 12 + 0 ], [ 1762646400, - 7 + 0 ], [ 1763251200, - 20 + 0 ], [ 1763856000, - 18 + 0 ], [ 1764460800, - 34 + 0 ], [ 1765065600, - 8 + 0 ], [ 1765670400, - 13 + 0 ], [ 1766275200, - 1 + 0 ], [ 1766880000, @@ -7334,123 +7540,123 @@ ], [ 1767484800, - 6 + 0 ], [ 1768089600, - 6 + 0 ], [ 1768694400, - 12 + 0 ], [ 1769299200, - 3 + 0 ], [ 1769904000, - 14 + 0 ], [ 1770508800, - 15 + 0 ], [ 1771113600, - 8 + 0 ], [ 1771718400, - 8 + 0 ], [ 1772323200, - 11 + 0 ], [ 1772928000, - 4 + 6 ], [ 1773532800, - 1 + 0 ], [ 1774137600, - 27 + 0 ], [ 1774742400, - 33 + 0 ], [ 1775347200, - 1 + 0 ], [ 1775952000, - 7 + 0 ], [ 1776556800, - 2 + 0 ], [ 1777161600, - 12 + 0 ], [ 1777766400, - 1 + 0 ], [ 1778371200, - 1 + 0 ], [ 1778976000, - 3 + 0 ], [ 1779580800, - 3 + 0 ], [ 1780185600, - 9 + 0 ], [ 1780790400, - 8 + 1 ], [ 1781395200, - 5 + 0 ], [ 1782000000, - 7 + 0 ], [ 1782604800, - 38 + 0 ], [ 1783209600, - 18 + 0 ], [ 1783814400, - 9 + 0 ], [ 1784419200, - 3 + 0 ], [ 1785024000, - 7 + 1 ], [ 1785628800, @@ -7458,15 +7664,15 @@ ], [ 1786233600, - 1 + 0 ], [ 1786838400, - 7 + 0 ], [ 1787443200, - 2 + 0 ], [ 1788048000, @@ -7482,66 +7688,66 @@ ], [ 1789862400, - 5 + 0 ], [ 1790467200, - 37 + 0 ], [ 1791072000, - 6 + 2 ], [ 1791676800, - 3 + 1 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { - "repo": "modelcontextprotocol/python-sdk", - "scope": "first-party", - "stars": 24593, - "created": "2024-09-24", - "pushed": "2026-10-13", - "commits52w": 474, + "repo": "qntx-labs/ra2a", + "stars": 169, + "created": "2026-01-30", + "pushed": "2026-10-08", + "commits52w": 117, "weeks": [ [ - 1760832000, - 7 + 1760828400, + 0 ], [ - 1761436800, - 11 + 1761433200, + 0 ], [ - 1762041600, - 5 + 1762038000, + 0 ], [ 1762646400, - 10 + 0 ], [ 1763251200, - 6 + 0 ], [ 1763856000, - 10 + 0 ], [ 1764460800, - 9 + 0 ], [ 1765065600, - 9 + 0 ], [ 1765670400, - 8 + 0 ], [ 1766275200, @@ -7549,71 +7755,71 @@ ], [ 1766880000, - 2 + 0 ], [ 1767484800, - 11 + 0 ], [ 1768089600, - 30 + 0 ], [ 1768694400, - 21 + 0 ], [ 1769299200, - 8 + 14 ], [ 1769904000, - 11 + 9 ], [ 1770508800, - 12 + 11 ], [ 1771113600, - 13 + 0 ], [ 1771718400, - 1 + 23 ], [ 1772323200, - 7 + 3 ], [ 1772928000, - 6 + 1 ], [ 1773532800, - 10 + 0 ], [ 1774137600, - 4 + 5 ], [ 1774742400, - 4 + 16 ], [ 1775347200, - 2 + 8 ], [ 1775952000, - 7 + 0 ], [ 1776556800, - 0 + 1 ], [ 1777161600, @@ -7621,7 +7827,7 @@ ], [ 1777766400, - 3 + 0 ], [ 1778371200, @@ -7629,71 +7835,71 @@ ], [ 1778976000, - 2 + 0 ], [ 1779580800, - 3 + 0 ], [ 1780185600, - 14 + 0 ], [ 1780790400, - 8 + 0 ], [ 1781395200, - 31 + 0 ], [ 1782000000, - 32 + 3 ], [ 1782604800, - 28 + 0 ], [ 1783209600, - 8 + 2 ], [ 1783814400, - 6 + 2 ], [ 1784419200, - 9 + 0 ], [ 1785024000, - 25 + 1 ], [ 1785628800, - 0 + 4 ], [ 1786233600, - 4 + 3 ], [ 1786838400, - 13 + 3 ], [ 1787443200, - 9 + 1 ], [ 1788048000, - 12 + 5 ], [ 1788652800, - 3 + 1 ], [ 1789257600, @@ -7701,30 +7907,30 @@ ], [ 1789862400, - 1 + 0 ], [ 1790467200, - 29 + 0 ], [ 1791072000, - 1 + 0 ], [ 1791676800, - 8 + 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { - "repo": "modelcontextprotocol/java-sdk", - "scope": "first-party", - "stars": 3739, - "created": "2025-01-20", - "pushed": "2026-10-15", - "commits52w": 202, + "repo": "vishalmysore/a2ajava", + "stars": 108, + "created": "2025-04-25", + "pushed": "2026-07-22", + "commits52w": 17, "weeks": [ [ 1760832000, @@ -7732,27 +7938,27 @@ ], [ 1761436800, - 7 + 0 ], [ 1762041600, - 1 + 0 ], [ 1762646400, - 6 + 0 ], [ 1763251200, - 6 + 0 ], [ 1763856000, - 1 + 0 ], [ 1764460800, - 1 + 0 ], [ 1765065600, @@ -7760,7 +7966,7 @@ ], [ 1765670400, - 2 + 0 ], [ 1766275200, @@ -7772,43 +7978,43 @@ ], [ 1767484800, - 4 + 3 ], [ 1768089600, - 2 + 3 ], [ 1768694400, - 1 + 4 ], [ 1769299200, - 4 + 0 ], [ 1769904000, - 6 + 5 ], [ 1770508800, - 8 + 0 ], [ 1771113600, - 29 + 0 ], [ 1771718400, - 5 + 0 ], [ 1772323200, - 9 + 0 ], [ 1772928000, - 3 + 0 ], [ 1773532800, @@ -7816,31 +8022,31 @@ ], [ 1774137600, - 1 + 0 ], [ 1774742400, - 7 + 0 ], [ 1775347200, - 3 + 0 ], [ 1775952000, - 1 + 0 ], [ 1776556800, - 3 + 0 ], [ 1777161600, - 1 + 0 ], [ 1777766400, - 5 + 0 ], [ 1778371200, @@ -7848,19 +8054,19 @@ ], [ 1778976000, - 5 + 0 ], [ 1779580800, - 3 + 0 ], [ 1780185600, - 2 + 0 ], [ 1780790400, - 7 + 0 ], [ 1781395200, @@ -7868,15 +8074,15 @@ ], [ 1782000000, - 7 + 0 ], [ 1782604800, - 2 + 0 ], [ 1783209600, - 6 + 0 ], [ 1783814400, @@ -7884,7 +8090,7 @@ ], [ 1784419200, - 0 + 2 ], [ 1785024000, @@ -7892,7 +8098,7 @@ ], [ 1785628800, - 3 + 0 ], [ 1786233600, @@ -7900,23 +8106,23 @@ ], [ 1786838400, - 6 + 0 ], [ 1787443200, - 6 + 0 ], [ 1788048000, - 7 + 0 ], [ 1788652800, - 3 + 0 ], [ 1789257600, - 13 + 0 ], [ 1789862400, @@ -7924,72 +8130,64 @@ ], [ 1790467200, - 1 + 0 ], [ 1791072000, - 6 + 0 ], [ 1791676800, - 9 + 0 ] ], - "archived": false - }, - { - "repo": "modelcontextprotocol/go-sdk", - "scope": "first-party", - "stars": 5231, - "created": "2025-04-23", - "pushed": "2026-10-16", - "commits52w": null, - "weeks": null, - "archived": false - }, + "archived": false, + "scope": "third-party" + } + ], + "MCP": [ { - "repo": "modelcontextprotocol/csharp-sdk", - "scope": "first-party", - "stars": 4587, - "created": "2025-03-10", - "pushed": "2026-10-15", - "commits52w": 456, + "repo": "modelcontextprotocol/typescript-sdk", + "stars": 13592, + "created": "2024-09-24", + "pushed": "2026-10-14", + "commits52w": 468, "weeks": [ [ 1760832000, - 8 + 2 ], [ 1761436800, - 5 + 4 ], [ 1762041600, - 5 + 12 ], [ 1762646400, - 4 + 7 ], [ 1763251200, - 26 + 20 ], [ 1763856000, - 13 + 18 ], [ 1764460800, - 17 + 34 ], [ 1765065600, - 12 + 8 ], [ 1765670400, - 12 + 13 ], [ 1766275200, @@ -7997,39 +8195,39 @@ ], [ 1766880000, - 1 + 0 ], [ 1767484800, - 5 + 6 ], [ 1768089600, - 10 + 6 ], [ 1768694400, - 9 + 12 ], [ 1769299200, - 27 + 3 ], [ 1769904000, - 8 + 14 ], [ 1770508800, - 8 + 15 ], [ 1771113600, - 51 + 8 ], [ 1771718400, - 39 + 8 ], [ 1772323200, @@ -8037,39 +8235,39 @@ ], [ 1772928000, - 0 + 4 ], [ 1773532800, - 2 + 1 ], [ 1774137600, - 13 + 27 ], [ 1774742400, - 12 + 33 ], [ 1775347200, - 4 + 1 ], [ 1775952000, - 1 + 7 ], [ 1776556800, - 0 + 2 ], [ 1777161600, - 13 + 12 ], [ 1777766400, - 8 + 1 ], [ 1778371200, @@ -8077,19 +8275,19 @@ ], [ 1778976000, - 2 + 3 ], [ 1779580800, - 4 + 3 ], [ 1780185600, - 17 + 9 ], [ 1780790400, - 2 + 8 ], [ 1781395200, @@ -8097,47 +8295,47 @@ ], [ 1782000000, - 8 + 7 ], [ 1782604800, - 3 + 38 ], [ 1783209600, - 4 + 18 ], [ 1783814400, - 8 + 9 ], [ 1784419200, - 23 + 3 ], [ 1785024000, - 25 + 7 ], [ 1785628800, - 11 + 0 ], [ 1786233600, - 8 + 1 ], [ 1786838400, - 2 + 7 ], [ 1787443200, - 0 + 2 ], [ 1788048000, - 1 + 3 ], [ 1788652800, @@ -8145,42 +8343,42 @@ ], [ 1789257600, - 2 + 1 ], [ 1789862400, - 0 + 5 ], [ 1790467200, - 0 + 37 ], [ 1791072000, - 1 + 6 ], [ 1791676800, - 2 + 3 ] ], - "archived": false + "archived": false, + "scope": "official" }, { - "repo": "modelcontextprotocol/rust-sdk", - "scope": "first-party", - "stars": 4018, - "created": "2025-02-18", - "pushed": "2026-10-15", - "commits52w": 479, + "repo": "modelcontextprotocol/python-sdk", + "stars": 24593, + "created": "2024-09-24", + "pushed": "2026-10-16", + "commits52w": 475, "weeks": [ [ 1760832000, - 4 + 7 ], [ 1761436800, - 2 + 11 ], [ 1762041600, @@ -8188,55 +8386,55 @@ ], [ 1762646400, - 1 + 10 ], [ 1763251200, - 8 + 6 ], [ 1763856000, - 3 + 10 ], [ 1764460800, - 7 + 9 ], [ 1765065600, - 8 + 9 ], [ 1765670400, - 6 + 8 ], [ 1766275200, - 3 + 0 ], [ 1766880000, - 0 + 2 ], [ 1767484800, - 6 + 11 ], [ 1768089600, - 15 + 30 ], [ 1768694400, - 5 + 21 ], [ 1769299200, - 2 + 8 ], [ 1769904000, - 8 + 11 ], [ 1770508800, @@ -8244,35 +8442,35 @@ ], [ 1771113600, - 9 + 13 ], [ 1771718400, - 19 + 1 ], [ 1772323200, - 18 + 7 ], [ 1772928000, - 15 + 6 ], [ 1773532800, - 4 + 10 ], [ 1774137600, - 12 + 4 ], [ 1774742400, - 3 + 4 ], [ 1775347200, - 13 + 2 ], [ 1775952000, @@ -8280,19 +8478,19 @@ ], [ 1776556800, - 6 + 0 ], [ 1777161600, - 4 + 0 ], [ 1777766400, - 5 + 3 ], [ 1778371200, - 5 + 0 ], [ 1778976000, @@ -8304,96 +8502,94 @@ ], [ 1780185600, - 3 + 14 ], [ 1780790400, - 6 + 8 ], [ 1781395200, - 6 + 31 ], [ 1782000000, - 19 + 32 ], [ 1782604800, - 10 + 28 ], [ 1783209600, - 16 + 8 ], [ 1783814400, - 19 + 6 ], [ 1784419200, - 27 + 9 ], [ 1785024000, - 38 + 25 ], [ 1785628800, - 16 + 0 ], [ 1786233600, - 7 + 4 ], [ 1786838400, - 10 + 13 ], [ 1787443200, - 10 + 9 ], [ 1788048000, - 7 + 12 ], [ 1788652800, - 15 + 3 ], [ 1789257600, - 11 + 1 ], [ 1789862400, - 14 + 1 ], [ 1790467200, - 6 + 29 ], [ 1791072000, - 10 + 1 ], [ 1791676800, 9 ] ], - "archived": false - } - ], - "x402": [ + "archived": false, + "scope": "official" + }, { - "repo": "x402-foundation/wg-identity", - "scope": "first-party", - "stars": 4, - "created": "2026-08-03", - "pushed": "2026-08-17", - "commits52w": 13, + "repo": "modelcontextprotocol/java-sdk", + "stars": 3739, + "created": "2025-01-20", + "pushed": "2026-10-16", + "commits52w": 206, "weeks": [ [ 1760832000, @@ -8401,83 +8597,6886 @@ ], [ 1761436800, - 0 + 7 ], [ 1762041600, - 0 + 1 ], [ - 1762650000, + 1762646400, + 6 + ], + [ + 1763251200, + 6 + ], + [ + 1763856000, + 1 + ], + [ + 1764460800, + 1 + ], + [ + 1765065600, 0 ], [ - 1763254800, + 1765670400, + 2 + ], + [ + 1766275200, 0 ], [ - 1763859600, + 1766880000, 0 ], [ - 1764464400, + 1767484800, + 4 + ], + [ + 1768089600, + 2 + ], + [ + 1768694400, + 1 + ], + [ + 1769299200, + 4 + ], + [ + 1769904000, + 6 + ], + [ + 1770508800, + 8 + ], + [ + 1771113600, + 29 + ], + [ + 1771718400, + 5 + ], + [ + 1772323200, + 9 + ], + [ + 1772928000, + 3 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 1 + ], + [ + 1774742400, + 7 + ], + [ + 1775347200, + 3 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 5 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 5 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 2 + ], + [ + 1780790400, + 7 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 7 + ], + [ + 1782604800, + 2 + ], + [ + 1783209600, + 6 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 3 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 6 + ], + [ + 1788048000, + 7 + ], + [ + 1788652800, + 3 + ], + [ + 1789257600, + 13 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 6 + ], + [ + 1791676800, + 13 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "modelcontextprotocol/go-sdk", + "stars": 5233, + "created": "2025-04-23", + "pushed": "2026-10-16", + "commits52w": 367, + "weeks": [ + [ + 1760832000, + 5 + ], + [ + 1761436800, + 5 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 3 + ], + [ + 1763251200, + 2 + ], + [ + 1763856000, + 2 + ], + [ + 1764460800, + 10 + ], + [ + 1765065600, + 20 + ], + [ + 1765670400, + 2 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 2 + ], + [ + 1767484800, + 4 + ], + [ + 1768089600, + 3 + ], + [ + 1768694400, + 3 + ], + [ + 1769299200, + 6 + ], + [ + 1769904000, + 9 + ], + [ + 1770508800, + 6 + ], + [ + 1771113600, + 17 + ], + [ + 1771718400, + 4 + ], + [ + 1772323200, + 10 + ], + [ + 1772928000, + 4 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 2 + ], + [ + 1774742400, + 17 + ], + [ + 1775347200, + 3 + ], + [ + 1775952000, + 2 + ], + [ + 1776556800, + 6 + ], + [ + 1777161600, + 6 + ], + [ + 1777766400, + 13 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 1 + ], + [ + 1779580800, + 6 + ], + [ + 1780185600, + 6 + ], + [ + 1780790400, + 4 + ], + [ + 1781395200, + 10 + ], + [ + 1782000000, + 11 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 16 + ], + [ + 1783814400, + 12 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 4 + ], + [ + 1785628800, + 14 + ], + [ + 1786233600, + 3 + ], + [ + 1786838400, + 8 + ], + [ + 1787443200, + 10 + ], + [ + 1788048000, + 14 + ], + [ + 1788652800, + 3 + ], + [ + 1789257600, + 12 + ], + [ + 1789862400, + 9 + ], + [ + 1790467200, + 15 + ], + [ + 1791072000, + 10 + ], + [ + 1791676800, + 23 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "modelcontextprotocol/csharp-sdk", + "stars": 4586, + "created": "2025-03-10", + "pushed": "2026-10-15", + "commits52w": 456, + "weeks": [ + [ + 1760832000, + 8 + ], + [ + 1761436800, + 5 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 4 + ], + [ + 1763251200, + 26 + ], + [ + 1763856000, + 13 + ], + [ + 1764460800, + 17 + ], + [ + 1765065600, + 12 + ], + [ + 1765670400, + 12 + ], + [ + 1766275200, + 1 + ], + [ + 1766880000, + 1 + ], + [ + 1767484800, + 5 + ], + [ + 1768089600, + 10 + ], + [ + 1768694400, + 9 + ], + [ + 1769299200, + 27 + ], + [ + 1769904000, + 8 + ], + [ + 1770508800, + 8 + ], + [ + 1771113600, + 51 + ], + [ + 1771718400, + 39 + ], + [ + 1772323200, + 11 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 13 + ], + [ + 1774742400, + 12 + ], + [ + 1775347200, + 4 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 13 + ], + [ + 1777766400, + 8 + ], + [ + 1778371200, + 1 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 4 + ], + [ + 1780185600, + 17 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 5 + ], + [ + 1782000000, + 8 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 4 + ], + [ + 1783814400, + 8 + ], + [ + 1784419200, + 23 + ], + [ + 1785024000, + 25 + ], + [ + 1785628800, + 11 + ], + [ + 1786233600, + 8 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 2 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 2 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "modelcontextprotocol/rust-sdk", + "stars": 4018, + "created": "2025-02-18", + "pushed": "2026-10-15", + "commits52w": 479, + "weeks": [ + [ + 1760832000, + 4 + ], + [ + 1761436800, + 2 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 1 + ], + [ + 1763251200, + 8 + ], + [ + 1763856000, + 3 + ], + [ + 1764460800, + 7 + ], + [ + 1765065600, + 8 + ], + [ + 1765670400, + 6 + ], + [ + 1766275200, + 3 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 6 + ], + [ + 1768089600, + 15 + ], + [ + 1768694400, + 5 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 8 + ], + [ + 1770508800, + 12 + ], + [ + 1771113600, + 9 + ], + [ + 1771718400, + 19 + ], + [ + 1772323200, + 18 + ], + [ + 1772928000, + 15 + ], + [ + 1773532800, + 4 + ], + [ + 1774137600, + 12 + ], + [ + 1774742400, + 3 + ], + [ + 1775347200, + 13 + ], + [ + 1775952000, + 7 + ], + [ + 1776556800, + 6 + ], + [ + 1777161600, + 4 + ], + [ + 1777766400, + 5 + ], + [ + 1778371200, + 5 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 3 + ], + [ + 1780185600, + 3 + ], + [ + 1780790400, + 6 + ], + [ + 1781395200, + 6 + ], + [ + 1782000000, + 19 + ], + [ + 1782604800, + 10 + ], + [ + 1783209600, + 16 + ], + [ + 1783814400, + 19 + ], + [ + 1784419200, + 27 + ], + [ + 1785024000, + 38 + ], + [ + 1785628800, + 16 + ], + [ + 1786233600, + 7 + ], + [ + 1786838400, + 10 + ], + [ + 1787443200, + 10 + ], + [ + 1788048000, + 7 + ], + [ + 1788652800, + 15 + ], + [ + 1789257600, + 11 + ], + [ + 1789862400, + 14 + ], + [ + 1790467200, + 6 + ], + [ + 1791072000, + 10 + ], + [ + 1791676800, + 9 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "PrefectHQ/fastmcp", + "stars": 28102, + "created": "2024-11-30", + "pushed": "2026-10-16", + "commits52w": 1750, + "weeks": [ + [ + 1760832000, + 51 + ], + [ + 1761436800, + 28 + ], + [ + 1762041600, + 25 + ], + [ + 1762646400, + 17 + ], + [ + 1763251200, + 18 + ], + [ + 1763856000, + 4 + ], + [ + 1764460800, + 57 + ], + [ + 1765065600, + 35 + ], + [ + 1765670400, + 23 + ], + [ + 1766275200, + 63 + ], + [ + 1766880000, + 8 + ], + [ + 1767484800, + 29 + ], + [ + 1768089600, + 63 + ], + [ + 1768694400, + 65 + ], + [ + 1769299200, + 25 + ], + [ + 1769904000, + 31 + ], + [ + 1770508800, + 45 + ], + [ + 1771113600, + 44 + ], + [ + 1771718400, + 44 + ], + [ + 1772323200, + 68 + ], + [ + 1772928000, + 30 + ], + [ + 1773532800, + 37 + ], + [ + 1774137600, + 58 + ], + [ + 1774742400, + 27 + ], + [ + 1775347200, + 34 + ], + [ + 1775952000, + 79 + ], + [ + 1776556800, + 16 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 18 + ], + [ + 1778371200, + 9 + ], + [ + 1778976000, + 38 + ], + [ + 1779580800, + 9 + ], + [ + 1780185600, + 9 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 31 + ], + [ + 1782604800, + 2 + ], + [ + 1783209600, + 48 + ], + [ + 1783814400, + 31 + ], + [ + 1784419200, + 96 + ], + [ + 1785024000, + 82 + ], + [ + 1785628800, + 28 + ], + [ + 1786233600, + 21 + ], + [ + 1786838400, + 8 + ], + [ + 1787443200, + 16 + ], + [ + 1788048000, + 28 + ], + [ + 1788652800, + 11 + ], + [ + 1789257600, + 26 + ], + [ + 1789862400, + 59 + ], + [ + 1790467200, + 21 + ], + [ + 1791072000, + 134 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "mcp-use/mcp-use", + "stars": 10771, + "created": "2025-03-28", + "pushed": "2026-10-15", + "commits52w": 1146, + "weeks": [ + [ + 1760832000, + 38 + ], + [ + 1761436800, + 15 + ], + [ + 1762041600, + 12 + ], + [ + 1762646400, + 10 + ], + [ + 1763251200, + 27 + ], + [ + 1763856000, + 26 + ], + [ + 1764460800, + 33 + ], + [ + 1765065600, + 31 + ], + [ + 1765670400, + 28 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 1 + ], + [ + 1767484800, + 12 + ], + [ + 1768089600, + 40 + ], + [ + 1768694400, + 15 + ], + [ + 1769299200, + 20 + ], + [ + 1769904000, + 11 + ], + [ + 1770508800, + 17 + ], + [ + 1771113600, + 53 + ], + [ + 1771718400, + 3 + ], + [ + 1772323200, + 16 + ], + [ + 1772928000, + 6 + ], + [ + 1773532800, + 14 + ], + [ + 1774137600, + 10 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 5 + ], + [ + 1775952000, + 6 + ], + [ + 1776556800, + 7 + ], + [ + 1777161600, + 6 + ], + [ + 1777766400, + 6 + ], + [ + 1778371200, + 9 + ], + [ + 1778976000, + 1 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 13 + ], + [ + 1780790400, + 17 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 3 + ], + [ + 1782604800, + 13 + ], + [ + 1783209600, + 72 + ], + [ + 1783814400, + 130 + ], + [ + 1784419200, + 145 + ], + [ + 1785024000, + 48 + ], + [ + 1785628800, + 86 + ], + [ + 1786233600, + 29 + ], + [ + 1786838400, + 11 + ], + [ + 1787443200, + 15 + ], + [ + 1788048000, + 29 + ], + [ + 1788652800, + 7 + ], + [ + 1789257600, + 5 + ], + [ + 1789862400, + 16 + ], + [ + 1790467200, + 9 + ], + [ + 1791072000, + 9 + ], + [ + 1791676800, + 5 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "mark3labs/mcp-go", + "stars": 9169, + "created": "2024-11-27", + "pushed": "2026-10-14", + "commits52w": 281, + "weeks": [ + [ + 1760832000, + 7 + ], + [ + 1761436800, + 3 + ], + [ + 1762041600, + 2 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 2 + ], + [ + 1763856000, + 4 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 5 + ], + [ + 1765670400, + 8 + ], + [ + 1766275200, + 2 + ], + [ + 1766880000, + 1 + ], + [ + 1767484800, + 10 + ], + [ + 1768089600, + 1 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 3 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 2 + ], + [ + 1771113600, + 4 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 5 + ], + [ + 1772928000, + 4 + ], + [ + 1773532800, + 4 + ], + [ + 1774137600, + 11 + ], + [ + 1774742400, + 8 + ], + [ + 1775347200, + 3 + ], + [ + 1775952000, + 6 + ], + [ + 1776556800, + 11 + ], + [ + 1777161600, + 5 + ], + [ + 1777766400, + 21 + ], + [ + 1778371200, + 22 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 4 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 3 + ], + [ + 1782000000, + 2 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 3 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 11 + ], + [ + 1785024000, + 2 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 8 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 10 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 7 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 39 + ], + [ + 1791676800, + 28 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "x402": [ + { + "repo": "x402-foundation/wg-identity", + "stars": 4, + "created": "2026-08-03", + "pushed": "2026-08-17", + "commits52w": 13, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 11 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "solana-foundation/pay", + "stars": 1792, + "created": "2021-10-19", + "pushed": "2026-10-15", + "commits52w": 124, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 12 + ], + [ + 1774742400, + 9 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 14 + ], + [ + 1777161600, + 20 + ], + [ + 1777766400, + 14 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 1 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 6 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 1 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 4 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "x402-rs/x402-rs", + "stars": 290, + "created": "2025-05-08", + "pushed": "2026-07-13", + "commits52w": 813, + "weeks": [ + [ + 1760832000, + 11 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 8 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 6 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 51 + ], + [ + 1765670400, + 147 + ], + [ + 1766275200, + 90 + ], + [ + 1766880000, + 33 + ], + [ + 1767484800, + 98 + ], + [ + 1768089600, + 22 + ], + [ + 1768694400, + 14 + ], + [ + 1769299200, + 70 + ], + [ + 1769904000, + 95 + ], + [ + 1770508800, + 19 + ], + [ + 1771113600, + 11 + ], + [ + 1771718400, + 9 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 6 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 2 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 2 + ], + [ + 1776556800, + 2 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 3 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 16 + ], + [ + 1780185600, + 40 + ], + [ + 1780790400, + 41 + ], + [ + 1781395200, + 5 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 3 + ], + [ + 1783814400, + 5 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "google-agentic-commerce/a2a-x402", + "stars": 564, + "created": "2025-06-10", + "pushed": "2026-08-04", + "commits52w": 18, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 3 + ], + [ + 1762041600, + 5 + ], + [ + 1762646400, + 1 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 7 + ], + [ + 1778976000, + 1 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "UCP": [ + { + "repo": "Universal-Commerce-Protocol/python-sdk", + "stars": 89, + "created": "2026-01-06", + "pushed": "2026-10-15", + "commits52w": 57, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 1 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 1 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 1 + ], + [ + 1774742400, + 2 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 5 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 1 + ], + [ + 1785628800, + 4 + ], + [ + 1786233600, + 10 + ], + [ + 1786838400, + 3 + ], + [ + 1787443200, + 4 + ], + [ + 1788048000, + 6 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 1 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "Universal-Commerce-Protocol/js-sdk", + "stars": 48, + "created": "2026-01-09", + "pushed": "2026-10-15", + "commits52w": 63, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 2 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 2 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 1 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 2 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 3 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 12 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 2 + ], + [ + 1788048000, + 6 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 8 + ], + [ + 1790467200, + 2 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "Universal-Commerce-Protocol/samples", + "stars": 240, + "created": "2026-01-06", + "pushed": "2026-10-16", + "commits52w": 146, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 9 + ], + [ + 1768694400, + 4 + ], + [ + 1769299200, + 1 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 2 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 10 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 3 + ], + [ + 1776556800, + 13 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 5 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 8 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 3 + ], + [ + 1783814400, + 9 + ], + [ + 1784419200, + 8 + ], + [ + 1785024000, + 9 + ], + [ + 1785628800, + 8 + ], + [ + 1786233600, + 16 + ], + [ + 1786838400, + 7 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 1 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 14 + ], + [ + 1791072000, + 2 + ], + [ + 1791676800, + 4 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "Universal-Commerce-Protocol/conformance", + "stars": 29, + "created": "2026-01-06", + "pushed": "2026-09-07", + "commits52w": 63, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 5 + ], + [ + 1768694400, + 2 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 3 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 2 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 1 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 4 + ], + [ + 1784419200, + 12 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 13 + ], + [ + 1786838400, + 6 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "Universal-Commerce-Protocol/ucp-schema", + "stars": 11, + "created": "2026-01-28", + "pushed": "2026-10-16", + "commits52w": 55, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 5 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 4 + ], + [ + 1771113600, + 3 + ], + [ + 1771718400, + 3 + ], + [ + 1772323200, + 1 + ], + [ + 1772928000, + 2 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 3 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 3 + ], + [ + 1782000000, + 3 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 2 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 1 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 1 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 3 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 6 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 8 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "NVIDIA-AI-Blueprints/Retail-Agentic-Commerce", + "stars": 81, + "created": "2026-01-05", + "pushed": "2026-10-14", + "commits52w": 131, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 31 + ], + [ + 1769299200, + 10 + ], + [ + 1769904000, + 17 + ], + [ + 1770508800, + 11 + ], + [ + 1771113600, + 5 + ], + [ + 1771718400, + 14 + ], + [ + 1772323200, + 5 + ], + [ + 1772928000, + 5 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 2 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 3 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 5 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 1 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 2 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 5 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "Shopify/ucp-cli", + "stars": 79, + "created": "2026-05-18", + "pushed": "2026-10-12", + "commits52w": 73, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 20 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 3 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 2 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 9 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 8 + ], + [ + 1788048000, + 13 + ], + [ + 1788652800, + 9 + ], + [ + 1789257600, + 2 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 3 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "magebitcom/magento2-universal-commerce-module", + "stars": 14, + "created": "2026-01-13", + "pushed": "2026-09-10", + "commits52w": 106, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 8 + ], + [ + 1768694400, + 31 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 32 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 10 + ], + [ + 1788652800, + 23 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "AP2": [ + { + "repo": "solana-foundation/pay", + "stars": 1792, + "created": "2021-10-19", + "pushed": "2026-10-15", + "commits52w": 124, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 12 + ], + [ + 1774742400, + 9 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 14 + ], + [ + 1777161600, + 20 + ], + [ + 1777766400, + 14 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 1 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 6 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 1 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 4 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "vishalmysore/ap2java", + "stars": 7, + "created": "2025-09-17", + "pushed": "2025-09-21", + "commits52w": 0, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "ACP": [ + { + "repo": "NVIDIA-AI-Blueprints/Retail-Agentic-Commerce", + "stars": 81, + "created": "2026-01-05", + "pushed": "2026-10-14", + "commits52w": 131, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 31 + ], + [ + 1769299200, + 10 + ], + [ + 1769904000, + 17 + ], + [ + 1770508800, + 11 + ], + [ + 1771113600, + 5 + ], + [ + 1771718400, + 14 + ], + [ + 1772323200, + 5 + ], + [ + 1772928000, + 5 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 2 + ], + [ + 1774742400, + 1 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 3 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 5 + ], + [ + 1782604800, + 1 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 1 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 2 + ], + [ + 1786838400, + 1 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 5 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "vercel/acp-handler", + "stars": 30, + "created": "2025-09-29", + "pushed": "2026-09-01", + "commits52w": 13, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 10 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 2 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 1 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "nekuda-ai/ACP-Checkout-Gateway", + "stars": 19, + "created": "2025-10-09", + "pushed": "2026-01-26", + "commits52w": 2, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 2 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "TAP": [ + { + "repo": "inflowpayai/inflow-node", + "stars": 9, + "created": "2026-05-19", + "pushed": "2026-10-14", + "commits52w": 112, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762650000, + 0 + ], + [ + 1763254800, + 0 + ], + [ + 1763859600, + 0 + ], + [ + 1764464400, + 0 + ], + [ + 1765069200, + 0 + ], + [ + 1765674000, + 0 + ], + [ + 1766278800, + 0 + ], + [ + 1766883600, + 0 + ], + [ + 1767488400, + 0 + ], + [ + 1768093200, + 0 + ], + [ + 1768698000, + 0 + ], + [ + 1769302800, + 0 + ], + [ + 1769907600, + 0 + ], + [ + 1770512400, + 0 + ], + [ + 1771117200, + 0 + ], + [ + 1771722000, + 0 + ], + [ + 1772326800, + 0 + ], + [ + 1772931600, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 9 + ], + [ + 1779580800, + 19 + ], + [ + 1780185600, + 5 + ], + [ + 1780790400, + 2 + ], + [ + 1781395200, + 1 + ], + [ + 1782000000, + 2 + ], + [ + 1782604800, + 3 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 1 + ], + [ + 1784419200, + 5 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 7 + ], + [ + 1786838400, + 4 + ], + [ + 1787443200, + 4 + ], + [ + 1788048000, + 8 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 12 + ], + [ + 1790467200, + 12 + ], + [ + 1791072000, + 13 + ], + [ + 1791676800, + 2 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "MPP": [ + { + "repo": "tempoxyz/mpp-specs", + "stars": 95, + "created": "2026-01-05", + "pushed": "2026-10-15", + "commits52w": 99, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 2 + ], + [ + 1774137600, + 4 + ], + [ + 1774742400, + 3 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 11 + ], + [ + 1776556800, + 1 + ], + [ + 1777161600, + 1 + ], + [ + 1777766400, + 1 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 3 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 5 + ], + [ + 1780790400, + 3 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 5 + ], + [ + 1782604800, + 5 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 5 + ], + [ + 1785628800, + 3 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 2 + ], + [ + 1787443200, + 6 + ], + [ + 1788048000, + 5 + ], + [ + 1788652800, + 7 + ], + [ + 1789257600, + 2 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 2 + ], + [ + 1791072000, + 1 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "solana-foundation/pay", + "stars": 1792, + "created": "2021-10-19", + "pushed": "2026-10-15", + "commits52w": 124, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 12 + ], + [ + 1774742400, + 9 + ], + [ + 1775347200, + 2 + ], + [ + 1775952000, + 1 + ], + [ + 1776556800, + 14 + ], + [ + 1777161600, + 20 + ], + [ + 1777766400, + 14 + ], + [ + 1778371200, + 3 + ], + [ + 1778976000, + 2 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 1 + ], + [ + 1780790400, + 1 + ], + [ + 1781395200, + 4 + ], + [ + 1782000000, + 4 + ], + [ + 1782604800, + 6 + ], + [ + 1783209600, + 1 + ], + [ + 1783814400, + 3 + ], + [ + 1784419200, + 2 + ], + [ + 1785024000, + 3 + ], + [ + 1785628800, + 2 + ], + [ + 1786233600, + 1 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 1 + ], + [ + 1788048000, + 4 + ], + [ + 1788652800, + 2 + ], + [ + 1789257600, + 1 + ], + [ + 1789862400, + 5 + ], + [ + 1790467200, + 1 + ], + [ + 1791072000, + 3 + ], + [ + 1791676800, + 1 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "faremeter/faremeter", + "stars": 69, + "created": "2025-06-11", + "pushed": "2026-07-06", + "commits52w": 322, + "weeks": [ + [ + 1760832000, + 12 + ], + [ + 1761436800, + 28 + ], + [ + 1762041600, + 9 + ], + [ + 1762646400, + 5 + ], + [ + 1763251200, + 19 + ], + [ + 1763856000, + 6 + ], + [ + 1764460800, + 6 + ], + [ + 1765065600, + 11 + ], + [ + 1765670400, + 3 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 2 + ], + [ + 1767484800, + 1 + ], + [ + 1768089600, + 12 + ], + [ + 1768694400, + 5 + ], + [ + 1769299200, + 27 + ], + [ + 1769904000, + 8 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 1 + ], + [ + 1771718400, + 20 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 10 + ], + [ + 1774137600, + 41 + ], + [ + 1774742400, + 8 + ], + [ + 1775347200, + 21 + ], + [ + 1775952000, + 21 + ], + [ + 1776556800, + 11 + ], + [ + 1777161600, + 2 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 14 + ], + [ + 1779580800, + 1 + ], + [ + 1780185600, + 17 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 1 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + } + ], + "L402": [ + { + "repo": "lightninglabs/L402", + "stars": 91, + "created": "2020-02-07", + "pushed": "2026-06-09", + "commits52w": 12, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 9 + ], + [ + 1773532800, + 3 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "lightninglabs/lightning-agent-tools", + "stars": 60, + "created": "2026-02-06", + "pushed": "2026-05-29", + "commits52w": 45, + "weeks": [ + [ + 1760828400, + 0 + ], + [ + 1761433200, + 0 + ], + [ + 1762038000, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 1 + ], + [ + 1770508800, + 39 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 5 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "official" + }, + { + "repo": "l402-protocol/l402", + "stars": 227, + "created": "2024-11-10", + "pushed": "2025-06-20", + "commits52w": 0, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 0 + ], + [ + 1762041600, + 0 + ], + [ + 1762646400, + 0 + ], + [ + 1763251200, + 0 + ], + [ + 1763856000, + 0 + ], + [ + 1764460800, + 0 + ], + [ + 1765065600, + 0 + ], + [ + 1765670400, + 0 + ], + [ + 1766275200, + 0 + ], + [ + 1766880000, + 0 + ], + [ + 1767484800, + 0 + ], + [ + 1768089600, + 0 + ], + [ + 1768694400, + 0 + ], + [ + 1769299200, + 0 + ], + [ + 1769904000, + 0 + ], + [ + 1770508800, + 0 + ], + [ + 1771113600, + 0 + ], + [ + 1771718400, + 0 + ], + [ + 1772323200, + 0 + ], + [ + 1772928000, + 0 + ], + [ + 1773532800, + 0 + ], + [ + 1774137600, + 0 + ], + [ + 1774742400, + 0 + ], + [ + 1775347200, + 0 + ], + [ + 1775952000, + 0 + ], + [ + 1776556800, + 0 + ], + [ + 1777161600, + 0 + ], + [ + 1777766400, + 0 + ], + [ + 1778371200, + 0 + ], + [ + 1778976000, + 0 + ], + [ + 1779580800, + 0 + ], + [ + 1780185600, + 0 + ], + [ + 1780790400, + 0 + ], + [ + 1781395200, + 0 + ], + [ + 1782000000, + 0 + ], + [ + 1782604800, + 0 + ], + [ + 1783209600, + 0 + ], + [ + 1783814400, + 0 + ], + [ + 1784419200, + 0 + ], + [ + 1785024000, + 0 + ], + [ + 1785628800, + 0 + ], + [ + 1786233600, + 0 + ], + [ + 1786838400, + 0 + ], + [ + 1787443200, + 0 + ], + [ + 1788048000, + 0 + ], + [ + 1788652800, + 0 + ], + [ + 1789257600, + 0 + ], + [ + 1789862400, + 0 + ], + [ + 1790467200, + 0 + ], + [ + 1791072000, + 0 + ], + [ + 1791676800, + 0 + ] + ], + "archived": false, + "scope": "third-party" + }, + { + "repo": "ngx-l402/ngx-l402", + "stars": 56, + "created": "2025-02-01", + "pushed": "2026-10-16", + "commits52w": 197, + "weeks": [ + [ + 1760832000, + 0 + ], + [ + 1761436800, + 1 + ], + [ + 1762041600, + 1 + ], + [ + 1762646400, + 4 + ], + [ + 1763251200, + 1 + ], + [ + 1763856000, + 2 + ], + [ + 1764460800, 0 ], [ - 1765069200, - 0 + 1765065600, + 5 ], [ - 1765674000, + 1765670400, 0 ], [ - 1766278800, - 0 + 1766275200, + 1 ], [ - 1766883600, + 1766880000, 0 ], [ - 1767488400, + 1767484800, 0 ], [ - 1768093200, - 0 + 1768089600, + 1 ], [ - 1768698000, - 0 + 1768694400, + 2 ], [ - 1769302800, - 0 + 1769299200, + 2 ], [ - 1769907600, + 1769904000, 0 ], [ - 1770512400, - 0 + 1770508800, + 1 ], [ - 1771117200, - 0 + 1771113600, + 2 ], [ - 1771722000, - 0 + 1771718400, + 4 ], [ - 1772326800, - 0 + 1772323200, + 1 ], [ - 1772931600, - 0 + 1772928000, + 1 ], [ 1773532800, @@ -8485,11 +15484,11 @@ ], [ 1774137600, - 0 + 2 ], [ 1774742400, - 0 + 4 ], [ 1775347200, @@ -8497,15 +15496,15 @@ ], [ 1775952000, - 0 + 3 ], [ 1776556800, - 0 + 1 ], [ 1777161600, - 0 + 5 ], [ 1777766400, @@ -8513,35 +15512,35 @@ ], [ 1778371200, - 0 + 2 ], [ 1778976000, - 0 + 2 ], [ 1779580800, - 0 + 4 ], [ 1780185600, - 0 + 4 ], [ 1780790400, - 0 + 1 ], [ 1781395200, - 0 + 1 ], [ 1782000000, - 0 + 2 ], [ 1782604800, - 0 + 9 ], [ 1783209600, @@ -8549,51 +15548,51 @@ ], [ 1783814400, - 0 + 2 ], [ 1784419200, - 0 + 8 ], [ 1785024000, - 0 + 11 ], [ 1785628800, - 11 + 8 ], [ 1786233600, - 0 + 11 ], [ 1786838400, - 2 + 13 ], [ 1787443200, - 0 + 17 ], [ 1788048000, - 0 + 16 ], [ 1788652800, - 0 + 5 ], [ 1789257600, - 0 + 18 ], [ 1789862400, - 0 + 8 ], [ 1790467200, - 0 + 8 ], [ 1791072000, @@ -8601,18 +15600,18 @@ ], [ 1791676800, - 0 + 3 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { - "repo": "google-agentic-commerce/a2a-x402", - "scope": "community", - "stars": 564, - "created": "2025-06-10", - "pushed": "2026-08-04", - "commits52w": 18, + "repo": "Fewsats/l402-python", + "stars": 3, + "created": "2025-01-24", + "pushed": "2025-01-30", + "commits52w": 0, "weeks": [ [ 1760832000, @@ -8620,15 +15619,15 @@ ], [ 1761436800, - 3 + 0 ], [ 1762041600, - 5 + 0 ], [ 1762646400, - 1 + 0 ], [ 1763251200, @@ -8732,15 +15731,15 @@ ], [ 1778371200, - 7 + 0 ], [ 1778976000, - 1 + 0 ], [ 1779580800, - 1 + 0 ], [ 1780185600, @@ -8823,17 +15822,17 @@ 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" } ], - "UCP": [ + "Web Bot Auth": [ { - "repo": "Universal-Commerce-Protocol/python-sdk", - "scope": "first-party", - "stars": 89, - "created": "2026-01-06", - "pushed": "2026-10-15", - "commits52w": 57, + "repo": "vestauth/vestauth", + "stars": 170, + "created": "2026-01-15", + "pushed": "2026-04-16", + "commits52w": 1030, "weeks": [ [ 1760828400, @@ -8885,35 +15884,35 @@ ], [ 1768089600, - 1 + 39 ], [ 1768694400, - 0 + 60 ], [ 1769299200, - 0 + 93 ], [ 1769904000, - 1 + 356 ], [ 1770508800, - 0 + 26 ], [ 1771113600, - 2 + 106 ], [ 1771718400, - 1 + 278 ], [ 1772323200, - 1 + 72 ], [ 1772928000, @@ -8921,15 +15920,15 @@ ], [ 1773532800, - 2 + 0 ], [ 1774137600, - 1 + 0 ], [ 1774742400, - 2 + 0 ], [ 1775347200, @@ -8949,7 +15948,7 @@ ], [ 1777766400, - 1 + 0 ], [ 1778371200, @@ -8973,23 +15972,23 @@ ], [ 1781395200, - 1 + 0 ], [ 1782000000, - 4 + 0 ], [ 1782604800, - 3 + 0 ], [ 1783209600, - 2 + 0 ], [ 1783814400, - 5 + 0 ], [ 1784419200, @@ -8997,27 +15996,27 @@ ], [ 1785024000, - 1 + 0 ], [ 1785628800, - 4 + 0 ], [ 1786233600, - 10 + 0 ], [ 1786838400, - 3 + 0 ], [ 1787443200, - 4 + 0 ], [ 1788048000, - 6 + 0 ], [ 1788652800, @@ -9029,7 +16028,7 @@ ], [ 1789862400, - 1 + 0 ], [ 1790467200, @@ -9037,34 +16036,34 @@ ], [ 1791072000, - 1 + 0 ], [ 1791676800, 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { - "repo": "Universal-Commerce-Protocol/js-sdk", - "scope": "first-party", - "stars": 48, - "created": "2026-01-09", - "pushed": "2026-10-15", - "commits52w": 63, + "repo": "TecharoHQ/samesame", + "stars": 12, + "created": "2025-11-03", + "pushed": "2026-09-28", + "commits52w": 13, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, - 0 + 1762041600, + 10 ], [ 1762646400, @@ -9104,7 +16103,7 @@ ], [ 1768089600, - 2 + 0 ], [ 1768694400, @@ -9124,23 +16123,23 @@ ], [ 1771113600, - 2 + 0 ], [ 1771718400, - 2 + 0 ], [ 1772323200, - 1 + 0 ], [ 1772928000, - 1 + 0 ], [ 1773532800, - 2 + 0 ], [ 1774137600, @@ -9156,11 +16155,11 @@ ], [ 1775952000, - 1 + 0 ], [ 1776556800, - 1 + 0 ], [ 1777161600, @@ -9192,7 +16191,7 @@ ], [ 1781395200, - 2 + 0 ], [ 1782000000, @@ -9200,7 +16199,7 @@ ], [ 1782604800, - 3 + 0 ], [ 1783209600, @@ -9212,11 +16211,11 @@ ], [ 1784419200, - 3 + 0 ], [ 1785024000, - 3 + 0 ], [ 1785628800, @@ -9224,23 +16223,23 @@ ], [ 1786233600, - 12 + 0 ], [ 1786838400, - 6 + 0 ], [ 1787443200, - 2 + 0 ], [ 1788048000, - 6 + 0 ], [ 1788652800, - 1 + 0 ], [ 1789257600, @@ -9248,118 +16247,118 @@ ], [ 1789862400, - 8 + 0 ], [ 1790467200, - 2 + 3 ], [ 1791072000, - 3 + 0 ], [ 1791676800, 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { - "repo": "Universal-Commerce-Protocol/samples", - "scope": "first-party", - "stars": 240, - "created": "2026-01-06", - "pushed": "2026-10-16", - "commits52w": 146, + "repo": "regent-protocol/regent-httpsig", + "stars": 6, + "created": "2026-08-17", + "pushed": "2026-10-05", + "commits52w": 19, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, - 9 + 1768093200, + 0 ], [ - 1768694400, - 4 + 1768698000, + 0 ], [ - 1769299200, - 1 + 1769302800, + 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, + 1770512400, 0 ], [ - 1771113600, - 2 + 1771117200, + 0 ], [ - 1771718400, + 1771722000, 0 ], [ - 1772323200, - 1 + 1772326800, + 0 ], [ - 1772928000, - 10 + 1772931600, + 0 ], [ 1773532800, - 3 + 0 ], [ 1774137600, @@ -9375,11 +16374,11 @@ ], [ 1775952000, - 3 + 0 ], [ 1776556800, - 13 + 0 ], [ 1777161600, @@ -9391,11 +16390,11 @@ ], [ 1778371200, - 5 + 0 ], [ 1778976000, - 3 + 0 ], [ 1779580800, @@ -9407,11 +16406,11 @@ ], [ 1780790400, - 2 + 0 ], [ 1781395200, - 8 + 0 ], [ 1782000000, @@ -9423,43 +16422,43 @@ ], [ 1783209600, - 3 + 0 ], [ 1783814400, - 9 + 0 ], [ 1784419200, - 8 + 0 ], [ 1785024000, - 9 + 0 ], [ 1785628800, - 8 + 0 ], [ 1786233600, - 16 + 0 ], [ 1786838400, - 7 + 10 ], [ 1787443200, - 1 + 0 ], [ 1788048000, - 0 + 2 ], [ 1788652800, - 1 + 4 ], [ 1789257600, @@ -9471,109 +16470,111 @@ ], [ 1790467200, - 14 + 0 ], [ 1791072000, - 2 + 3 ], [ 1791676800, - 4 + 0 ] ], - "archived": false - }, + "archived": false, + "scope": "third-party" + } + ], + "x401": [ { - "repo": "Universal-Commerce-Protocol/conformance", - "scope": "first-party", - "stars": 29, - "created": "2026-01-06", - "pushed": "2026-09-07", - "commits52w": 63, + "repo": "proof/x401-node", + "stars": 3, + "created": "2026-06-09", + "pushed": "2026-10-14", + "commits52w": 33, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, - 5 + 1768093200, + 0 ], [ - 1768694400, - 2 + 1768698000, + 0 ], [ - 1769299200, + 1769302800, 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, + 1770512400, 0 ], [ - 1771113600, - 3 + 1771117200, + 0 ], [ - 1771718400, + 1771722000, 0 ], [ - 1772323200, - 1 + 1772326800, + 0 ], [ - 1772928000, + 1772931600, 0 ], [ @@ -9586,7 +16587,7 @@ ], [ 1774742400, - 1 + 0 ], [ 1775347200, @@ -9598,11 +16599,11 @@ ], [ 1776556800, - 1 + 0 ], [ 1777161600, - 2 + 0 ], [ 1777766400, @@ -9626,47 +16627,47 @@ ], [ 1780790400, - 0 + 3 ], [ 1781395200, - 1 + 0 ], [ 1782000000, - 1 + 4 ], [ 1782604800, - 0 + 3 ], [ 1783209600, - 2 + 0 ], [ 1783814400, - 4 + 3 ], [ 1784419200, - 12 + 1 ], [ 1785024000, - 5 + 3 ], [ 1785628800, - 2 + 1 ], [ 1786233600, - 13 + 0 ], [ 1786838400, - 6 + 1 ], [ 1787443200, @@ -9674,126 +16675,136 @@ ], [ 1788048000, - 0 + 1 ], [ 1788652800, - 2 + 1 ], [ 1789257600, - 0 + 1 ], [ 1789862400, - 0 + 1 ], [ 1790467200, - 0 + 4 ], [ 1791072000, - 0 + 5 ], [ 1791676800, - 0 + 1 ] ], - "archived": false + "archived": false, + "scope": "official" }, { - "repo": "Universal-Commerce-Protocol/ucp-schema", - "scope": "first-party", - "stars": 11, - "created": "2026-01-28", - "pushed": "2026-10-16", - "commits52w": 55, + "repo": "proof/x401-ruby", + "stars": 0, + "created": "2026-10-05", + "pushed": "2026-10-05", + "commits52w": null, + "weeks": null, + "archived": false, + "scope": "official" + }, + { + "repo": "solidusnetwork/x401", + "stars": 0, + "created": "2026-09-01", + "pushed": "2026-09-01", + "commits52w": 4, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, + 1768093200, 0 ], [ - 1768694400, + 1768698000, 0 ], [ - 1769299200, - 5 + 1769302800, + 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, - 4 + 1770512400, + 0 ], [ - 1771113600, - 3 + 1771117200, + 0 ], [ - 1771718400, - 3 + 1771722000, + 0 ], [ - 1772323200, - 1 + 1772326800, + 0 ], [ - 1772928000, - 2 + 1772931600, + 0 ], [ 1773532800, @@ -9805,7 +16816,7 @@ ], [ 1774742400, - 1 + 0 ], [ 1775347200, @@ -9817,15 +16828,15 @@ ], [ 1776556800, - 3 + 0 ], [ 1777161600, - 1 + 0 ], [ 1777766400, - 1 + 0 ], [ 1778371200, @@ -9837,7 +16848,7 @@ ], [ 1779580800, - 1 + 0 ], [ 1780185600, @@ -9849,19 +16860,19 @@ ], [ 1781395200, - 3 + 0 ], [ 1782000000, - 3 + 0 ], [ 1782604800, - 1 + 0 ], [ 1783209600, - 2 + 0 ], [ 1783814400, @@ -9869,7 +16880,7 @@ ], [ 1784419200, - 1 + 0 ], [ 1785024000, @@ -9877,7 +16888,7 @@ ], [ 1785628800, - 1 + 0 ], [ 1786233600, @@ -9885,15 +16896,15 @@ ], [ 1786838400, - 1 + 0 ], [ 1787443200, - 3 + 0 ], [ 1788048000, - 0 + 4 ], [ 1788652800, @@ -9901,7 +16912,7 @@ ], [ 1789257600, - 6 + 0 ], [ 1789862400, @@ -9913,24 +16924,22 @@ ], [ 1791072000, - 1 + 0 ], [ 1791676800, - 8 + 0 ] ], - "archived": false - } - ], - "MPP": [ + "archived": false, + "scope": "third-party" + }, { - "repo": "tempoxyz/mpp-specs", - "scope": "first-party", - "stars": 95, - "created": "2026-01-05", - "pushed": "2026-10-15", - "commits52w": 99, + "repo": "Shehryar/x401", + "stars": 0, + "created": "2026-02-24", + "pushed": "2026-02-25", + "commits52w": 7, "weeks": [ [ 1760828400, @@ -9978,7 +16987,7 @@ ], [ 1767484800, - 1 + 0 ], [ 1768089600, @@ -10006,7 +17015,7 @@ ], [ 1771718400, - 0 + 7 ], [ 1772323200, @@ -10018,43 +17027,43 @@ ], [ 1773532800, - 2 + 0 ], [ 1774137600, - 4 + 0 ], [ 1774742400, - 3 + 0 ], [ 1775347200, - 2 + 0 ], [ 1775952000, - 11 + 0 ], [ 1776556800, - 1 + 0 ], [ 1777161600, - 1 + 0 ], [ 1777766400, - 1 + 0 ], [ 1778371200, - 3 + 0 ], [ 1778976000, - 3 + 0 ], [ 1779580800, @@ -10062,43 +17071,43 @@ ], [ 1780185600, - 5 + 0 ], [ 1780790400, - 3 + 0 ], [ 1781395200, - 4 + 0 ], [ 1782000000, - 5 + 0 ], [ 1782604800, - 5 + 0 ], [ 1783209600, - 1 + 0 ], [ 1783814400, - 3 + 0 ], [ 1784419200, - 2 + 0 ], [ 1785024000, - 5 + 0 ], [ 1785628800, - 3 + 0 ], [ 1786233600, @@ -10106,63 +17115,63 @@ ], [ 1786838400, - 2 + 0 ], [ 1787443200, - 6 + 0 ], [ 1788048000, - 5 + 0 ], [ 1788652800, - 7 + 0 ], [ 1789257600, - 2 + 0 ], [ 1789862400, - 5 + 0 ], [ 1790467200, - 2 + 0 ], [ 1791072000, - 1 + 0 ], [ 1791676800, - 1 + 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" } ], - "L402": [ + "ANS": [ { - "repo": "lightninglabs/L402", - "scope": "first-party", - "stars": 91, - "created": "2020-02-07", - "pushed": "2026-06-09", - "commits52w": 12, + "repo": "agentnameservice/ans-registry", + "stars": 33, + "created": "2025-11-19", + "pushed": "2026-10-15", + "commits52w": 30, "weeks": [ [ - 1760832000, + 1760828400, 0 ], [ - 1761436800, + 1761433200, 0 ], [ - 1762041600, + 1762038000, 0 ], [ @@ -10171,7 +17180,7 @@ ], [ 1763251200, - 0 + 1 ], [ 1763856000, @@ -10183,7 +17192,7 @@ ], [ 1765065600, - 0 + 1 ], [ 1765670400, @@ -10223,39 +17232,39 @@ ], [ 1771113600, - 0 + 1 ], [ 1771718400, - 0 + 1 ], [ 1772323200, - 0 + 1 ], [ 1772928000, - 9 + 0 ], [ 1773532800, - 3 + 1 ], [ 1774137600, - 0 + 3 ], [ 1774742400, - 0 + 1 ], [ 1775347200, - 0 + 6 ], [ 1775952000, - 0 + 1 ], [ 1776556800, @@ -10287,11 +17296,11 @@ ], [ 1780790400, - 0 + 1 ], [ 1781395200, - 0 + 1 ], [ 1782000000, @@ -10299,19 +17308,19 @@ ], [ 1782604800, - 0 + 1 ], [ 1783209600, - 0 + 1 ], [ 1783814400, - 0 + 3 ], [ 1784419200, - 0 + 3 ], [ 1785024000, @@ -10327,7 +17336,7 @@ ], [ 1786838400, - 0 + 1 ], [ 1787443200, @@ -10343,7 +17352,7 @@ ], [ 1789257600, - 0 + 1 ], [ 1789862400, @@ -10359,29 +17368,29 @@ ], [ 1791676800, - 0 + 1 ] ], - "archived": false + "archived": false, + "scope": "official" }, { - "repo": "lightninglabs/lightning-agent-tools", - "scope": "first-party", - "stars": 60, - "created": "2026-02-06", - "pushed": "2026-05-29", - "commits52w": 45, + "repo": "ruvnet/Agent-Name-Service", + "stars": 82, + "created": "2025-05-15", + "pushed": "2026-10-10", + "commits52w": 1, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ @@ -10434,11 +17443,11 @@ ], [ 1769904000, - 1 + 0 ], [ 1770508800, - 39 + 0 ], [ 1771113600, @@ -10498,7 +17507,7 @@ ], [ 1779580800, - 5 + 0 ], [ 1780185600, @@ -10558,7 +17567,7 @@ ], [ 1788652800, - 0 + 1 ], [ 1789257600, @@ -10581,121 +17590,119 @@ 0 ] ], - "archived": false - } - ], - "ANS": [ + "archived": false, + "scope": "third-party" + }, { - "repo": "agentnameservice/ans-registry", - "scope": "first-party", - "stars": 33, - "created": "2025-11-19", - "pushed": "2026-10-15", - "commits52w": 30, + "repo": "1amageek/ans-sdk-swift", + "stars": 3, + "created": "2026-07-02", + "pushed": "2026-07-29", + "commits52w": 13, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, - 1 + 1763254800, + 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, - 1 + 1765069200, + 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, + 1768093200, 0 ], [ - 1768694400, + 1768698000, 0 ], [ - 1769299200, + 1769302800, 0 ], [ - 1769904000, + 1769907600, 0 ], [ - 1770508800, + 1770512400, 0 ], [ - 1771113600, - 1 + 1771117200, + 0 ], [ - 1771718400, - 1 + 1771722000, + 0 ], [ - 1772323200, - 1 + 1772326800, + 0 ], [ - 1772928000, + 1772931600, 0 ], [ 1773532800, - 1 + 0 ], [ 1774137600, - 3 + 0 ], [ 1774742400, - 1 + 0 ], [ 1775347200, - 6 + 0 ], [ 1775952000, - 1 + 0 ], [ 1776556800, @@ -10727,11 +17734,11 @@ ], [ 1780790400, - 1 + 0 ], [ 1781395200, - 1 + 0 ], [ 1782000000, @@ -10739,7 +17746,7 @@ ], [ 1782604800, - 1 + 11 ], [ 1783209600, @@ -10747,15 +17754,15 @@ ], [ 1783814400, - 3 + 0 ], [ 1784419200, - 3 + 0 ], [ 1785024000, - 0 + 1 ], [ 1785628800, @@ -10767,7 +17774,7 @@ ], [ 1786838400, - 1 + 0 ], [ 1787443200, @@ -10783,7 +17790,7 @@ ], [ 1789257600, - 1 + 0 ], [ 1789862400, @@ -10799,16 +17806,16 @@ ], [ 1791676800, - 1 + 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" } ], "PAP": [ { "repo": "datalayer/personal-agent-protocol", - "scope": "community", "stars": 3, "created": "2026-10-10", "pushed": "2026-10-14", @@ -11023,11 +18030,11 @@ 126 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { "repo": "richardanaya/pi-poppy", - "scope": "community", "stars": 1, "created": "2026-10-09", "pushed": "2026-10-10", @@ -11242,11 +18249,11 @@ 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" }, { "repo": "akshay5995/poppyseed", - "scope": "community", "stars": 0, "created": "2026-10-10", "pushed": "2026-10-15", @@ -11461,109 +18468,109 @@ 8 ] ], - "archived": false + "archived": false, + "scope": "third-party" } ], - "x401": [ + "KYAPay": [ { - "repo": "proof/x401-node", - "scope": "first-party", + "repo": "skyfire-xyz/kyapay_a2a", "stars": 3, - "created": "2026-06-09", - "pushed": "2026-10-14", - "commits52w": 33, + "created": "2026-01-08", + "pushed": "2026-10-06", + "commits52w": 49, "weeks": [ [ - 1760832000, + 1760828400, 0 ], [ - 1761436800, + 1761433200, 0 ], [ - 1762041600, + 1762038000, 0 ], [ - 1762650000, + 1762646400, 0 ], [ - 1763254800, + 1763251200, 0 ], [ - 1763859600, + 1763856000, 0 ], [ - 1764464400, + 1764460800, 0 ], [ - 1765069200, + 1765065600, 0 ], [ - 1765674000, + 1765670400, 0 ], [ - 1766278800, + 1766275200, 0 ], [ - 1766883600, + 1766880000, 0 ], [ - 1767488400, + 1767484800, 0 ], [ - 1768093200, + 1768089600, 0 ], [ - 1768698000, + 1768694400, 0 ], [ - 1769302800, - 0 + 1769299200, + 2 ], [ - 1769907600, - 0 + 1769904000, + 2 ], [ - 1770512400, - 0 + 1770508800, + 1 ], [ - 1771117200, + 1771113600, 0 ], [ - 1771722000, - 0 + 1771718400, + 2 ], [ - 1772326800, - 0 + 1772323200, + 1 ], [ - 1772931600, - 0 + 1772928000, + 2 ], [ 1773532800, - 0 + 3 ], [ 1774137600, - 0 + 2 ], [ 1774742400, @@ -11571,15 +18578,15 @@ ], [ 1775347200, - 0 + 2 ], [ 1775952000, - 0 + 5 ], [ 1776556800, - 0 + 3 ], [ 1777161600, @@ -11587,15 +18594,15 @@ ], [ 1777766400, - 0 + 2 ], [ 1778371200, - 0 + 2 ], [ 1778976000, - 0 + 3 ], [ 1779580800, @@ -11603,23 +18610,23 @@ ], [ 1780185600, - 0 + 1 ], [ 1780790400, - 3 + 0 ], [ 1781395200, - 0 + 1 ], [ 1782000000, - 4 + 0 ], [ 1782604800, - 3 + 0 ], [ 1783209600, @@ -11627,19 +18634,19 @@ ], [ 1783814400, - 3 + 0 ], [ 1784419200, - 1 + 2 ], [ 1785024000, - 3 + 1 ], [ 1785628800, - 1 + 0 ], [ 1786233600, @@ -11647,7 +18654,7 @@ ], [ 1786838400, - 1 + 0 ], [ 1787443200, @@ -11655,146 +18662,134 @@ ], [ 1788048000, - 1 + 0 ], [ 1788652800, - 1 + 0 ], [ 1789257600, - 1 + 0 ], [ 1789862400, - 1 + 0 ], [ 1790467200, - 4 + 0 ], [ 1791072000, - 5 + 12 ], [ 1791676800, - 1 + 0 ] ], - "archived": false + "archived": false, + "scope": "official" }, { - "repo": "proof/x401-ruby", - "scope": "first-party", - "stars": 0, - "created": "2026-10-05", - "pushed": "2026-10-05", - "commits52w": null, - "weeks": null, - "archived": false - } - ], - "KYAPay": [ - { - "repo": "skyfire-xyz/kyapay_a2a", - "scope": "first-party", + "repo": "tollstile/Tollstile", "stars": 3, - "created": "2026-01-08", - "pushed": "2026-10-06", - "commits52w": 49, + "created": "2026-09-15", + "pushed": "2026-09-24", + "commits52w": 77, "weeks": [ [ - 1760828400, + 1760832000, 0 ], [ - 1761433200, + 1761436800, 0 ], [ - 1762038000, + 1762041600, 0 ], [ - 1762646400, + 1762650000, 0 ], [ - 1763251200, + 1763254800, 0 ], [ - 1763856000, + 1763859600, 0 ], [ - 1764460800, + 1764464400, 0 ], [ - 1765065600, + 1765069200, 0 ], [ - 1765670400, + 1765674000, 0 ], [ - 1766275200, + 1766278800, 0 ], [ - 1766880000, + 1766883600, 0 ], [ - 1767484800, + 1767488400, 0 ], [ - 1768089600, + 1768093200, 0 ], [ - 1768694400, + 1768698000, 0 ], [ - 1769299200, - 2 + 1769302800, + 0 ], [ - 1769904000, - 2 + 1769907600, + 0 ], [ - 1770508800, - 1 + 1770512400, + 0 ], [ - 1771113600, + 1771117200, 0 ], [ - 1771718400, - 2 + 1771722000, + 0 ], [ - 1772323200, - 1 + 1772326800, + 0 ], [ - 1772928000, - 2 + 1772931600, + 0 ], [ 1773532800, - 3 + 0 ], [ 1774137600, - 2 + 0 ], [ 1774742400, @@ -11802,15 +18797,15 @@ ], [ 1775347200, - 2 + 0 ], [ 1775952000, - 5 + 0 ], [ 1776556800, - 3 + 0 ], [ 1777161600, @@ -11818,15 +18813,15 @@ ], [ 1777766400, - 2 + 0 ], [ 1778371200, - 2 + 0 ], [ 1778976000, - 3 + 0 ], [ 1779580800, @@ -11834,7 +18829,7 @@ ], [ 1780185600, - 1 + 0 ], [ 1780790400, @@ -11842,7 +18837,7 @@ ], [ 1781395200, - 1 + 0 ], [ 1782000000, @@ -11862,11 +18857,11 @@ ], [ 1784419200, - 2 + 0 ], [ 1785024000, - 1 + 0 ], [ 1785628800, @@ -11894,11 +18889,11 @@ ], [ 1789257600, - 0 + 50 ], [ 1789862400, - 0 + 27 ], [ 1790467200, @@ -11906,17 +18901,52 @@ ], [ 1791072000, - 12 + 0 ], [ 1791676800, 0 ] ], - "archived": false + "archived": false, + "scope": "third-party" } ] }, + "topics": { + "MCP": [ + "model-context-protocol", + 37653 + ], + "x402": [ + "x402", + 3827 + ], + "A2A": [ + "a2a-protocol", + 604 + ], + "L402": [ + "l402", + 110 + ], + "UCP": [ + "universal-commerce-protocol", + 66 + ], + "Web Bot Auth": [ + "web-bot-auth", + 41 + ], + "ACP": [ + "agentic-commerce-protocol", + 27 + ], + "AP2": [ + "agent-payments-protocol", + 19 + ] + }, "downloads": { "week_starts": [ "2026-07-20", @@ -11934,514 +18964,782 @@ ], "by_protocol": { "A2A": { - "npm": { - "package": "@a2a-js/sdk", - "weeks": [ - 1677660, - 1745409, - 1780854, - 1639387, - 2063326, - 2344232, - 2248896, - 2002171, - 2608743, - 3567655, - 4100684, - 4114624 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 14391706 + "official": { + "npm": { + "package": "@a2a-js/sdk", + "weeks": [ + 1677660, + 1745409, + 1780854, + 1639387, + 2063326, + 2344232, + 2248896, + 2002171, + 2608743, + 3567655, + 4100684, + 4114624 + ], + "publisher": null, + "candidates": 1, + "monthly": 14391706 + }, + "pypi": { + "package": "a2a-sdk", + "weeks": [ + 2825584, + 3211899, + 4217674, + 4888180, + 4328748, + 2151289, + 2112024, + 2279504, + 2532099, + 3086909, + 2796262, + 2726724 + ], + "publisher": null, + "candidates": 1, + "monthly": 11141994 + }, + "crates": { + "package": "a2a-lf", + "weeks": [ + 2306, + 1571, + 2908, + 3935, + 2265, + 3642, + 5180, + 8224, + 6799, + 5315, + 14665, + 28692 + ], + "publisher": null, + "candidates": 2, + "monthly": 55471 + } }, - "pypi": { - "package": "a2a-sdk", - "weeks": [ - 2825584, - 3211899, - 4217674, - 4888180, - 4328748, - 2151289, - 2112024, - 2279504, - 2532099, - 3086909, - 2796262, - 2726724 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 11141994 - }, - "crates": { - "package": "a2a-lf", - "weeks": [ - 2306, - 1571, - 2908, - 3935, - 2265, - 3642, - 5180, - 8224, - 6799, - 5315, - 14665, - 28692 - ], - "scope": "first-party", - "candidates": 2, - "monthly": 55471 + "third-party": { + "pypi": { + "package": "fasta2a", + "weeks": [ + 75565, + 75768, + 63746, + 64718, + 69008, + 46266, + 45564, + 41710, + 41414, + 45858, + 55826, + 48043 + ], + "publisher": "Pydantic", + "candidates": 1, + "monthly": 191141 + }, + "crates": { + "package": "ra2a", + "weeks": [ + 54, + 22, + 75, + 28, + 23, + 15, + 14, + 118, + 286, + 3219, + 2294, + 1291 + ], + "publisher": null, + "candidates": 1, + "monthly": 7090 + } } }, "MCP": { - "npm": { - "package": "@modelcontextprotocol/sdk", - "weeks": [ - 45858002, - 53304972, - 51726406, - 43762222, - 50577978, - 52304301, - 47896904, - 40994402, - 49993981, - 64725178, - 76226448, - 65446130 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 256391737 - }, - "pypi": { - "package": "mcp", - "weeks": [ - 69502771, - 87149707, - 83116411, - 88091190, - 83608495, - 48638168, - 47870020, - 52216597, - 54216448, - 53929472, - 59791459, - 61275340 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 229212719 + "official": { + "npm": { + "package": "@modelcontextprotocol/sdk", + "weeks": [ + 45858002, + 53304972, + 51726406, + 43762222, + 50577978, + 52304301, + 47896904, + 40994402, + 49993981, + 64725178, + 76226448, + 65446130 + ], + "publisher": null, + "candidates": 1, + "monthly": 256391737 + }, + "pypi": { + "package": "mcp", + "weeks": [ + 69502771, + 87149707, + 83116411, + 88091190, + 83608495, + 48638168, + 47870020, + 52216597, + 54216448, + 53929472, + 59791459, + 61275340 + ], + "publisher": null, + "candidates": 1, + "monthly": 229212719 + }, + "crates": { + "package": "rmcp", + "weeks": [ + 954070, + 1039624, + 1003817, + 1144365, + 1148764, + 1357628, + 1567900, + 1553258, + 1690809, + 1871088, + 2347609, + 2639465 + ], + "publisher": null, + "candidates": 1, + "monthly": 8548971 + } }, - "crates": { - "package": "rmcp", - "weeks": [ - 954070, - 1039624, - 1003817, - 1144365, - 1148764, - 1357628, - 1567900, - 1553258, - 1690809, - 1871088, - 2347609, - 2639465 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 8548971 + "third-party": { + "pypi": { + "package": "fastmcp", + "weeks": [ + 17903263, + 25382317, + 24615300, + 25224693, + 20947408, + 10021674, + 11573931, + 11953456, + 12620141, + 11878589, + 13513790, + 13979855 + ], + "publisher": "Prefect", + "candidates": 1, + "monthly": 51992375 + }, + "npm": { + "package": "mcp-use", + "weeks": [ + 48392, + 34798, + 45744, + 49562, + 40110, + 37384, + 31850, + 27513, + 28471, + 35010, + 43069, + 36353 + ], + "publisher": null, + "candidates": 1, + "monthly": 142903 + } } }, "x402": { - "npm": { - "package": "x402", - "weeks": [ - 340362, - 355774, - 349047, - 303022, - 373982, - 390116, - 353112, - 313028, - 396646, - 466468, - 541785, - 467272 - ], - "scope": "first-party", - "candidates": 5, - "monthly": 1872171 + "official": { + "npm": { + "package": "x402", + "weeks": [ + 340362, + 355774, + 349047, + 303022, + 373982, + 390116, + 353112, + 313028, + 396646, + 466468, + 541785, + 467272 + ], + "publisher": null, + "candidates": 5, + "monthly": 1872171 + }, + "pypi": { + "package": "x402", + "weeks": [ + 46910, + 41620, + 44648, + 43666, + 43654, + 39308, + 37251, + 43385, + 41913, + 48463, + 58409, + 74368 + ], + "publisher": null, + "candidates": 1, + "monthly": 223153 + } }, - "pypi": { - "package": "x402", - "weeks": [ - 46910, - 41620, - 44648, - 43666, - 43654, - 39308, - 37251, - 43385, - 41913, - 48463, - 58409, - 74368 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 223153 + "third-party": { + "crates": { + "package": "x402-types", + "weeks": [ + 1881, + 1578, + 1237, + 1412, + 1801, + 2744, + 3167, + 3915, + 3821, + 4247, + 5538, + 6282 + ], + "publisher": null, + "candidates": 2, + "monthly": 19888 + } } }, "UCP": { - "npm": { - "package": "@ucp-js/sdk", - "weeks": [ - 2347, - 5873, - 6433, - 5053, - 5189, - 7945, - 7458, - 6169, - 7341, - 11462, - 18459, - 12820 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 50082 + "official": { + "npm": { + "package": "@ucp-js/sdk", + "weeks": [ + 2347, + 5873, + 6433, + 5053, + 5189, + 7945, + 7458, + 6169, + 7341, + 11462, + 18459, + 12820 + ], + "publisher": null, + "candidates": 1, + "monthly": 50082 + }, + "pypi": { + "package": "ucp-sdk", + "weeks": [ + 911, + 1401, + 2863, + 1863, + 2074, + 1778, + 1651, + 2722, + 1827, + 1817, + 1923, + 1632 + ], + "publisher": null, + "candidates": 1, + "monthly": 7199 + }, + "crates": { + "package": "ucp-schema", + "weeks": [ + 218, + 210, + 268, + 280, + 631, + 306, + 124, + 95, + 212, + 216, + 197, + 204 + ], + "publisher": null, + "candidates": 1, + "monthly": 829 + } }, - "pypi": { - "package": "ucp-sdk", - "weeks": [ - 911, - 1401, - 2863, - 1863, - 2074, - 1778, - 1651, - 2722, - 1827, - 1817, - 1923, - 1632 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 7199 - }, - "crates": { - "package": "ucp-schema", - "weeks": [ - 218, - 210, - 268, - 280, - 631, - 306, - 124, - 95, - 212, - 216, - 197, - 204 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 829 + "third-party": { + "npm": { + "package": "@shopify/ucp-cli", + "weeks": [ + 360, + 322, + 221, + 248, + 247, + 716, + 23674, + 18612, + 17251, + 424, + 501, + 437 + ], + "publisher": "Shopify", + "candidates": 1, + "monthly": 18613 + } } }, "MPP": { - "npm": { - "package": "mppx", - "weeks": [ - 54765, - 63887, - 77953, - 76790, - 122679, - 123889, - 110295, - 92947, - 117884, - 198055, - 324793, - 336249 - ], - "scope": "vendor (wevm)", - "candidates": 1, - "monthly": 976981 + "official": { + "npm": { + "package": "mppx", + "weeks": [ + 54765, + 63887, + 77953, + 76790, + 122679, + 123889, + 110295, + 92947, + 117884, + 198055, + 324793, + 336249 + ], + "publisher": "wevm, with Tempo", + "candidates": 1, + "monthly": 976981 + }, + "pypi": { + "package": "pympp", + "weeks": [ + 6670, + 10112, + 12425, + 10513, + 8142, + 19666, + 11939, + 45774, + 263864, + 233302, + 352707, + 1117962 + ], + "publisher": "Tempo", + "candidates": 2, + "monthly": 1967835 + } }, - "pypi": { - "package": "pympp", - "weeks": [ - 6670, - 10112, - 12425, - 10513, - 8142, - 19666, - 11939, - 45774, - 263864, - 233302, - 352707, - 1117962 - ], - "scope": "first-party (Tempo)", - "candidates": 2, - "monthly": 1967835 - } + "third-party": {} }, "Web Bot Auth": { - "npm": { - "package": "web-bot-auth", - "weeks": [ - 24763, - 21941, - 26368, - 24165, - 90789, - 106258, - 105086, - 71501, - 165051, - 182304, - 179645, - 162458 - ], - "scope": "first-party", - "candidates": 3, - "monthly": 689458 + "official": { + "npm": { + "package": "web-bot-auth", + "weeks": [ + 24763, + 21941, + 26368, + 24165, + 90789, + 106258, + 105086, + 71501, + 165051, + 182304, + 179645, + 162458 + ], + "publisher": null, + "candidates": 3, + "monthly": 689458 + }, + "crates": { + "package": "web-bot-auth", + "weeks": [ + 16874, + 18280, + 17190, + 16887, + 15694, + 18044, + 20688, + 18558, + 20915, + 23983, + 19231, + 18130 + ], + "publisher": null, + "candidates": 1, + "monthly": 82259 + } }, - "crates": { - "package": "web-bot-auth", - "weeks": [ - 16874, - 18280, - 17190, - 16887, - 15694, - 18044, - 20688, - 18558, - 20915, - 23983, - 19231, - 18130 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 82259 + "third-party": { + "npm": { + "package": "vestauth", + "weeks": [ + 157, + 106, + 320, + 260, + 26, + 29, + 191, + 126, + 70, + 114, + 195, + 182 + ], + "publisher": "the dotenv author", + "candidates": 2, + "monthly": 561 + }, + "pypi": { + "package": "regent-httpsig", + "weeks": [ + 0, + 0, + 0, + 0, + 406, + 38, + 153, + 354, + 62, + 9, + 23, + 425 + ], + "publisher": null, + "candidates": 1, + "monthly": 519 + } } }, "KYA-OS": { - "npm": { - "package": "@kya-os/mcp", - "weeks": [ - 2221, - 1073, - 1024, - 1997, - 1947, - 2770, - 2081, - 1379, - 4004, - 18152, - 20250, - 11326 - ], - "scope": "first-party", - "candidates": 2, - "monthly": 53732 - } + "official": { + "npm": { + "package": "@kya-os/mcp", + "weeks": [ + 2221, + 1073, + 1024, + 1997, + 1947, + 2770, + 2081, + 1379, + 4004, + 18152, + 20250, + 11326 + ], + "publisher": null, + "candidates": 2, + "monthly": 53732 + } + }, + "third-party": {} }, "x401": { - "npm": { - "package": "@proof.com/x401-node", - "weeks": [ - 155, - 319, - 98, - 63, - 70, - 96, - 55, - 53, - 33, - 128, - 299, - 269 - ], - "scope": "first-party", - "candidates": 1, - "monthly": 729 + "official": { + "npm": { + "package": "@proof.com/x401-node", + "weeks": [ + 155, + 319, + 98, + 63, + 70, + 96, + 55, + 53, + 33, + 128, + 299, + 269 + ], + "publisher": null, + "candidates": 1, + "monthly": 729 + } + }, + "third-party": { + "npm": { + "package": "@solidus-network/x401", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 105, + 4, + 8, + 4, + 3, + 5 + ], + "publisher": null, + "candidates": 1, + "monthly": 20 + } } }, "PAP": { - "npm": { - "package": "@datalayer/personal-agent-protocol", - "weeks": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1991 - ], - "scope": "community", - "candidates": 2, - "monthly": 1991 - }, - "pypi": { - "package": "personal-agent-protocol", - "weeks": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1384 - ], - "scope": "community", - "candidates": 1, - "monthly": 1384 + "official": {}, + "third-party": { + "npm": { + "package": "@datalayer/personal-agent-protocol", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1991 + ], + "publisher": "Datalayer", + "candidates": 2, + "monthly": 1991 + }, + "pypi": { + "package": "personal-agent-protocol", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1384 + ], + "publisher": "Datalayer", + "candidates": 1, + "monthly": 1384 + } } }, "L402": { - "npm": { - "package": "@lightninglabs/l402", - "weeks": [ - 3, - 1, - 3, - 3, - 3, - 6, - 4, - 1, - 6, - 41, - 8, - 49 - ], - "scope": "first-party", - "candidates": 2, - "monthly": 104 + "official": { + "npm": { + "package": "@lightninglabs/l402", + "weeks": [ + 3, + 1, + 3, + 3, + 3, + 6, + 4, + 1, + 6, + 41, + 8, + 49 + ], + "publisher": null, + "candidates": 2, + "monthly": 104 + } }, - "pypi": { - "package": "l402", - "weeks": [ - 7, - 3, - 11, - 3, - 5, - 1, - 13, - 2, - 4, - 5, - 9, - 6 - ], - "scope": "community", - "candidates": 1, - "monthly": 24 + "third-party": { + "pypi": { + "package": "l402", + "weeks": [ + 7, + 3, + 11, + 3, + 5, + 1, + 13, + 2, + 4, + 5, + 9, + 6 + ], + "publisher": "Fewsats", + "candidates": 1, + "monthly": 24 + } } }, "ACP": { - "npm": { - "package": "agentic-commerce-protocol", - "weeks": [ - 13, - 3, - 11, - 15, - 5, - 10, - 5, - 11, - 9, - 15, - 13, - 10 - ], - "scope": "vendor (Svix)", - "candidates": 1, - "monthly": 47 - }, - "pypi": { - "package": "agentic-commerce-protocol", - "weeks": [ - 7, - 10, - 8, - 4, - 6, - 14, - 7, - 10, - 15, - 13, - 11, - 11 - ], - "scope": "vendor (Svix)", - "candidates": 1, - "monthly": 50 + "official": {}, + "third-party": { + "npm": { + "package": "acp-handler", + "weeks": [ + 25, + 12, + 427, + 439, + 1092, + 298, + 159, + 216, + 125, + 110, + 237, + 385 + ], + "publisher": "Vercel", + "candidates": 2, + "monthly": 857 + }, + "pypi": { + "package": "agentic-commerce-protocol", + "weeks": [ + 7, + 10, + 8, + 4, + 6, + 14, + 7, + 10, + 15, + 13, + 11, + 11 + ], + "publisher": "Svix", + "candidates": 1, + "monthly": 50 + } } }, "KYAPay": { - "npm": { - "package": "@skyfire-xyz/skyfire-seller-sdk-node", - "weeks": [ - 3, - 12, - 309, - 32, - 15, - 15, - 19, - 12, - 7, - 16, - 5, - 24 - ], - "scope": "vendor (Skyfire)", - "candidates": 1, - "monthly": 52 + "official": { + "npm": { + "package": "@skyfire-xyz/skyfire-seller-sdk-node", + "weeks": [ + 3, + 12, + 309, + 32, + 15, + 15, + 19, + 12, + 7, + 16, + 5, + 24 + ], + "publisher": "Skyfire", + "candidates": 1, + "monthly": 52 + } + }, + "third-party": { + "npm": { + "package": "@tollstile/kyapay", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 344, + 20, + 11, + 8 + ], + "publisher": "Tollstile", + "candidates": 1, + "monthly": 383 + } + } + }, + "TAP": { + "official": {}, + "third-party": { + "npm": { + "package": "@inflowpayai/tap-seller", + "weeks": [ + 0, + 0, + 0, + 0, + 0, + 70, + 31, + 3, + 8, + 7, + 205, + 178 + ], + "publisher": "InFlow", + "candidates": 1, + "monthly": 398 + } } } }, "no_package": { - "AP2": "The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found", - "TAP": "No package found on npm, PyPI or crates.io", - "ANS": "No package found on npm, PyPI or crates.io (Go reference implementation)" + "AP2": "The ap2 package on PyPI belongs to an unrelated project; no other package found on npm, PyPI or crates.io", + "ANS": "No package found on npm, PyPI or crates.io (Go reference implementation, Swift SDK)" } } } \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/downloads-all-registries.svg b/docs/research/tools/capability-map/traction/downloads-all-registries.svg index bb53e6f..b767c8a 100644 --- a/docs/research/tools/capability-map/traction/downloads-all-registries.svg +++ b/docs/research/tools/capability-map/traction/downloads-all-registries.svg @@ -1,4 +1,4 @@ -Weekly package downloads for each protocol across npm, PyPI and crates.ioSmall multiples, one panel per protocol. MCP 129.4M in the latest week; A2A 6.9M in the latest week; MPP 1.5M in the latest week; x402 542K in the latest week; Web Bot Auth 181K in the latest week; UCP 15K in the latest week; KYA-OS 11K in the latest week; PAP 3.4K in the latest week; x401 269 in the latest week; L402 55 in the latest week; KYAPay 24 in the latest week; ACP 21 in the latest week; no data for Baselayer KYA, AP2, TAP, ANSWeekly package downloads for each protocol: official and third-party packages20 Jul to 11 Oct 2026, across npm, PyPI and crates.io. Each panel has its own scale, from 0 to its peak.Per registry and group, the most downloaded package is counted. The text under each panel gives the latest week by registry. CI and mirrors are included.Official packagesThird-party packages (hand-picked examples)MCP129.4M official a week141.5M0MCP, week of 2026-07-20: official npm 45,858,002; official pypi 69,502,771; official crates 954,070; third-party pypi 17,903,263; third-party npm 48,392MCP, week of 2026-07-27: official npm 53,304,972; official pypi 87,149,707; official crates 1,039,624; third-party pypi 25,382,317; third-party npm 34,798MCP, week of 2026-08-03: official npm 51,726,406; official pypi 83,116,411; official crates 1,003,817; third-party pypi 24,615,300; third-party npm 45,744MCP, week of 2026-08-10: official npm 43,762,222; official pypi 88,091,190; official crates 1,144,365; third-party pypi 25,224,693; third-party npm 49,562MCP, week of 2026-08-17: official npm 50,577,978; official pypi 83,608,495; official crates 1,148,764; third-party pypi 20,947,408; third-party npm 40,110MCP, week of 2026-08-24: official npm 52,304,301; official pypi 48,638,168; official crates 1,357,628; third-party pypi 10,021,674; third-party npm 37,384MCP, week of 2026-08-31: official npm 47,896,904; official pypi 47,870,020; official crates 1,567,900; third-party pypi 11,573,931; third-party npm 31,850MCP, week of 2026-09-07: official npm 40,994,402; official pypi 52,216,597; official crates 1,553,258; third-party pypi 11,953,456; third-party npm 27,513MCP, week of 2026-09-14: official npm 49,993,981; official pypi 54,216,448; official crates 1,690,809; third-party pypi 12,620,141; third-party npm 28,471MCP, week of 2026-09-21: official npm 64,725,178; official pypi 53,929,472; official crates 1,871,088; third-party pypi 11,878,589; third-party npm 35,010MCP, week of 2026-09-28: official npm 76,226,448; official pypi 59,791,459; official crates 2,347,609; third-party pypi 13,513,790; third-party npm 43,069MCP, week of 2026-10-05: official npm 65,446,130; official pypi 61,275,340; official crates 2,639,465; third-party pypi 13,979,855; third-party npm 36,353Official: npm 65.4M · pypi 61.3M · crates 2.6MThird-party: pypi 14M · npm 36KA2A6.9M official a week6.9M0A2A, week of 2026-07-20: official npm 1,677,660; official pypi 2,825,584; official crates 2,306; third-party pypi 75,565; third-party crates 54A2A, week of 2026-07-27: official npm 1,745,409; official pypi 3,211,899; official crates 1,571; third-party pypi 75,768; third-party crates 22A2A, week of 2026-08-03: official npm 1,780,854; official pypi 4,217,674; official crates 2,908; third-party pypi 63,746; third-party crates 75A2A, week of 2026-08-10: official npm 1,639,387; official pypi 4,888,180; official crates 3,935; third-party pypi 64,718; third-party crates 28A2A, week of 2026-08-17: official npm 2,063,326; official pypi 4,328,748; official crates 2,265; third-party pypi 69,008; third-party crates 23A2A, week of 2026-08-24: official npm 2,344,232; official pypi 2,151,289; official crates 3,642; third-party pypi 46,266; third-party crates 15A2A, week of 2026-08-31: official npm 2,248,896; official pypi 2,112,024; official crates 5,180; third-party pypi 45,564; third-party crates 14A2A, week of 2026-09-07: official npm 2,002,171; official pypi 2,279,504; official crates 8,224; third-party pypi 41,710; third-party crates 118A2A, week of 2026-09-14: official npm 2,608,743; official pypi 2,532,099; official crates 6,799; third-party pypi 41,414; third-party crates 286A2A, week of 2026-09-21: official npm 3,567,655; official pypi 3,086,909; official crates 5,315; third-party pypi 45,858; third-party crates 3,219A2A, week of 2026-09-28: official npm 4,100,684; official pypi 2,796,262; official crates 14,665; third-party pypi 55,826; third-party crates 2,294A2A, week of 2026-10-05: official npm 4,114,624; official pypi 2,726,724; official crates 28,692; third-party pypi 48,043; third-party crates 1,291Official: npm 4.1M · pypi 2.7M · crates 29KThird-party: pypi 48K · crates 1.3KMPP1.5M official a week1.5M0MPP, week of 2026-07-20: official npm 54,765; official pypi 6,670MPP, week of 2026-07-27: official npm 63,887; official pypi 10,112MPP, week of 2026-08-03: official npm 77,953; official pypi 12,425MPP, week of 2026-08-10: official npm 76,790; official pypi 10,513MPP, week of 2026-08-17: official npm 122,679; official pypi 8,142MPP, week of 2026-08-24: official npm 123,889; official pypi 19,666MPP, week of 2026-08-31: official npm 110,295; official pypi 11,939MPP, week of 2026-09-07: official npm 92,947; official pypi 45,774MPP, week of 2026-09-14: official npm 117,884; official pypi 263,864MPP, week of 2026-09-21: official npm 198,055; official pypi 233,302MPP, week of 2026-09-28: official npm 324,793; official pypi 352,707MPP, week of 2026-10-05: official npm 336,249; official pypi 1,117,962Official: npm 336K · pypi 1.1Mx402542K official a week600K0x402, week of 2026-07-20: official npm 340,362; official pypi 46,910; third-party crates 1,881x402, week of 2026-07-27: official npm 355,774; official pypi 41,620; third-party crates 1,578x402, week of 2026-08-03: official npm 349,047; official pypi 44,648; third-party crates 1,237x402, week of 2026-08-10: official npm 303,022; official pypi 43,666; third-party crates 1,412x402, week of 2026-08-17: official npm 373,982; official pypi 43,654; third-party crates 1,801x402, week of 2026-08-24: official npm 390,116; official pypi 39,308; third-party crates 2,744x402, week of 2026-08-31: official npm 353,112; official pypi 37,251; third-party crates 3,167x402, week of 2026-09-07: official npm 313,028; official pypi 43,385; third-party crates 3,915x402, week of 2026-09-14: official npm 396,646; official pypi 41,913; third-party crates 3,821x402, week of 2026-09-21: official npm 466,468; official pypi 48,463; third-party crates 4,247x402, week of 2026-09-28: official npm 541,785; official pypi 58,409; third-party crates 5,538x402, week of 2026-10-05: official npm 467,272; official pypi 74,368; third-party crates 6,282Official: npm 467K · pypi 74KThird-party: crates 6.3KWeb Bot Auth181K official a week206K0Web Bot Auth, week of 2026-07-20: official npm 24,763; official crates 16,874; third-party npm 157; third-party pypi 0Web Bot Auth, week of 2026-07-27: official npm 21,941; official crates 18,280; third-party npm 106; third-party pypi 0Web Bot Auth, week of 2026-08-03: official npm 26,368; official crates 17,190; third-party npm 320; third-party pypi 0Web Bot Auth, week of 2026-08-10: official npm 24,165; official crates 16,887; third-party npm 260; third-party pypi 0Web Bot Auth, week of 2026-08-17: official npm 90,789; official crates 15,694; third-party npm 26; third-party pypi 406Web Bot Auth, week of 2026-08-24: official npm 106,258; official crates 18,044; third-party npm 29; third-party pypi 38Web Bot Auth, week of 2026-08-31: official npm 105,086; official crates 20,688; third-party npm 191; third-party pypi 153Web Bot Auth, week of 2026-09-07: official npm 71,501; official crates 18,558; third-party npm 126; third-party pypi 354Web Bot Auth, week of 2026-09-14: official npm 165,051; official crates 20,915; third-party npm 70; third-party pypi 62Web Bot Auth, week of 2026-09-21: official npm 182,304; official crates 23,983; third-party npm 114; third-party pypi 9Web Bot Auth, week of 2026-09-28: official npm 179,645; official crates 19,231; third-party npm 195; third-party pypi 23Web Bot Auth, week of 2026-10-05: official npm 162,458; official crates 18,130; third-party npm 182; third-party pypi 425Official: npm 162K · crates 18KThird-party: npm 182 · pypi 425UCP15K official a week24K0UCP, week of 2026-07-20: official npm 2,347; official pypi 911; official crates 218; third-party npm 360UCP, week of 2026-07-27: official npm 5,873; official pypi 1,401; official crates 210; third-party npm 322UCP, week of 2026-08-03: official npm 6,433; official pypi 2,863; official crates 268; third-party npm 221UCP, week of 2026-08-10: official npm 5,053; official pypi 1,863; official crates 280; third-party npm 248UCP, week of 2026-08-17: official npm 5,189; official pypi 2,074; official crates 631; third-party npm 247UCP, week of 2026-08-24: official npm 7,945; official pypi 1,778; official crates 306; third-party npm 716UCP, week of 2026-08-31: official npm 7,458; official pypi 1,651; official crates 124; third-party npm 23,674UCP, week of 2026-09-07: official npm 6,169; official pypi 2,722; official crates 95; third-party npm 18,612UCP, week of 2026-09-14: official npm 7,341; official pypi 1,827; official crates 212; third-party npm 17,251UCP, week of 2026-09-21: official npm 11,462; official pypi 1,817; official crates 216; third-party npm 424UCP, week of 2026-09-28: official npm 18,459; official pypi 1,923; official crates 197; third-party npm 501UCP, week of 2026-10-05: official npm 12,820; official pypi 1,632; official crates 204; third-party npm 437Official: npm 13K · pypi 1.6K · crates 204Third-party: npm 437KYA-OS11K official a week20K0KYA-OS, week of 2026-07-20: official npm 2,221KYA-OS, week of 2026-07-27: official npm 1,073KYA-OS, week of 2026-08-03: official npm 1,024KYA-OS, week of 2026-08-10: official npm 1,997KYA-OS, week of 2026-08-17: official npm 1,947KYA-OS, week of 2026-08-24: official npm 2,770KYA-OS, week of 2026-08-31: official npm 2,081KYA-OS, week of 2026-09-07: official npm 1,379KYA-OS, week of 2026-09-14: official npm 4,004KYA-OS, week of 2026-09-21: official npm 18,152KYA-OS, week of 2026-09-28: official npm 20,250KYA-OS, week of 2026-10-05: official npm 11,326Official: npm 11KPAP3.4K third-party a week3.4K0not published yetPAP, week of 2026-07-20: third-party npm 0; third-party pypi 0PAP, week of 2026-07-27: third-party npm 0; third-party pypi 0PAP, week of 2026-08-03: third-party npm 0; third-party pypi 0PAP, week of 2026-08-10: third-party npm 0; third-party pypi 0PAP, week of 2026-08-17: third-party npm 0; third-party pypi 0PAP, week of 2026-08-24: third-party npm 0; third-party pypi 0PAP, week of 2026-08-31: third-party npm 0; third-party pypi 0PAP, week of 2026-09-07: third-party npm 0; third-party pypi 0PAP, week of 2026-09-14: third-party npm 0; third-party pypi 0PAP, week of 2026-09-21: third-party npm 0; third-party pypi 0PAP, week of 2026-09-28: third-party npm 0; third-party pypi 0PAP, week of 2026-10-05: third-party npm 1,991; third-party pypi 1,384Third-party: npm 2K · pypi 1.4KACP396 third-party a week1.1K0ACP, week of 2026-07-20: third-party npm 25; third-party pypi 7ACP, week of 2026-07-27: third-party npm 12; third-party pypi 10ACP, week of 2026-08-03: third-party npm 427; third-party pypi 8ACP, week of 2026-08-10: third-party npm 439; third-party pypi 4ACP, week of 2026-08-17: third-party npm 1,092; third-party pypi 6ACP, week of 2026-08-24: third-party npm 298; third-party pypi 14ACP, week of 2026-08-31: third-party npm 159; third-party pypi 7ACP, week of 2026-09-07: third-party npm 216; third-party pypi 10ACP, week of 2026-09-14: third-party npm 125; third-party pypi 15ACP, week of 2026-09-21: third-party npm 110; third-party pypi 13ACP, week of 2026-09-28: third-party npm 237; third-party pypi 11ACP, week of 2026-10-05: third-party npm 385; third-party pypi 11Third-party: npm 385 · pypi 11x401269 official a week3190x401, week of 2026-07-20: official npm 155; third-party npm 0x401, week of 2026-07-27: official npm 319; third-party npm 0x401, week of 2026-08-03: official npm 98; third-party npm 0x401, week of 2026-08-10: official npm 63; third-party npm 0x401, week of 2026-08-17: official npm 70; third-party npm 0x401, week of 2026-08-24: official npm 96; third-party npm 0x401, week of 2026-08-31: official npm 55; third-party npm 105x401, week of 2026-09-07: official npm 53; third-party npm 4x401, week of 2026-09-14: official npm 33; third-party npm 8x401, week of 2026-09-21: official npm 128; third-party npm 4x401, week of 2026-09-28: official npm 299; third-party npm 3x401, week of 2026-10-05: official npm 269; third-party npm 5Official: npm 269Third-party: npm 5TAP178 third-party a week2050not published yetTAP, week of 2026-07-20: third-party npm 0TAP, week of 2026-07-27: third-party npm 0TAP, week of 2026-08-03: third-party npm 0TAP, week of 2026-08-10: third-party npm 0TAP, week of 2026-08-17: third-party npm 0TAP, week of 2026-08-24: third-party npm 70TAP, week of 2026-08-31: third-party npm 31TAP, week of 2026-09-07: third-party npm 3TAP, week of 2026-09-14: third-party npm 8TAP, week of 2026-09-21: third-party npm 7TAP, week of 2026-09-28: third-party npm 205TAP, week of 2026-10-05: third-party npm 178Third-party: npm 178L40249 official a week490L402, week of 2026-07-20: official npm 3; third-party pypi 7L402, week of 2026-07-27: official npm 1; third-party pypi 3L402, week of 2026-08-03: official npm 3; third-party pypi 11L402, week of 2026-08-10: official npm 3; third-party pypi 3L402, week of 2026-08-17: official npm 3; third-party pypi 5L402, week of 2026-08-24: official npm 6; third-party pypi 1L402, week of 2026-08-31: official npm 4; third-party pypi 13L402, week of 2026-09-07: official npm 1; third-party pypi 2L402, week of 2026-09-14: official npm 6; third-party pypi 4L402, week of 2026-09-21: official npm 41; third-party pypi 5L402, week of 2026-09-28: official npm 8; third-party pypi 9L402, week of 2026-10-05: official npm 49; third-party pypi 6Official: npm 49Third-party: pypi 6KYAPay24 official a week3440KYAPay, week of 2026-07-20: official npm 3; third-party npm 0KYAPay, week of 2026-07-27: official npm 12; third-party npm 0KYAPay, week of 2026-08-03: official npm 309; third-party npm 0KYAPay, week of 2026-08-10: official npm 32; third-party npm 0KYAPay, week of 2026-08-17: official npm 15; third-party npm 0KYAPay, week of 2026-08-24: official npm 15; third-party npm 0KYAPay, week of 2026-08-31: official npm 19; third-party npm 0KYAPay, week of 2026-09-07: official npm 12; third-party npm 0KYAPay, week of 2026-09-14: official npm 7; third-party npm 344KYAPay, week of 2026-09-21: official npm 16; third-party npm 20KYAPay, week of 2026-09-28: official npm 5; third-party npm 11KYAPay, week of 2026-10-05: official npm 24; third-party npm 8Official: npm 24Third-party: npm 8Baselayer KYANo dataclosed product, no packageAP2No datano package foundANSNo datano package foundNot covered by this chartProtocols with no dataBaselayer KYA: closed commercial product: no public repository or package.AP2: The ap2 package on PyPI belongs to an unrelated project; no other package found on npm, PyPI or crates.io.ANS: No package found on npm, PyPI or crates.io (Go reference implementation, Swift SDK).Official packages counted (per registry, the most downloaded)MCP: @modelcontextprotocol/sdk (npm), mcp (pypi), rmcp (crates)A2A: @a2a-js/sdk (npm), a2a-sdk (pypi), a2a-lf (crates)MPP: mppx (npm, wevm, with Tempo), pympp (pypi, Tempo)x402: x402 (npm), x402 (pypi)Web Bot Auth: web-bot-auth (npm), web-bot-auth (crates)UCP: @ucp-js/sdk (npm), ucp-sdk (pypi), ucp-schema (crates)KYA-OS: @kya-os/mcp (npm)x401: @proof.com/x401-node (npm)L402: @lightninglabs/l402 (npm)KYAPay: @skyfire-xyz/skyfire-seller-sdk-node (npm, Skyfire)Third-party packages counted (hand-picked examples; the publisher is named)MCP: fastmcp (pypi, Prefect), mcp-use (npm)A2A: fasta2a (pypi, Pydantic), ra2a (crates)x402: x402-types (crates)Web Bot Auth: vestauth (npm, the dotenv author), regent-httpsig (pypi)UCP: @shopify/ucp-cli (npm, Shopify)PAP: @datalayer/personal-agent-protocol (npm, Datalayer), personal-agent-protocol (pypi, Datalayer)ACP: acp-handler (npm, Vercel), agentic-commerce-protocol (pypi, Svix)x401: @solidus-network/x401 (npm)TAP: @inflowpayai/tap-seller (npm, InFlow)L402: l402 (pypi, Fewsats)KYAPay: @tollstile/kyapay (npm, Tollstile)Other packages of the same registry and group, not added (a package and its dependencies would be counted twice)A2A (official, crates): a2a-pbx402 (official, npm): @x402/core, @x402/extensions, @x402/fetch, @x402/mcpx402 (third-party, crates): x402-chain-eip155MPP (official, pypi): pytempoWeb Bot Auth (official, npm): http-message-sig, jsonwebkey-thumbprintWeb Bot Auth (third-party, npm): samesameKYA-OS (official, npm): @kya-os/mcp-iPAP (third-party, npm): poppyseedL402 (official, npm): @lightninglabs/lightning-mcp-serverACP (third-party, npm): agentic-commerce-protocolNot measuredMaven, NuGet, Go modules, RubyGems, container pulls, and copies installed without a registry. Third-party repositories are a sample, not a census(GitHub repositories tagged with each protocol topic: MCP 37,653, x402 3,827, A2A 604, L402 110, UCP 66, Web Bot Auth 41, ACP 27, AP2 19).Each registry gives a different history, so every panel covers the same 12 weeks. \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/fetch.py b/docs/research/tools/capability-map/traction/fetch.py index 20c5eb0..7641902 100644 --- a/docs/research/tools/capability-map/traction/fetch.py +++ b/docs/research/tools/capability-map/traction/fetch.py @@ -19,50 +19,70 @@ # Other repositories and packages for each protocol. They are not charted as series, but each chart lists them # under "Not covered by this chart" so the single repository or package plotted is not mistaken for the whole ecosystem. -# 'first-party' repositories belong to the protocol's own organisation (or its named steward) and are added to the -# protocol's commit series. 'community' repositories are third-party implementations: listed, not aggregated. -FP, CM = 'first-party', 'community' +# Official repositories belong to the protocol's own organisation or named steward. Third-party repositories are +# hand-picked: for each protocol, up to three repositories that implement the protocol itself (an SDK, server, +# library or plugin), highest stars first, after setting aside applications that merely use the protocol and +# curated lists. GitHub has many more (see TOPICS), so these are examples, not a census. +OFF, TP = 'official', 'third-party' OTHERS = { - 'A2A': [('a2aproject/a2a-python', FP), ('a2aproject/a2a-js', FP), ('a2aproject/a2a-java', FP), ('a2aproject/a2a-go', FP), - ('a2aproject/a2a-dotnet', FP), ('a2aproject/a2a-rs', FP), ('a2aproject/a2a-samples', FP), ('a2aproject/a2a-inspector', FP)], - 'MCP': [('modelcontextprotocol/typescript-sdk', FP), ('modelcontextprotocol/python-sdk', FP), ('modelcontextprotocol/java-sdk', FP), - ('modelcontextprotocol/go-sdk', FP), ('modelcontextprotocol/csharp-sdk', FP), ('modelcontextprotocol/rust-sdk', FP)], - 'x402': [('x402-foundation/wg-identity', FP), ('google-agentic-commerce/a2a-x402', CM)], - 'UCP': [('Universal-Commerce-Protocol/python-sdk', FP), ('Universal-Commerce-Protocol/js-sdk', FP), - ('Universal-Commerce-Protocol/samples', FP), ('Universal-Commerce-Protocol/conformance', FP), - ('Universal-Commerce-Protocol/ucp-schema', FP)], - 'MPP': [('tempoxyz/mpp-specs', FP)], - 'L402': [('lightninglabs/L402', FP), ('lightninglabs/lightning-agent-tools', FP)], - 'ANS': [('agentnameservice/ans-registry', FP)], - 'PAP': [('datalayer/personal-agent-protocol', CM), ('richardanaya/pi-poppy', CM), ('akshay5995/poppyseed', CM)], - 'x401': [('proof/x401-node', FP), ('proof/x401-ruby', FP)], - 'KYAPay': [('skyfire-xyz/kyapay_a2a', FP)], + 'A2A': [('a2aproject/a2a-python', OFF), ('a2aproject/a2a-js', OFF), ('a2aproject/a2a-java', OFF), ('a2aproject/a2a-go', OFF), + ('a2aproject/a2a-dotnet', OFF), ('a2aproject/a2a-rs', OFF), ('a2aproject/a2a-samples', OFF), ('a2aproject/a2a-inspector', OFF), + ('pydantic/fasta2a', TP), ('qntx-labs/ra2a', TP), ('vishalmysore/a2ajava', TP)], + 'MCP': [('modelcontextprotocol/typescript-sdk', OFF), ('modelcontextprotocol/python-sdk', OFF), ('modelcontextprotocol/java-sdk', OFF), + ('modelcontextprotocol/go-sdk', OFF), ('modelcontextprotocol/csharp-sdk', OFF), ('modelcontextprotocol/rust-sdk', OFF), + ('PrefectHQ/fastmcp', TP), ('mcp-use/mcp-use', TP), ('mark3labs/mcp-go', TP)], + 'x402': [('x402-foundation/wg-identity', OFF), ('solana-foundation/pay', TP), ('x402-rs/x402-rs', TP), + ('google-agentic-commerce/a2a-x402', TP)], + 'UCP': [('Universal-Commerce-Protocol/python-sdk', OFF), ('Universal-Commerce-Protocol/js-sdk', OFF), + ('Universal-Commerce-Protocol/samples', OFF), ('Universal-Commerce-Protocol/conformance', OFF), + ('Universal-Commerce-Protocol/ucp-schema', OFF), ('NVIDIA-AI-Blueprints/Retail-Agentic-Commerce', TP), + ('Shopify/ucp-cli', TP), ('magebitcom/magento2-universal-commerce-module', TP)], + 'AP2': [('solana-foundation/pay', TP), ('vishalmysore/ap2java', TP)], + 'ACP': [('NVIDIA-AI-Blueprints/Retail-Agentic-Commerce', TP), ('vercel/acp-handler', TP), ('nekuda-ai/ACP-Checkout-Gateway', TP)], + 'TAP': [('inflowpayai/inflow-node', TP)], + 'MPP': [('tempoxyz/mpp-specs', OFF), ('solana-foundation/pay', TP), ('faremeter/faremeter', TP)], + 'L402': [('lightninglabs/L402', OFF), ('lightninglabs/lightning-agent-tools', OFF), ('l402-protocol/l402', TP), + ('ngx-l402/ngx-l402', TP), ('Fewsats/l402-python', TP)], + 'Web Bot Auth': [('vestauth/vestauth', TP), ('TecharoHQ/samesame', TP), ('regent-protocol/regent-httpsig', TP)], + 'x401': [('proof/x401-node', OFF), ('proof/x401-ruby', OFF), ('solidusnetwork/x401', TP), ('Shehryar/x401', TP)], + 'ANS': [('agentnameservice/ans-registry', OFF), ('ruvnet/Agent-Name-Service', TP), ('1amageek/ans-sdk-swift', TP)], + 'PAP': [('datalayer/personal-agent-protocol', TP), ('richardanaya/pi-poppy', TP), ('akshay5995/poppyseed', TP)], + 'KYAPay': [('skyfire-xyz/kyapay_a2a', OFF), ('tollstile/Tollstile', TP)], } -# Packages per protocol and registry. For each registry the package with the most downloads in the last four weeks -# is charted (so a package and its dependencies are not both counted), and registries are added together. -# Scope: first-party = the protocol's own organisation; vendor = built by a named partner for the protocol; -# community = third-party implementation. +# GitHub repositories tagged with each protocol's topic on 16 Oct 2026. Includes applications that only use the protocol. +TOPICS = {'MCP': ('model-context-protocol', 37653), 'x402': ('x402', 3827), 'A2A': ('a2a-protocol', 604), 'L402': ('l402', 110), + 'UCP': ('universal-commerce-protocol', 66), 'Web Bot Auth': ('web-bot-auth', 41), 'ACP': ('agentic-commerce-protocol', 27), + 'AP2': ('agent-payments-protocol', 19)} +# Packages per protocol, group and registry. For each registry and group the package with the most downloads in the last +# four weeks is charted, so a package and its dependencies are not counted twice. PACKAGES = { - 'A2A': {'npm': ['@a2a-js/sdk'], 'pypi': ['a2a-sdk'], 'crates': ['a2a-lf', 'a2a-pb']}, - 'MCP': {'npm': ['@modelcontextprotocol/sdk'], 'pypi': ['mcp'], 'crates': ['rmcp']}, - 'x402': {'npm': ['x402', '@x402/core', '@x402/extensions', '@x402/fetch', '@x402/mcp'], 'pypi': ['x402']}, - 'UCP': {'npm': ['@ucp-js/sdk'], 'pypi': ['ucp-sdk'], 'crates': ['ucp-schema']}, - 'MPP': {'npm': ['mppx'], 'pypi': ['pympp', 'pytempo']}, - 'Web Bot Auth': {'npm': ['web-bot-auth', 'http-message-sig', 'jsonwebkey-thumbprint'], 'crates': ['web-bot-auth']}, - 'KYA-OS': {'npm': ['@kya-os/mcp', '@kya-os/mcp-i']}, - 'x401': {'npm': ['@proof.com/x401-node']}, - 'PAP': {'npm': ['@datalayer/personal-agent-protocol', 'poppyseed'], 'pypi': ['personal-agent-protocol']}, - 'L402': {'npm': ['@lightninglabs/l402', '@lightninglabs/lightning-mcp-server'], 'pypi': ['l402']}, - 'ACP': {'npm': ['agentic-commerce-protocol'], 'pypi': ['agentic-commerce-protocol']}, - 'KYAPay': {'npm': ['@skyfire-xyz/skyfire-seller-sdk-node']}, + 'A2A': {OFF: {'npm': ['@a2a-js/sdk'], 'pypi': ['a2a-sdk'], 'crates': ['a2a-lf', 'a2a-pb']}, + TP: {'pypi': ['fasta2a'], 'crates': ['ra2a']}}, + 'MCP': {OFF: {'npm': ['@modelcontextprotocol/sdk'], 'pypi': ['mcp'], 'crates': ['rmcp']}, + TP: {'pypi': ['fastmcp'], 'npm': ['mcp-use']}}, + 'x402': {OFF: {'npm': ['x402', '@x402/core', '@x402/extensions', '@x402/fetch', '@x402/mcp'], 'pypi': ['x402']}, + TP: {'crates': ['x402-types', 'x402-chain-eip155']}}, + 'UCP': {OFF: {'npm': ['@ucp-js/sdk'], 'pypi': ['ucp-sdk'], 'crates': ['ucp-schema']}, TP: {'npm': ['@shopify/ucp-cli']}}, + 'MPP': {OFF: {'npm': ['mppx'], 'pypi': ['pympp', 'pytempo']}, TP: {}}, + 'Web Bot Auth': {OFF: {'npm': ['web-bot-auth', 'http-message-sig', 'jsonwebkey-thumbprint'], 'crates': ['web-bot-auth']}, + TP: {'npm': ['vestauth', 'samesame'], 'pypi': ['regent-httpsig']}}, + 'KYA-OS': {OFF: {'npm': ['@kya-os/mcp', '@kya-os/mcp-i']}, TP: {}}, + 'x401': {OFF: {'npm': ['@proof.com/x401-node']}, TP: {'npm': ['@solidus-network/x401']}}, + 'PAP': {OFF: {}, TP: {'npm': ['@datalayer/personal-agent-protocol', 'poppyseed'], 'pypi': ['personal-agent-protocol']}}, + 'L402': {OFF: {'npm': ['@lightninglabs/l402', '@lightninglabs/lightning-mcp-server']}, TP: {'pypi': ['l402']}}, + 'ACP': {OFF: {}, TP: {'npm': ['agentic-commerce-protocol', 'acp-handler'], 'pypi': ['agentic-commerce-protocol']}}, + 'KYAPay': {OFF: {'npm': ['@skyfire-xyz/skyfire-seller-sdk-node']}, TP: {'npm': ['@tollstile/kyapay']}}, + 'TAP': {OFF: {}, TP: {'npm': ['@inflowpayai/tap-seller']}}, } -PACKAGE_SCOPE = {'poppyseed': 'community', '@datalayer/personal-agent-protocol': 'community', 'personal-agent-protocol': 'community', - 'l402': 'community', 'agentic-commerce-protocol': 'vendor (Svix)', '@skyfire-xyz/skyfire-seller-sdk-node': 'vendor (Skyfire)', - 'pympp': 'first-party (Tempo)', 'pytempo': 'first-party (Tempo)', 'mppx': 'vendor (wevm)'} +# Publishers worth naming next to a charted package. +PUBLISHER = {'fasta2a': 'Pydantic', 'agentic-commerce-protocol': 'Svix', 'acp-handler': 'Vercel', '@shopify/ucp-cli': 'Shopify', + 'l402': 'Fewsats', '@datalayer/personal-agent-protocol': 'Datalayer', 'personal-agent-protocol': 'Datalayer', + 'poppyseed': 'a community developer', '@inflowpayai/tap-seller': 'InFlow', '@tollstile/kyapay': 'Tollstile', + 'mppx': 'wevm, with Tempo', 'pympp': 'Tempo', 'pytempo': 'Tempo', 'vestauth': 'the dotenv author', 'fastmcp': 'Prefect', + '@skyfire-xyz/skyfire-seller-sdk-node': 'Skyfire'} # Protocols where no package was found on npm, PyPI or crates.io, with what was checked. -NO_PACKAGE = {'AP2': 'The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found', - 'TAP': 'No package found on npm, PyPI or crates.io', - 'ANS': 'No package found on npm, PyPI or crates.io (Go reference implementation)'} +NO_PACKAGE = {'AP2': 'The ap2 package on PyPI belongs to an unrelated project; no other package found on npm, PyPI or crates.io', + 'ANS': 'No package found on npm, PyPI or crates.io (Go reference implementation, Swift SDK)'} def gh(path): @@ -92,9 +112,12 @@ def commits(): def others(): - out = {} + out, cache = {}, {} for proto, repos in OTHERS.items(): for r, scope in repos: + if r in cache: # a repository can serve several protocols (e.g. solana-foundation/pay) + out.setdefault(proto, []).append(dict(cache[r], scope=scope)) + continue j = gh(f'repos/{r}') if not j or 'stargazers_count' not in j: continue @@ -105,9 +128,10 @@ def others(): weeks = [(w['week'], w['total']) for w in d] break time.sleep(3) - out.setdefault(proto, []).append(dict( - repo=r, scope=scope, stars=j['stargazers_count'], created=j['created_at'][:10], pushed=j['pushed_at'][:10], - commits52w=sum(v for _, v in weeks) if weeks else None, weeks=weeks, archived=j['archived'])) + rec = dict(repo=r, stars=j['stargazers_count'], created=j['created_at'][:10], pushed=j['pushed_at'][:10], + commits52w=sum(v for _, v in weeks) if weeks else None, weeks=weeks, archived=j['archived']) + cache[r] = rec + out.setdefault(proto, []).append(dict(rec, scope=scope)) return out @@ -117,7 +141,7 @@ def _week_starts(n=12): return [end - dt.timedelta(days=7 * i + 6) for i in range(n - 1, -1, -1)] -def _daily(registry, name): +def _daily_once(registry, name): """Daily downloads for one package: {iso date: n}. npm 540 days, PyPI about 180, crates.io 90.""" q = name.replace('/', '%2F') try: @@ -140,24 +164,37 @@ def _daily(registry, name): return None +def _daily(registry, name): + for attempt in range(4): # the registries rate-limit and fail intermittently + days = _daily_once(registry, name) + if days: + return days + time.sleep(3 * (attempt + 1)) + return None + + def downloads(): starts = _week_starts() - out = {} - for proto, regs in PACKAGES.items(): + out, cache = {}, {} + for proto, groups in PACKAGES.items(): out[proto] = {} - for registry, names in regs.items(): - best = None - for name in names: - days = _daily(registry, name) - if not days: - continue - weeks = [sum(days.get((w + dt.timedelta(days=i)).isoformat(), 0) for i in range(7)) for w in starts] - if best is None or sum(weeks[-4:]) > sum(best['weeks'][-4:]): - best = dict(package=name, weeks=weeks, scope=PACKAGE_SCOPE.get(name, 'first-party'), - candidates=len(names)) - if best: - best['monthly'] = sum(best['weeks'][-4:]) - out[proto][registry] = best + for group, regs in groups.items(): + out[proto][group] = {} + for registry, names in regs.items(): + best = None + for name in names: + if (registry, name) not in cache: + days = _daily(registry, name) + cache[(registry, name)] = None if not days else [ + sum(days.get((w + dt.timedelta(days=i)).isoformat(), 0) for i in range(7)) for w in starts] + weeks = cache[(registry, name)] + if not weeks: + continue + if best is None or sum(weeks[-4:]) > sum(best['weeks'][-4:]): + best = dict(package=name, weeks=weeks, publisher=PUBLISHER.get(name), candidates=len(names)) + if best: + best['monthly'] = sum(best['weeks'][-4:]) + out[proto][group][registry] = best return dict(week_starts=[w.isoformat() for w in starts], by_protocol=out, no_package=NO_PACKAGE) @@ -179,5 +216,5 @@ def npm(): if __name__ == '__main__': data = dict(collected=dt.date.today().isoformat(), repos=repos(), npm=npm(), commits=commits(), - others=others(), downloads=downloads()) + others=others(), topics=TOPICS, downloads=downloads()) json.dump(data, open(sys.argv[1] if len(sys.argv) > 1 else 'data.json', 'w'), indent=1) diff --git a/docs/research/tools/capability-map/traction/github-stars.svg b/docs/research/tools/capability-map/traction/github-stars.svg index 0723de0..3a33760 100644 --- a/docs/research/tools/capability-map/traction/github-stars.svg +++ b/docs/research/tools/capability-map/traction/github-stars.svg @@ -1,4 +1,4 @@ -GitHub stars on each protocol main repositoryDot plot on a log scale. A2A 26,177; MCP 9,459; x402 6,723; UCP 3,430; AP2 3,230; ACP 1,574; L402 271; TAP 213; MPP 186; Web Bot Auth 170; ANS 43; x401 42; KYA-OS 31; PAP 20; KYAPay 13; Baselayer KYA has no data (closed product)GitHub stars on each protocol's main repositoryLog scale, 16 Oct 2026. Stars measure attention, not use. Star history over time was not available from the GitHub API here.Commits in the last 13 weeksNo commits in the last 13 weeks101001K10K100KA2AA2A (a2aproject/A2A): 26,177 stars, 2,676 forks, created 2025-03-25, last push 2026-10-1626,177 · created Mar 2025MCPMCP (modelcontextprotocol/modelcontextprotocol): 9,459 stars, 1,870 forks, created 2024-09-24, last push 2026-10-159,459 · created Sep 2024x402x402 (x402-foundation/x402): 6,723 stars, 2,193 forks, created 2025-02-21, last push 2026-10-156,723 · created Feb 2025UCPUCP (Universal-Commerce-Protocol/ucp): 3,429 stars, 480 forks, created 2025-12-31, last push 2026-10-163,429 · created Dec 2025AP2AP2 (google-agentic-commerce/AP2): 3,230 stars, 512 forks, created 2025-05-30, last push 2026-06-173,230 · created May 2025ACPACP (agentic-commerce-protocol/agentic-commerce-protocol): 1,574 stars, 255 forks, created 2025-09-29, last push 2026-07-181,574 · created Sep 2025L402*L402 (lightninglabs/aperture): 271 stars, 82 forks, created 2019-01-30, last push 2026-10-15271 · created Jan 2019TAPTAP (visa/trusted-agent-protocol): 213 stars, 45 forks, created 2025-10-10, last push 2025-10-28213 · created Oct 2025MPP*MPP (wevm/mppx): 186 stars, 71 forks, created 2026-01-21, last push 2026-10-16186 · created Jan 2026Web Bot Auth*Web Bot Auth (cloudflare/web-bot-auth): 170 stars, 43 forks, created 2025-04-14, last push 2026-10-12170 · created Apr 2025ANS*ANS (agentnameservice/ans): 43 stars, 6 forks, created 2026-05-06, last push 2026-10-1543 · created May 2026x401x401 (proof/x401): 42 stars, 5 forks, created 2026-05-07, last push 2026-10-0342 · created May 2026KYA-OSKYA-OS (decentralized-identity/kya-os-mcp): 31 stars, 13 forks, created 2026-03-10, last push 2026-10-1431 · created Mar 2026PAPPAP (personal-agent-protocol/personal-agent-protocol): 20 stars, 2 forks, created 2026-10-14, last push 2026-10-1520 · created Oct 2026KYAPayKYAPay (skyfire-xyz/kyapay): 13 stars, 0 forks, created 2025-06-25, last push 2026-09-1113 · created Jun 2025Baselayer KYANo data: closed commercial product, no public repository* Charted repository is an SDK or implementation, not the specification: MPP: wevm/mppx, the TypeScript SDK. The specification repository, tempoxyz/mpp-specs, is not charted. L402: lightninglabs/aperture, a reference implementation. The specification repository, lightninglabs/L402, is not charted. ANS: agentnameservice/ans, a Go reference implementation whose operator is unconfirmed. The IETF draft has no repository. Web Bot Auth: cloudflare/web-bot-auth, Cloudflare's implementation. The IETF draft is not charted.Not covered by this chartProtocols with no dataBaselayer KYA: closed commercial product, no public repository.Other repositories, with stars († = third-party, hand-picked examples; ‡ = counted under more than one protocol)One repository is charted per protocol, and others can be larger: FastMCP and the MCP Python and TypeScript SDKs hold more stars than the MCP specification repository.A2A: a2a-python 2,203, a2a-samples 1,799, a2a-js 643, a2a-java 505, a2a-inspector 501, a2a-go 487, a2a-dotnet 267, fasta2a† 222,   ra2a† 169, a2ajava† 108, a2a-rs 94MCP: fastmcp† 28,102, python-sdk 24,593, typescript-sdk 13,592, mcp-use† 10,771, mcp-go† 9,169, go-sdk 5,233, csharp-sdk 4,586,   rust-sdk 4,018, java-sdk 3,739x402: pay†‡ 1,792, a2a-x402† 564, x402-rs† 290, wg-identity 4UCP: samples 240, python-sdk 89, Retail-Agentic-Commerce†‡ 81, ucp-cli† 79, js-sdk 48, conformance 29,   magento2-universal-commerce-module† 14, ucp-schema 11AP2: pay†‡ 1,792, ap2java† 7ACP: Retail-Agentic-Commerce†‡ 81, acp-handler† 30, ACP-Checkout-Gateway† 19TAP: inflow-node† 9MPP: pay†‡ 1,792, mpp-specs 95, faremeter† 69L402: l402† 227, L402 91, lightning-agent-tools 60, ngx-l402† 56, l402-python† 3Web Bot Auth: vestauth† 170, samesame† 12, regent-httpsig† 6x401: x401-node 3, x401-ruby 0, x401† 0, x401† 0ANS: Agent-Name-Service† 82, ans-registry 33, ans-sdk-swift† 3PAP: personal-agent-protocol† 3, pi-poppy† 1, poppyseed† 0KYAPay: kyapay_a2a 3, Tollstile† 3Repositories tagged with each protocol topic, applications includedMCP 37,653, x402 3,827, A2A 604, L402 110, UCP 66, Web Bot Auth 41, ACP 27, AP2 19 \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/npm-downloads.svg b/docs/research/tools/capability-map/traction/npm-downloads.svg index d8979a4..1b28525 100644 --- a/docs/research/tools/capability-map/traction/npm-downloads.svg +++ b/docs/research/tools/capability-map/traction/npm-downloads.svg @@ -14,4 +14,4 @@ text{font-family:Helvetica, Arial, 'DejaVu Sans', sans-serif;fill:var(--ink2)} .ndt{font-size:11px;font-style:italic;fill:var(--ink3)} .hit{fill:transparent} .hit:hover{fill:var(--ink);fill-opacity:.15} -Weekly npm downloads of each protocol's main SDKLog scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.MCPA2Ax402MPPWeb Bot AuthUCPKYA-OSx401101001K10K100K1M10M100MJul 2025Oct 2025Jan 2026Apr 2026Jul 2026Oct 2026MCP: 1,704,250 downloads, week of 2025-04-28MCP: 5,882,627 downloads, week of 2025-05-05MCP: 6,771,246 downloads, week of 2025-05-12MCP: 3,970,444 downloads, week of 2025-05-19MCP: 3,427,259 downloads, week of 2025-05-26MCP: 3,693,137 downloads, week of 2025-06-02MCP: 3,739,115 downloads, week of 2025-06-09MCP: 3,786,513 downloads, week of 2025-06-16MCP: 4,572,284 downloads, week of 2025-06-23MCP: 4,302,895 downloads, week of 2025-06-30MCP: 4,688,219 downloads, week of 2025-07-07MCP: 4,869,306 downloads, week of 2025-07-14MCP: 4,972,294 downloads, week of 2025-07-21MCP: 5,166,233 downloads, week of 2025-07-28MCP: 5,334,719 downloads, week of 2025-08-04MCP: 5,477,491 downloads, week of 2025-08-11MCP: 5,967,446 downloads, week of 2025-08-18MCP: 6,258,674 downloads, week of 2025-08-25MCP: 6,148,731 downloads, week of 2025-09-01MCP: 7,070,825 downloads, week of 2025-09-08MCP: 7,577,753 downloads, week of 2025-09-15MCP: 7,912,134 downloads, week of 2025-09-22MCP: 7,103,166 downloads, week of 2025-09-29MCP: 7,577,764 downloads, week of 2025-10-06MCP: 7,785,299 downloads, week of 2025-10-13MCP: 7,432,517 downloads, week of 2025-10-20MCP: 7,492,803 downloads, week of 2025-10-27MCP: 8,268,710 downloads, week of 2025-11-03MCP: 8,366,207 downloads, week of 2025-11-10MCP: 8,862,994 downloads, week of 2025-11-17MCP: 8,455,287 downloads, week of 2025-11-24MCP: 10,097,151 downloads, week of 2025-12-01MCP: 9,610,527 downloads, week of 2025-12-08MCP: 9,572,497 downloads, week of 2025-12-15MCP: 6,249,212 downloads, week of 2025-12-22MCP: 5,908,452 downloads, week of 2025-12-29MCP: 10,568,289 downloads, week of 2026-01-05MCP: 11,741,892 downloads, week of 2026-01-12MCP: 12,547,111 downloads, week of 2026-01-19MCP: 13,512,432 downloads, week of 2026-01-26MCP: 15,155,352 downloads, week of 2026-02-02MCP: 17,140,844 downloads, week of 2026-02-09MCP: 16,466,834 downloads, week of 2026-02-16MCP: 23,439,991 downloads, week of 2026-02-23MCP: 23,554,430 downloads, week of 2026-03-02MCP: 23,414,101 downloads, week of 2026-03-09MCP: 35,212,352 downloads, week of 2026-03-16MCP: 47,897,910 downloads, week of 2026-03-23MCP: 29,494,024 downloads, week of 2026-03-30MCP: 31,229,653 downloads, week of 2026-04-06MCP: 32,657,595 downloads, week of 2026-04-13MCP: 33,448,235 downloads, week of 2026-04-20MCP: 33,981,895 downloads, week of 2026-04-27MCP: 35,180,418 downloads, week of 2026-05-04MCP: 35,990,764 downloads, week of 2026-05-11MCP: 36,986,756 downloads, week of 2026-05-18MCP: 34,533,515 downloads, week of 2026-05-25MCP: 30,321,409 downloads, week of 2026-06-01MCP: 39,200,500 downloads, week of 2026-06-08MCP: 39,623,830 downloads, week of 2026-06-15MCP: 40,893,994 downloads, week of 2026-06-22MCP: 42,848,083 downloads, week of 2026-06-29MCP: 39,011,117 downloads, week of 2026-07-06MCP: 43,340,138 downloads, week of 2026-07-13MCP: 45,858,002 downloads, week of 2026-07-20MCP: 53,304,972 downloads, week of 2026-07-27MCP: 51,726,406 downloads, week of 2026-08-03MCP: 43,762,222 downloads, week of 2026-08-10MCP: 50,577,978 downloads, week of 2026-08-17MCP: 52,304,301 downloads, week of 2026-08-24MCP: 47,896,904 downloads, week of 2026-08-31MCP: 40,994,402 downloads, week of 2026-09-07MCP: 49,993,981 downloads, week of 2026-09-14MCP: 64,725,178 downloads, week of 2026-09-21MCP: 76,226,448 downloads, week of 2026-09-28MCP: 65,446,130 downloads, week of 2026-10-05A2A: 92 downloads, week of 2025-06-09A2A: 375 downloads, week of 2025-06-16A2A: 725 downloads, week of 2025-06-23A2A: 9,867 downloads, week of 2025-06-30A2A: 2,156 downloads, week of 2025-07-07A2A: 1,803 downloads, week of 2025-07-14A2A: 1,786 downloads, week of 2025-07-21A2A: 3,118 downloads, week of 2025-07-28A2A: 48,648 downloads, week of 2025-08-04A2A: 25,879 downloads, week of 2025-08-11A2A: 42,234 downloads, week of 2025-08-18A2A: 71,080 downloads, week of 2025-08-25A2A: 86,254 downloads, week of 2025-09-01A2A: 121,234 downloads, week of 2025-09-08A2A: 157,299 downloads, week of 2025-09-15A2A: 132,974 downloads, week of 2025-09-22A2A: 147,770 downloads, week of 2025-09-29A2A: 177,413 downloads, week of 2025-10-06A2A: 193,871 downloads, week of 2025-10-13A2A: 203,870 downloads, week of 2025-10-20A2A: 271,913 downloads, week of 2025-10-27A2A: 265,941 downloads, week of 2025-11-03A2A: 246,951 downloads, week of 2025-11-10A2A: 279,526 downloads, week of 2025-11-17A2A: 270,724 downloads, week of 2025-11-24A2A: 318,828 downloads, week of 2025-12-01A2A: 317,400 downloads, week of 2025-12-08A2A: 311,925 downloads, week of 2025-12-15A2A: 169,135 downloads, week of 2025-12-22A2A: 148,073 downloads, week of 2025-12-29A2A: 290,241 downloads, week of 2026-01-05A2A: 574,238 downloads, week of 2026-01-12A2A: 771,006 downloads, week of 2026-01-19A2A: 775,752 downloads, week of 2026-01-26A2A: 956,901 downloads, week of 2026-02-02A2A: 899,354 downloads, week of 2026-02-09A2A: 849,941 downloads, week of 2026-02-16A2A: 950,128 downloads, week of 2026-02-23A2A: 985,967 downloads, week of 2026-03-02A2A: 1,205,070 downloads, week of 2026-03-09A2A: 1,314,597 downloads, week of 2026-03-16A2A: 1,157,510 downloads, week of 2026-03-23A2A: 969,546 downloads, week of 2026-03-30A2A: 843,515 downloads, week of 2026-04-06A2A: 1,044,101 downloads, week of 2026-04-13A2A: 1,043,058 downloads, week of 2026-04-20A2A: 980,667 downloads, week of 2026-04-27A2A: 1,075,008 downloads, week of 2026-05-04A2A: 1,140,552 downloads, week of 2026-05-11A2A: 1,200,623 downloads, week of 2026-05-18A2A: 1,152,294 downloads, week of 2026-05-25A2A: 797,447 downloads, week of 2026-06-01A2A: 1,131,057 downloads, week of 2026-06-08A2A: 1,414,086 downloads, week of 2026-06-15A2A: 1,160,828 downloads, week of 2026-06-22A2A: 1,351,640 downloads, week of 2026-06-29A2A: 1,393,475 downloads, week of 2026-07-06A2A: 1,648,949 downloads, week of 2026-07-13A2A: 1,677,660 downloads, week of 2026-07-20A2A: 1,745,409 downloads, week of 2026-07-27A2A: 1,780,854 downloads, week of 2026-08-03A2A: 1,639,387 downloads, week of 2026-08-10A2A: 2,063,326 downloads, week of 2026-08-17A2A: 2,344,232 downloads, week of 2026-08-24A2A: 2,248,896 downloads, week of 2026-08-31A2A: 2,002,171 downloads, week of 2026-09-07A2A: 2,608,743 downloads, week of 2026-09-14A2A: 3,567,655 downloads, week of 2026-09-21A2A: 4,100,684 downloads, week of 2026-09-28A2A: 4,114,624 downloads, week of 2026-10-05x402: 528 downloads, week of 2025-04-28x402: 1,461 downloads, week of 2025-05-05x402: 1,413 downloads, week of 2025-05-12x402: 741 downloads, week of 2025-05-19x402: 1,014 downloads, week of 2025-05-26x402: 1,378 downloads, week of 2025-06-02x402: 1,914 downloads, week of 2025-06-09x402: 3,298 downloads, week of 2025-06-16x402: 2,830 downloads, week of 2025-06-23x402: 2,527 downloads, week of 2025-06-30x402: 3,302 downloads, week of 2025-07-07x402: 3,578 downloads, week of 2025-07-14x402: 3,945 downloads, week of 2025-07-21x402: 3,549 downloads, week of 2025-07-28x402: 4,795 downloads, week of 2025-08-04x402: 7,142 downloads, week of 2025-08-11x402: 8,509 downloads, week of 2025-08-18x402: 8,438 downloads, week of 2025-08-25x402: 8,587 downloads, week of 2025-09-01x402: 7,144 downloads, week of 2025-09-08x402: 9,024 downloads, week of 2025-09-15x402: 14,468 downloads, week of 2025-09-22x402: 21,678 downloads, week of 2025-09-29x402: 27,614 downloads, week of 2025-10-06x402: 32,077 downloads, week of 2025-10-13x402: 32,252 downloads, week of 2025-10-20x402: 39,608 downloads, week of 2025-10-27x402: 35,436 downloads, week of 2025-11-03x402: 37,284 downloads, week of 2025-11-10x402: 44,081 downloads, week of 2025-11-17x402: 42,228 downloads, week of 2025-11-24x402: 57,078 downloads, week of 2025-12-01x402: 59,438 downloads, week of 2025-12-08x402: 62,949 downloads, week of 2025-12-15x402: 40,497 downloads, week of 2025-12-22x402: 38,902 downloads, week of 2025-12-29x402: 63,385 downloads, week of 2026-01-05x402: 73,663 downloads, week of 2026-01-12x402: 81,569 downloads, week of 2026-01-19x402: 85,547 downloads, week of 2026-01-26x402: 98,306 downloads, week of 2026-02-02x402: 94,137 downloads, week of 2026-02-09x402: 94,520 downloads, week of 2026-02-16x402: 117,093 downloads, week of 2026-02-23x402: 135,114 downloads, week of 2026-03-02x402: 147,979 downloads, week of 2026-03-09x402: 145,641 downloads, week of 2026-03-16x402: 144,064 downloads, week of 2026-03-23x402: 141,233 downloads, week of 2026-03-30x402: 155,807 downloads, week of 2026-04-06x402: 174,338 downloads, week of 2026-04-13x402: 173,676 downloads, week of 2026-04-20x402: 206,670 downloads, week of 2026-04-27x402: 220,266 downloads, week of 2026-05-04x402: 264,809 downloads, week of 2026-05-11x402: 245,192 downloads, week of 2026-05-18x402: 234,145 downloads, week of 2026-05-25x402: 256,725 downloads, week of 2026-06-01x402: 222,036 downloads, week of 2026-06-08x402: 284,656 downloads, week of 2026-06-15x402: 266,883 downloads, week of 2026-06-22x402: 245,941 downloads, week of 2026-06-29x402: 278,232 downloads, week of 2026-07-06x402: 333,198 downloads, week of 2026-07-13x402: 340,362 downloads, week of 2026-07-20x402: 355,774 downloads, week of 2026-07-27x402: 349,047 downloads, week of 2026-08-03x402: 303,022 downloads, week of 2026-08-10x402: 373,982 downloads, week of 2026-08-17x402: 390,116 downloads, week of 2026-08-24x402: 353,112 downloads, week of 2026-08-31x402: 313,028 downloads, week of 2026-09-07x402: 396,646 downloads, week of 2026-09-14x402: 466,468 downloads, week of 2026-09-21x402: 541,785 downloads, week of 2026-09-28x402: 467,272 downloads, week of 2026-10-05MPP: 317 downloads, week of 2026-02-09MPP: 2,651 downloads, week of 2026-02-16MPP: 1,382 downloads, week of 2026-02-23MPP: 4,633 downloads, week of 2026-03-02MPP: 18,511 downloads, week of 2026-03-09MPP: 12,539 downloads, week of 2026-03-16MPP: 14,154 downloads, week of 2026-03-23MPP: 17,929 downloads, week of 2026-03-30MPP: 24,647 downloads, week of 2026-04-06MPP: 29,753 downloads, week of 2026-04-13MPP: 37,763 downloads, week of 2026-04-20MPP: 42,758 downloads, week of 2026-04-27MPP: 51,165 downloads, week of 2026-05-04MPP: 54,174 downloads, week of 2026-05-11MPP: 45,435 downloads, week of 2026-05-18MPP: 55,118 downloads, week of 2026-05-25MPP: 37,414 downloads, week of 2026-06-01MPP: 42,305 downloads, week of 2026-06-08MPP: 53,373 downloads, week of 2026-06-15MPP: 44,250 downloads, week of 2026-06-22MPP: 44,787 downloads, week of 2026-06-29MPP: 47,164 downloads, week of 2026-07-06MPP: 54,938 downloads, week of 2026-07-13MPP: 54,765 downloads, week of 2026-07-20MPP: 63,887 downloads, week of 2026-07-27MPP: 77,953 downloads, week of 2026-08-03MPP: 76,790 downloads, week of 2026-08-10MPP: 122,679 downloads, week of 2026-08-17MPP: 123,889 downloads, week of 2026-08-24MPP: 110,295 downloads, week of 2026-08-31MPP: 92,947 downloads, week of 2026-09-07MPP: 117,884 downloads, week of 2026-09-14MPP: 198,055 downloads, week of 2026-09-21MPP: 324,793 downloads, week of 2026-09-28MPP: 336,249 downloads, week of 2026-10-05Web Bot Auth: 14 downloads, week of 2025-04-28Web Bot Auth: 50 downloads, week of 2025-05-05Web Bot Auth: 71 downloads, week of 2025-05-12Web Bot Auth: 17 downloads, week of 2025-05-19Web Bot Auth: 147 downloads, week of 2025-05-26Web Bot Auth: 36 downloads, week of 2025-06-02Web Bot Auth: 15 downloads, week of 2025-06-09Web Bot Auth: 105 downloads, week of 2025-06-16Web Bot Auth: 31 downloads, week of 2025-06-23Web Bot Auth: 91 downloads, week of 2025-06-30Web Bot Auth: 46 downloads, week of 2025-07-07Web Bot Auth: 46 downloads, week of 2025-07-14Web Bot Auth: 36 downloads, week of 2025-07-21Web Bot Auth: 68 downloads, week of 2025-07-28Web Bot Auth: 72 downloads, week of 2025-08-04Web Bot Auth: 88 downloads, week of 2025-08-11Web Bot Auth: 67 downloads, week of 2025-08-18Web Bot Auth: 68 downloads, week of 2025-08-25Web Bot Auth: 81 downloads, week of 2025-09-01Web Bot Auth: 112 downloads, week of 2025-09-08Web Bot Auth: 129 downloads, week of 2025-09-15Web Bot Auth: 128 downloads, week of 2025-09-22Web Bot Auth: 196 downloads, week of 2025-09-29Web Bot Auth: 183 downloads, week of 2025-10-06Web Bot Auth: 278 downloads, week of 2025-10-13Web Bot Auth: 245 downloads, week of 2025-10-20Web Bot Auth: 265 downloads, week of 2025-10-27Web Bot Auth: 737 downloads, week of 2025-11-03Web Bot Auth: 3,559 downloads, week of 2025-11-10Web Bot Auth: 459 downloads, week of 2025-11-17Web Bot Auth: 2,548 downloads, week of 2025-11-24Web Bot Auth: 2,407 downloads, week of 2025-12-01Web Bot Auth: 1,305 downloads, week of 2025-12-08Web Bot Auth: 1,067 downloads, week of 2025-12-15Web Bot Auth: 272 downloads, week of 2025-12-22Web Bot Auth: 559 downloads, week of 2025-12-29Web Bot Auth: 814 downloads, week of 2026-01-05Web Bot Auth: 1,131 downloads, week of 2026-01-12Web Bot Auth: 1,687 downloads, week of 2026-01-19Web Bot Auth: 1,507 downloads, week of 2026-01-26Web Bot Auth: 2,787 downloads, week of 2026-02-02Web Bot Auth: 3,792 downloads, week of 2026-02-09Web Bot Auth: 4,598 downloads, week of 2026-02-16Web Bot Auth: 3,848 downloads, week of 2026-02-23Web Bot Auth: 3,901 downloads, week of 2026-03-02Web Bot Auth: 4,238 downloads, week of 2026-03-09Web Bot Auth: 3,746 downloads, week of 2026-03-16Web Bot Auth: 4,620 downloads, week of 2026-03-23Web Bot Auth: 5,566 downloads, week of 2026-03-30Web Bot Auth: 5,610 downloads, week of 2026-04-06Web Bot Auth: 8,128 downloads, week of 2026-04-13Web Bot Auth: 9,072 downloads, week of 2026-04-20Web Bot Auth: 14,754 downloads, week of 2026-04-27Web Bot Auth: 17,336 downloads, week of 2026-05-04Web Bot Auth: 12,907 downloads, week of 2026-05-11Web Bot Auth: 14,295 downloads, week of 2026-05-18Web Bot Auth: 13,487 downloads, week of 2026-05-25Web Bot Auth: 6,161 downloads, week of 2026-06-01Web Bot Auth: 10,349 downloads, week of 2026-06-08Web Bot Auth: 12,350 downloads, week of 2026-06-15Web Bot Auth: 13,458 downloads, week of 2026-06-22Web Bot Auth: 14,477 downloads, week of 2026-06-29Web Bot Auth: 22,537 downloads, week of 2026-07-06Web Bot Auth: 14,905 downloads, week of 2026-07-13Web Bot Auth: 24,763 downloads, week of 2026-07-20Web Bot Auth: 21,941 downloads, week of 2026-07-27Web Bot Auth: 26,368 downloads, week of 2026-08-03Web Bot Auth: 24,165 downloads, week of 2026-08-10Web Bot Auth: 90,789 downloads, week of 2026-08-17Web Bot Auth: 106,258 downloads, week of 2026-08-24Web Bot Auth: 105,086 downloads, week of 2026-08-31Web Bot Auth: 71,501 downloads, week of 2026-09-07Web Bot Auth: 165,051 downloads, week of 2026-09-14Web Bot Auth: 182,304 downloads, week of 2026-09-21Web Bot Auth: 179,645 downloads, week of 2026-09-28Web Bot Auth: 162,458 downloads, week of 2026-10-05UCP: 207 downloads, week of 2026-01-12UCP: 820 downloads, week of 2026-01-19UCP: 843 downloads, week of 2026-01-26UCP: 766 downloads, week of 2026-02-02UCP: 888 downloads, week of 2026-02-09UCP: 1,184 downloads, week of 2026-02-16UCP: 382 downloads, week of 2026-02-23UCP: 222 downloads, week of 2026-03-02UCP: 374 downloads, week of 2026-03-09UCP: 372 downloads, week of 2026-03-16UCP: 682 downloads, week of 2026-03-23UCP: 421 downloads, week of 2026-03-30UCP: 460 downloads, week of 2026-04-06UCP: 992 downloads, week of 2026-04-13UCP: 825 downloads, week of 2026-04-20UCP: 1,120 downloads, week of 2026-04-27UCP: 922 downloads, week of 2026-05-04UCP: 920 downloads, week of 2026-05-11UCP: 1,108 downloads, week of 2026-05-18UCP: 1,493 downloads, week of 2026-05-25UCP: 1,810 downloads, week of 2026-06-01UCP: 2,709 downloads, week of 2026-06-08UCP: 2,319 downloads, week of 2026-06-15UCP: 1,779 downloads, week of 2026-06-22UCP: 3,182 downloads, week of 2026-06-29UCP: 1,810 downloads, week of 2026-07-06UCP: 1,887 downloads, week of 2026-07-13UCP: 2,347 downloads, week of 2026-07-20UCP: 5,873 downloads, week of 2026-07-27UCP: 6,433 downloads, week of 2026-08-03UCP: 5,053 downloads, week of 2026-08-10UCP: 5,189 downloads, week of 2026-08-17UCP: 7,945 downloads, week of 2026-08-24UCP: 7,458 downloads, week of 2026-08-31UCP: 6,169 downloads, week of 2026-09-07UCP: 7,341 downloads, week of 2026-09-14UCP: 11,462 downloads, week of 2026-09-21UCP: 18,459 downloads, week of 2026-09-28UCP: 12,820 downloads, week of 2026-10-05KYA-OS: 88 downloads, week of 2026-05-11KYA-OS: 177 downloads, week of 2026-05-18KYA-OS: 493 downloads, week of 2026-05-25KYA-OS: 1,007 downloads, week of 2026-06-01KYA-OS: 1,894 downloads, week of 2026-06-08KYA-OS: 1,273 downloads, week of 2026-06-15KYA-OS: 492 downloads, week of 2026-06-22KYA-OS: 1,673 downloads, week of 2026-06-29KYA-OS: 1,809 downloads, week of 2026-07-06KYA-OS: 1,010 downloads, week of 2026-07-13KYA-OS: 2,221 downloads, week of 2026-07-20KYA-OS: 1,073 downloads, week of 2026-07-27KYA-OS: 1,024 downloads, week of 2026-08-03KYA-OS: 1,997 downloads, week of 2026-08-10KYA-OS: 1,947 downloads, week of 2026-08-17KYA-OS: 2,770 downloads, week of 2026-08-24KYA-OS: 2,081 downloads, week of 2026-08-31KYA-OS: 1,379 downloads, week of 2026-09-07KYA-OS: 4,004 downloads, week of 2026-09-14KYA-OS: 18,152 downloads, week of 2026-09-21KYA-OS: 20,250 downloads, week of 2026-09-28KYA-OS: 11,326 downloads, week of 2026-10-05x401: 90 downloads, week of 2026-06-08x401: 11 downloads, week of 2026-06-15x401: 214 downloads, week of 2026-06-22x401: 205 downloads, week of 2026-06-29x401: 286 downloads, week of 2026-07-06x401: 287 downloads, week of 2026-07-13x401: 155 downloads, week of 2026-07-20x401: 319 downloads, week of 2026-07-27x401: 98 downloads, week of 2026-08-03x401: 63 downloads, week of 2026-08-10x401: 70 downloads, week of 2026-08-17x401: 96 downloads, week of 2026-08-24x401: 55 downloads, week of 2026-08-31x401: 53 downloads, week of 2026-09-07x401: 33 downloads, week of 2026-09-14x401: 128 downloads, week of 2026-09-21x401: 299 downloads, week of 2026-09-28x401: 269 downloads, week of 2026-10-05MCP 65.4MA2A 4.1Mx402 467KMPP 336KWeb Bot Auth 162KUCP 13KKYA-OS 11Kx401 269Not covered by this chartProtocols with downloads that are not plotted hereThe palette allows eight series, so these appear only in the all-registries chart:PAP: @datalayer/personal-agent-protocol (npm, community) 2K last month; personal-agent-protocol (pypi, community) 1.4K last monthL402: @lightninglabs/l402 (npm) 104 last month; l402 (pypi, community) 24 last monthACP: agentic-commerce-protocol (npm, vendor (Svix)) 47 last month; agentic-commerce-protocol (pypi, vendor (Svix)) 50 last monthKYAPay: @skyfire-xyz/skyfire-seller-sdk-node (npm, vendor (Skyfire)) 52 last monthProtocols with no npm package foundBaselayer KYA: closed commercial product: no public repository or package.AP2: The ap2 package on PyPI belongs to an unrelated project; no official npm or crates.io package found.TAP: No package found on npm, PyPI or crates.io.ANS: No package found on npm, PyPI or crates.io (Go reference implementation).Not measuredOther registries (PyPI, crates.io, Maven, NuGet, Go modules) are in the all-registries chart where they were found.One package per protocol is plotted. The window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown.Each line starts at the first week with downloads.Packages: MCP: @modelcontextprotocol/sdk; A2A: @a2a-js/sdk; x402: x402; MPP: mppxWeb Bot Auth: web-bot-auth; UCP: @ucp-js/sdk; KYA-OS: @kya-os/mcp; x401: @proof.com/x401-node \ No newline at end of file +Weekly npm downloads of each protocol's main official SDKLog scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.MCPA2Ax402MPPWeb Bot AuthUCPKYA-OSx401101001K10K100K1M10M100MJul 2025Oct 2025Jan 2026Apr 2026Jul 2026Oct 2026MCP: 1,704,250 downloads, week of 2025-04-28MCP: 5,882,627 downloads, week of 2025-05-05MCP: 6,771,246 downloads, week of 2025-05-12MCP: 3,970,444 downloads, week of 2025-05-19MCP: 3,427,259 downloads, week of 2025-05-26MCP: 3,693,137 downloads, week of 2025-06-02MCP: 3,739,115 downloads, week of 2025-06-09MCP: 3,786,513 downloads, week of 2025-06-16MCP: 4,572,284 downloads, week of 2025-06-23MCP: 4,302,895 downloads, week of 2025-06-30MCP: 4,688,219 downloads, week of 2025-07-07MCP: 4,869,306 downloads, week of 2025-07-14MCP: 4,972,294 downloads, week of 2025-07-21MCP: 5,166,233 downloads, week of 2025-07-28MCP: 5,334,719 downloads, week of 2025-08-04MCP: 5,477,491 downloads, week of 2025-08-11MCP: 5,967,446 downloads, week of 2025-08-18MCP: 6,258,674 downloads, week of 2025-08-25MCP: 6,148,731 downloads, week of 2025-09-01MCP: 7,070,825 downloads, week of 2025-09-08MCP: 7,577,753 downloads, week of 2025-09-15MCP: 7,912,134 downloads, week of 2025-09-22MCP: 7,103,166 downloads, week of 2025-09-29MCP: 7,577,764 downloads, week of 2025-10-06MCP: 7,785,299 downloads, week of 2025-10-13MCP: 7,432,517 downloads, week of 2025-10-20MCP: 7,492,803 downloads, week of 2025-10-27MCP: 8,268,710 downloads, week of 2025-11-03MCP: 8,366,207 downloads, week of 2025-11-10MCP: 8,862,994 downloads, week of 2025-11-17MCP: 8,455,287 downloads, week of 2025-11-24MCP: 10,097,151 downloads, week of 2025-12-01MCP: 9,610,527 downloads, week of 2025-12-08MCP: 9,572,497 downloads, week of 2025-12-15MCP: 6,249,212 downloads, week of 2025-12-22MCP: 5,908,452 downloads, week of 2025-12-29MCP: 10,568,289 downloads, week of 2026-01-05MCP: 11,741,892 downloads, week of 2026-01-12MCP: 12,547,111 downloads, week of 2026-01-19MCP: 13,512,432 downloads, week of 2026-01-26MCP: 15,155,352 downloads, week of 2026-02-02MCP: 17,140,844 downloads, week of 2026-02-09MCP: 16,466,834 downloads, week of 2026-02-16MCP: 23,439,991 downloads, week of 2026-02-23MCP: 23,554,430 downloads, week of 2026-03-02MCP: 23,414,101 downloads, week of 2026-03-09MCP: 35,212,352 downloads, week of 2026-03-16MCP: 47,897,910 downloads, week of 2026-03-23MCP: 29,494,024 downloads, week of 2026-03-30MCP: 31,229,653 downloads, week of 2026-04-06MCP: 32,657,595 downloads, week of 2026-04-13MCP: 33,448,235 downloads, week of 2026-04-20MCP: 33,981,895 downloads, week of 2026-04-27MCP: 35,180,418 downloads, week of 2026-05-04MCP: 35,990,764 downloads, week of 2026-05-11MCP: 36,986,756 downloads, week of 2026-05-18MCP: 34,533,515 downloads, week of 2026-05-25MCP: 30,321,409 downloads, week of 2026-06-01MCP: 39,200,500 downloads, week of 2026-06-08MCP: 39,623,830 downloads, week of 2026-06-15MCP: 40,893,994 downloads, week of 2026-06-22MCP: 42,848,083 downloads, week of 2026-06-29MCP: 39,011,117 downloads, week of 2026-07-06MCP: 43,340,138 downloads, week of 2026-07-13MCP: 45,858,002 downloads, week of 2026-07-20MCP: 53,304,972 downloads, week of 2026-07-27MCP: 51,726,406 downloads, week of 2026-08-03MCP: 43,762,222 downloads, week of 2026-08-10MCP: 50,577,978 downloads, week of 2026-08-17MCP: 52,304,301 downloads, week of 2026-08-24MCP: 47,896,904 downloads, week of 2026-08-31MCP: 40,994,402 downloads, week of 2026-09-07MCP: 49,993,981 downloads, week of 2026-09-14MCP: 64,725,178 downloads, week of 2026-09-21MCP: 76,226,448 downloads, week of 2026-09-28MCP: 65,446,130 downloads, week of 2026-10-05A2A: 92 downloads, week of 2025-06-09A2A: 375 downloads, week of 2025-06-16A2A: 725 downloads, week of 2025-06-23A2A: 9,867 downloads, week of 2025-06-30A2A: 2,156 downloads, week of 2025-07-07A2A: 1,803 downloads, week of 2025-07-14A2A: 1,786 downloads, week of 2025-07-21A2A: 3,118 downloads, week of 2025-07-28A2A: 48,648 downloads, week of 2025-08-04A2A: 25,879 downloads, week of 2025-08-11A2A: 42,234 downloads, week of 2025-08-18A2A: 71,080 downloads, week of 2025-08-25A2A: 86,254 downloads, week of 2025-09-01A2A: 121,234 downloads, week of 2025-09-08A2A: 157,299 downloads, week of 2025-09-15A2A: 132,974 downloads, week of 2025-09-22A2A: 147,770 downloads, week of 2025-09-29A2A: 177,413 downloads, week of 2025-10-06A2A: 193,871 downloads, week of 2025-10-13A2A: 203,870 downloads, week of 2025-10-20A2A: 271,913 downloads, week of 2025-10-27A2A: 265,941 downloads, week of 2025-11-03A2A: 246,951 downloads, week of 2025-11-10A2A: 279,526 downloads, week of 2025-11-17A2A: 270,724 downloads, week of 2025-11-24A2A: 318,828 downloads, week of 2025-12-01A2A: 317,400 downloads, week of 2025-12-08A2A: 311,925 downloads, week of 2025-12-15A2A: 169,135 downloads, week of 2025-12-22A2A: 148,073 downloads, week of 2025-12-29A2A: 290,241 downloads, week of 2026-01-05A2A: 574,238 downloads, week of 2026-01-12A2A: 771,006 downloads, week of 2026-01-19A2A: 775,752 downloads, week of 2026-01-26A2A: 956,901 downloads, week of 2026-02-02A2A: 899,354 downloads, week of 2026-02-09A2A: 849,941 downloads, week of 2026-02-16A2A: 950,128 downloads, week of 2026-02-23A2A: 985,967 downloads, week of 2026-03-02A2A: 1,205,070 downloads, week of 2026-03-09A2A: 1,314,597 downloads, week of 2026-03-16A2A: 1,157,510 downloads, week of 2026-03-23A2A: 969,546 downloads, week of 2026-03-30A2A: 843,515 downloads, week of 2026-04-06A2A: 1,044,101 downloads, week of 2026-04-13A2A: 1,043,058 downloads, week of 2026-04-20A2A: 980,667 downloads, week of 2026-04-27A2A: 1,075,008 downloads, week of 2026-05-04A2A: 1,140,552 downloads, week of 2026-05-11A2A: 1,200,623 downloads, week of 2026-05-18A2A: 1,152,294 downloads, week of 2026-05-25A2A: 797,447 downloads, week of 2026-06-01A2A: 1,131,057 downloads, week of 2026-06-08A2A: 1,414,086 downloads, week of 2026-06-15A2A: 1,160,828 downloads, week of 2026-06-22A2A: 1,351,640 downloads, week of 2026-06-29A2A: 1,393,475 downloads, week of 2026-07-06A2A: 1,648,949 downloads, week of 2026-07-13A2A: 1,677,660 downloads, week of 2026-07-20A2A: 1,745,409 downloads, week of 2026-07-27A2A: 1,780,854 downloads, week of 2026-08-03A2A: 1,639,387 downloads, week of 2026-08-10A2A: 2,063,326 downloads, week of 2026-08-17A2A: 2,344,232 downloads, week of 2026-08-24A2A: 2,248,896 downloads, week of 2026-08-31A2A: 2,002,171 downloads, week of 2026-09-07A2A: 2,608,743 downloads, week of 2026-09-14A2A: 3,567,655 downloads, week of 2026-09-21A2A: 4,100,684 downloads, week of 2026-09-28A2A: 4,114,624 downloads, week of 2026-10-05x402: 528 downloads, week of 2025-04-28x402: 1,461 downloads, week of 2025-05-05x402: 1,413 downloads, week of 2025-05-12x402: 741 downloads, week of 2025-05-19x402: 1,014 downloads, week of 2025-05-26x402: 1,378 downloads, week of 2025-06-02x402: 1,914 downloads, week of 2025-06-09x402: 3,298 downloads, week of 2025-06-16x402: 2,830 downloads, week of 2025-06-23x402: 2,527 downloads, week of 2025-06-30x402: 3,302 downloads, week of 2025-07-07x402: 3,578 downloads, week of 2025-07-14x402: 3,945 downloads, week of 2025-07-21x402: 3,549 downloads, week of 2025-07-28x402: 4,795 downloads, week of 2025-08-04x402: 7,142 downloads, week of 2025-08-11x402: 8,509 downloads, week of 2025-08-18x402: 8,438 downloads, week of 2025-08-25x402: 8,587 downloads, week of 2025-09-01x402: 7,144 downloads, week of 2025-09-08x402: 9,024 downloads, week of 2025-09-15x402: 14,468 downloads, week of 2025-09-22x402: 21,678 downloads, week of 2025-09-29x402: 27,614 downloads, week of 2025-10-06x402: 32,077 downloads, week of 2025-10-13x402: 32,252 downloads, week of 2025-10-20x402: 39,608 downloads, week of 2025-10-27x402: 35,436 downloads, week of 2025-11-03x402: 37,284 downloads, week of 2025-11-10x402: 44,081 downloads, week of 2025-11-17x402: 42,228 downloads, week of 2025-11-24x402: 57,078 downloads, week of 2025-12-01x402: 59,438 downloads, week of 2025-12-08x402: 62,949 downloads, week of 2025-12-15x402: 40,497 downloads, week of 2025-12-22x402: 38,902 downloads, week of 2025-12-29x402: 63,385 downloads, week of 2026-01-05x402: 73,663 downloads, week of 2026-01-12x402: 81,569 downloads, week of 2026-01-19x402: 85,547 downloads, week of 2026-01-26x402: 98,306 downloads, week of 2026-02-02x402: 94,137 downloads, week of 2026-02-09x402: 94,520 downloads, week of 2026-02-16x402: 117,093 downloads, week of 2026-02-23x402: 135,114 downloads, week of 2026-03-02x402: 147,979 downloads, week of 2026-03-09x402: 145,641 downloads, week of 2026-03-16x402: 144,064 downloads, week of 2026-03-23x402: 141,233 downloads, week of 2026-03-30x402: 155,807 downloads, week of 2026-04-06x402: 174,338 downloads, week of 2026-04-13x402: 173,676 downloads, week of 2026-04-20x402: 206,670 downloads, week of 2026-04-27x402: 220,266 downloads, week of 2026-05-04x402: 264,809 downloads, week of 2026-05-11x402: 245,192 downloads, week of 2026-05-18x402: 234,145 downloads, week of 2026-05-25x402: 256,725 downloads, week of 2026-06-01x402: 222,036 downloads, week of 2026-06-08x402: 284,656 downloads, week of 2026-06-15x402: 266,883 downloads, week of 2026-06-22x402: 245,941 downloads, week of 2026-06-29x402: 278,232 downloads, week of 2026-07-06x402: 333,198 downloads, week of 2026-07-13x402: 340,362 downloads, week of 2026-07-20x402: 355,774 downloads, week of 2026-07-27x402: 349,047 downloads, week of 2026-08-03x402: 303,022 downloads, week of 2026-08-10x402: 373,982 downloads, week of 2026-08-17x402: 390,116 downloads, week of 2026-08-24x402: 353,112 downloads, week of 2026-08-31x402: 313,028 downloads, week of 2026-09-07x402: 396,646 downloads, week of 2026-09-14x402: 466,468 downloads, week of 2026-09-21x402: 541,785 downloads, week of 2026-09-28x402: 467,272 downloads, week of 2026-10-05MPP: 317 downloads, week of 2026-02-09MPP: 2,651 downloads, week of 2026-02-16MPP: 1,382 downloads, week of 2026-02-23MPP: 4,633 downloads, week of 2026-03-02MPP: 18,511 downloads, week of 2026-03-09MPP: 12,539 downloads, week of 2026-03-16MPP: 14,154 downloads, week of 2026-03-23MPP: 17,929 downloads, week of 2026-03-30MPP: 24,647 downloads, week of 2026-04-06MPP: 29,753 downloads, week of 2026-04-13MPP: 37,763 downloads, week of 2026-04-20MPP: 42,758 downloads, week of 2026-04-27MPP: 51,165 downloads, week of 2026-05-04MPP: 54,174 downloads, week of 2026-05-11MPP: 45,435 downloads, week of 2026-05-18MPP: 55,118 downloads, week of 2026-05-25MPP: 37,414 downloads, week of 2026-06-01MPP: 42,305 downloads, week of 2026-06-08MPP: 53,373 downloads, week of 2026-06-15MPP: 44,250 downloads, week of 2026-06-22MPP: 44,787 downloads, week of 2026-06-29MPP: 47,164 downloads, week of 2026-07-06MPP: 54,938 downloads, week of 2026-07-13MPP: 54,765 downloads, week of 2026-07-20MPP: 63,887 downloads, week of 2026-07-27MPP: 77,953 downloads, week of 2026-08-03MPP: 76,790 downloads, week of 2026-08-10MPP: 122,679 downloads, week of 2026-08-17MPP: 123,889 downloads, week of 2026-08-24MPP: 110,295 downloads, week of 2026-08-31MPP: 92,947 downloads, week of 2026-09-07MPP: 117,884 downloads, week of 2026-09-14MPP: 198,055 downloads, week of 2026-09-21MPP: 324,793 downloads, week of 2026-09-28MPP: 336,249 downloads, week of 2026-10-05Web Bot Auth: 14 downloads, week of 2025-04-28Web Bot Auth: 50 downloads, week of 2025-05-05Web Bot Auth: 71 downloads, week of 2025-05-12Web Bot Auth: 17 downloads, week of 2025-05-19Web Bot Auth: 147 downloads, week of 2025-05-26Web Bot Auth: 36 downloads, week of 2025-06-02Web Bot Auth: 15 downloads, week of 2025-06-09Web Bot Auth: 105 downloads, week of 2025-06-16Web Bot Auth: 31 downloads, week of 2025-06-23Web Bot Auth: 91 downloads, week of 2025-06-30Web Bot Auth: 46 downloads, week of 2025-07-07Web Bot Auth: 46 downloads, week of 2025-07-14Web Bot Auth: 36 downloads, week of 2025-07-21Web Bot Auth: 68 downloads, week of 2025-07-28Web Bot Auth: 72 downloads, week of 2025-08-04Web Bot Auth: 88 downloads, week of 2025-08-11Web Bot Auth: 67 downloads, week of 2025-08-18Web Bot Auth: 68 downloads, week of 2025-08-25Web Bot Auth: 81 downloads, week of 2025-09-01Web Bot Auth: 112 downloads, week of 2025-09-08Web Bot Auth: 129 downloads, week of 2025-09-15Web Bot Auth: 128 downloads, week of 2025-09-22Web Bot Auth: 196 downloads, week of 2025-09-29Web Bot Auth: 183 downloads, week of 2025-10-06Web Bot Auth: 278 downloads, week of 2025-10-13Web Bot Auth: 245 downloads, week of 2025-10-20Web Bot Auth: 265 downloads, week of 2025-10-27Web Bot Auth: 737 downloads, week of 2025-11-03Web Bot Auth: 3,559 downloads, week of 2025-11-10Web Bot Auth: 459 downloads, week of 2025-11-17Web Bot Auth: 2,548 downloads, week of 2025-11-24Web Bot Auth: 2,407 downloads, week of 2025-12-01Web Bot Auth: 1,305 downloads, week of 2025-12-08Web Bot Auth: 1,067 downloads, week of 2025-12-15Web Bot Auth: 272 downloads, week of 2025-12-22Web Bot Auth: 559 downloads, week of 2025-12-29Web Bot Auth: 814 downloads, week of 2026-01-05Web Bot Auth: 1,131 downloads, week of 2026-01-12Web Bot Auth: 1,687 downloads, week of 2026-01-19Web Bot Auth: 1,507 downloads, week of 2026-01-26Web Bot Auth: 2,787 downloads, week of 2026-02-02Web Bot Auth: 3,792 downloads, week of 2026-02-09Web Bot Auth: 4,598 downloads, week of 2026-02-16Web Bot Auth: 3,848 downloads, week of 2026-02-23Web Bot Auth: 3,901 downloads, week of 2026-03-02Web Bot Auth: 4,238 downloads, week of 2026-03-09Web Bot Auth: 3,746 downloads, week of 2026-03-16Web Bot Auth: 4,620 downloads, week of 2026-03-23Web Bot Auth: 5,566 downloads, week of 2026-03-30Web Bot Auth: 5,610 downloads, week of 2026-04-06Web Bot Auth: 8,128 downloads, week of 2026-04-13Web Bot Auth: 9,072 downloads, week of 2026-04-20Web Bot Auth: 14,754 downloads, week of 2026-04-27Web Bot Auth: 17,336 downloads, week of 2026-05-04Web Bot Auth: 12,907 downloads, week of 2026-05-11Web Bot Auth: 14,295 downloads, week of 2026-05-18Web Bot Auth: 13,487 downloads, week of 2026-05-25Web Bot Auth: 6,161 downloads, week of 2026-06-01Web Bot Auth: 10,349 downloads, week of 2026-06-08Web Bot Auth: 12,350 downloads, week of 2026-06-15Web Bot Auth: 13,458 downloads, week of 2026-06-22Web Bot Auth: 14,477 downloads, week of 2026-06-29Web Bot Auth: 22,537 downloads, week of 2026-07-06Web Bot Auth: 14,905 downloads, week of 2026-07-13Web Bot Auth: 24,763 downloads, week of 2026-07-20Web Bot Auth: 21,941 downloads, week of 2026-07-27Web Bot Auth: 26,368 downloads, week of 2026-08-03Web Bot Auth: 24,165 downloads, week of 2026-08-10Web Bot Auth: 90,789 downloads, week of 2026-08-17Web Bot Auth: 106,258 downloads, week of 2026-08-24Web Bot Auth: 105,086 downloads, week of 2026-08-31Web Bot Auth: 71,501 downloads, week of 2026-09-07Web Bot Auth: 165,051 downloads, week of 2026-09-14Web Bot Auth: 182,304 downloads, week of 2026-09-21Web Bot Auth: 179,645 downloads, week of 2026-09-28Web Bot Auth: 162,458 downloads, week of 2026-10-05UCP: 207 downloads, week of 2026-01-12UCP: 820 downloads, week of 2026-01-19UCP: 843 downloads, week of 2026-01-26UCP: 766 downloads, week of 2026-02-02UCP: 888 downloads, week of 2026-02-09UCP: 1,184 downloads, week of 2026-02-16UCP: 382 downloads, week of 2026-02-23UCP: 222 downloads, week of 2026-03-02UCP: 374 downloads, week of 2026-03-09UCP: 372 downloads, week of 2026-03-16UCP: 682 downloads, week of 2026-03-23UCP: 421 downloads, week of 2026-03-30UCP: 460 downloads, week of 2026-04-06UCP: 992 downloads, week of 2026-04-13UCP: 825 downloads, week of 2026-04-20UCP: 1,120 downloads, week of 2026-04-27UCP: 922 downloads, week of 2026-05-04UCP: 920 downloads, week of 2026-05-11UCP: 1,108 downloads, week of 2026-05-18UCP: 1,493 downloads, week of 2026-05-25UCP: 1,810 downloads, week of 2026-06-01UCP: 2,709 downloads, week of 2026-06-08UCP: 2,319 downloads, week of 2026-06-15UCP: 1,779 downloads, week of 2026-06-22UCP: 3,182 downloads, week of 2026-06-29UCP: 1,810 downloads, week of 2026-07-06UCP: 1,887 downloads, week of 2026-07-13UCP: 2,347 downloads, week of 2026-07-20UCP: 5,873 downloads, week of 2026-07-27UCP: 6,433 downloads, week of 2026-08-03UCP: 5,053 downloads, week of 2026-08-10UCP: 5,189 downloads, week of 2026-08-17UCP: 7,945 downloads, week of 2026-08-24UCP: 7,458 downloads, week of 2026-08-31UCP: 6,169 downloads, week of 2026-09-07UCP: 7,341 downloads, week of 2026-09-14UCP: 11,462 downloads, week of 2026-09-21UCP: 18,459 downloads, week of 2026-09-28UCP: 12,820 downloads, week of 2026-10-05KYA-OS: 88 downloads, week of 2026-05-11KYA-OS: 177 downloads, week of 2026-05-18KYA-OS: 493 downloads, week of 2026-05-25KYA-OS: 1,007 downloads, week of 2026-06-01KYA-OS: 1,894 downloads, week of 2026-06-08KYA-OS: 1,273 downloads, week of 2026-06-15KYA-OS: 492 downloads, week of 2026-06-22KYA-OS: 1,673 downloads, week of 2026-06-29KYA-OS: 1,809 downloads, week of 2026-07-06KYA-OS: 1,010 downloads, week of 2026-07-13KYA-OS: 2,221 downloads, week of 2026-07-20KYA-OS: 1,073 downloads, week of 2026-07-27KYA-OS: 1,024 downloads, week of 2026-08-03KYA-OS: 1,997 downloads, week of 2026-08-10KYA-OS: 1,947 downloads, week of 2026-08-17KYA-OS: 2,770 downloads, week of 2026-08-24KYA-OS: 2,081 downloads, week of 2026-08-31KYA-OS: 1,379 downloads, week of 2026-09-07KYA-OS: 4,004 downloads, week of 2026-09-14KYA-OS: 18,152 downloads, week of 2026-09-21KYA-OS: 20,250 downloads, week of 2026-09-28KYA-OS: 11,326 downloads, week of 2026-10-05x401: 90 downloads, week of 2026-06-08x401: 11 downloads, week of 2026-06-15x401: 214 downloads, week of 2026-06-22x401: 205 downloads, week of 2026-06-29x401: 286 downloads, week of 2026-07-06x401: 287 downloads, week of 2026-07-13x401: 155 downloads, week of 2026-07-20x401: 319 downloads, week of 2026-07-27x401: 98 downloads, week of 2026-08-03x401: 63 downloads, week of 2026-08-10x401: 70 downloads, week of 2026-08-17x401: 96 downloads, week of 2026-08-24x401: 55 downloads, week of 2026-08-31x401: 53 downloads, week of 2026-09-07x401: 33 downloads, week of 2026-09-14x401: 128 downloads, week of 2026-09-21x401: 299 downloads, week of 2026-09-28x401: 269 downloads, week of 2026-10-05MCP 65.4MA2A 4.1Mx402 467KMPP 336KWeb Bot Auth 162KUCP 13KKYA-OS 11Kx401 269Not covered by this chartProtocols with downloads that are not plotted hereThis chart plots official npm packages only, up to the palette limit of eight series. These are in the all-registries chart:PAP: @datalayer/personal-agent-protocol (npm, third-party, Datalayer) 2K last 4 weeks; personal-agent-protocol (pypi, third-party, Datalayer) 1.4K last 4 weeksL402: @lightninglabs/l402 (npm, official) 104 last 4 weeks; l402 (pypi, third-party, Fewsats) 24 last 4 weeksACP: acp-handler (npm, third-party, Vercel) 857 last 4 weeks; agentic-commerce-protocol (pypi, third-party, Svix) 50 last 4 weeksKYAPay: @skyfire-xyz/skyfire-seller-sdk-node (npm, official, Skyfire) 52 last 4 weeks; @tollstile/kyapay (npm, third-party, Tollstile) 383 last 4 weeksTAP: @inflowpayai/tap-seller (npm, third-party, InFlow) 398 last 4 weeksProtocols with no npm package foundBaselayer KYA: closed commercial product: no public repository or package.AP2: The ap2 package on PyPI belongs to an unrelated project; no other package found on npm, PyPI or crates.io.ANS: No package found on npm, PyPI or crates.io (Go reference implementation, Swift SDK).Not measuredThird-party packages and other registries (PyPI, crates.io) are in the all-registries chart. Maven, NuGet and Go modules are not measured.One package per protocol is plotted. The window opens 21 Apr 2025, so earlier history for MCP, x402 and Web Bot Auth is not shown.Each line starts at the first week with downloads.Packages: MCP: @modelcontextprotocol/sdk; A2A: @a2a-js/sdk; x402: x402; MPP: mppxWeb Bot Auth: web-bot-auth; UCP: @ucp-js/sdk; KYA-OS: @kya-os/mcp; x401: @proof.com/x401-node \ No newline at end of file diff --git a/docs/research/tools/capability-map/traction/render.py b/docs/research/tools/capability-map/traction/render.py index 5e9806e..7f7a36c 100644 --- a/docs/research/tools/capability-map/traction/render.py +++ b/docs/research/tools/capability-map/traction/render.py @@ -80,14 +80,28 @@ def wrap(text, n=135, indent=' '): return out + [cur] +def repo_label(r, shared): + return short(r['repo']) + ('\u2020' if r['scope'] == 'third-party' else '') + ('\u2021' if r['repo'] in shared else '') + + +def shared_repos(): + seen, dup = {}, set() + for proto, repos in D.get('others', {}).items(): + for r in repos: + if r['repo'] in seen and seen[r['repo']] != proto: + dup.add(r['repo']) + seen[r['repo']] = proto + return dup + + def others_lines(metric): - out = [] + out, shared = [], shared_repos() for proto, repos in D.get('others', {}).items(): key = (lambda r: -r['stars']) if metric == 'stars' else (lambda r: -(r['commits52w'] or 0)) parts = [] for r in sorted(repos, key=key): v = r['stars'] if metric == 'stars' else r['commits52w'] - parts.append(f"{short(r['repo'])} {'n/a' if v is None else format(v, ',')}") + parts.append(f"{repo_label(r, shared)} {'n/a' if v is None else format(v, ',')}") out += wrap(f'{proto}: ' + ', '.join(parts)) return out @@ -145,15 +159,20 @@ def chart_npm(): ph = 436 dl = D['downloads']['by_protocol'] extra = [] - for p, regs in dl.items(): + for p, groups in dl.items(): if p in names: continue - parts = [f"{r['package']} ({reg}{', ' + r['scope'] if r['scope'] != 'first-party' else ''}) {fmt(r['monthly'])} last month" for reg, r in regs.items()] - extra.append(f'{p}: ' + '; '.join(parts)) - secs = [('Protocols with downloads that are not plotted here', ['The palette allows eight series, so these appear only in the all-registries chart:'] + extra), + parts = [] + for grp, regs in groups.items(): + for reg, r in regs.items(): + pub = f", {r['publisher']}" if r.get('publisher') else '' + parts.append(f"{r['package']} ({reg}, {grp}{pub}) {fmt(r['monthly'])} last 4 weeks") + if parts: + extra.append(f'{p}: ' + '; '.join(parts)) + secs = [('Protocols with downloads that are not plotted here', ['This chart plots official npm packages only, up to the palette limit of eight series. These are in the all-registries chart:'] + extra), ('Protocols with no npm package found', ['Baselayer KYA: ' + NOT_PUBLIC.lower() + '.'] + [f'{p}: {why}.' for p, why in D['downloads']['no_package'].items()]), - ('Not measured', ['Other registries (PyPI, crates.io, Maven, NuGet, Go modules) are in the all-registries chart where they were found.'])] + ('Not measured', ['Third-party packages and other registries (PyPI, crates.io) are in the all-registries chart. Maven, NuGet and Go modules are not measured.'])] hbox = nc_height(secs) H = T + ph + 40 + hbox + 22 + 28 + 10 + 28 + 14 pw = W - L - R @@ -169,7 +188,7 @@ def Y(v): return T + ph * (1 - (math.log10(v) - lo) / (hi - lo)) b = [] - b.append(f'Weekly npm downloads of each protocol\'s main SDK') + b.append(f'Weekly npm downloads of each protocol\'s main official SDK') b.append(f'Log scale, 21 Apr 2025 to 5 Oct 2026. Each line starts at the first week with downloads. Downloads include CI and mirrors.') # legend lx = L @@ -216,79 +235,102 @@ def Y(v): 'Line chart on a log scale. ' + '; '.join(f'{n} {fmt(D["npm"][n]["weeks"][-1][1])} a week' for n in names)) -# ---------------------------------------------------------------- chart 2: weekly commits, aggregated over repositories +# ---------------------------------------------------------------- chart 2: weekly commits, official vs third-party def commit_series(): - """protocol -> weekly commits summed over the charted repository and its other repositories, first-party or community.""" + """protocol -> official and third-party weekly commits, each added across its repositories.""" out = {} for name, wk in D['commits'].items(): - total = dict(wk) - repos = [(D['repos'][name]['repo'], 'first-party')] + off = dict(wk) + off_repos = [D['repos'][name]['repo']] + tp, tp_repos, missing = {}, [], [] created = [D['repos'][name]['created']] - missing = [] for r in D.get('others', {}).get(name, []): if not r.get('weeks'): missing.append(short(r['repo'])) continue - repos.append((r['repo'], r['scope'])) created.append(r['created']) + target, names = (tp, tp_repos) if r['scope'] == 'third-party' else (off, off_repos) + names.append(r['repo']) for ts, n in r['weeks']: - total[ts] = total.get(ts, 0) + n - out[name] = dict(weeks=sorted(total.items()), repos=repos, created=min(created), missing=missing) + target[ts] = target.get(ts, 0) + n + weeks = sorted(off) + out[name] = dict(weeks=weeks, off=[off[t] for t in weeks], tp=[tp.get(t, 0) for t in weeks] if tp_repos else None, + off_repos=off_repos, tp_repos=tp_repos, created=min(created), missing=missing) return out +def legend_row(x, y, items): + out, lx = [], x + for label, col in items: + out.append(f'' + f'{esc(label)}') + lx += 24 + 6.2 * len(label) + 26 + return ''.join(out) + + def chart_commits(): series = commit_series() - items = sorted(series.items(), key=lambda kv: -sum(v for _, v in kv[1]['weeks'])) + items = sorted(series.items(), key=lambda kv: -(sum(kv[1]['off']) + sum(kv[1]['tp'] or []))) items.append(('Baselayer KYA', None)) # no public repository cols, pw, ph = 5, 160, 70 - gx, gy = 28, 46 - L, T = 40, 124 + gx, gy = 28, 56 + L, T = 40, 150 rows = math.ceil(len(items) / cols) W = L * 2 + cols * pw + (cols - 1) * gx - agg = [] + shared = shared_repos() + def names_of(n, key): + return [short(r) + ('\u2021' if r in shared else '') for r in series[n][key]] + off_lines, tp_lines = [], [] for n, sr in series.items(): - names = [short(r) + ('\u2020' if sc == 'community' else '') for r, sc in sr['repos']] - agg += wrap(f'{n}: ' + ', '.join(names)) + off_lines += wrap(f'{n}: ' + ', '.join(names_of(n, 'off_repos'))) + if sr['tp_repos']: + tp_lines += wrap(f'{n}: ' + ', '.join(names_of(n, 'tp_repos'))) + else: + tp_lines.append(f'{n}: none found') gaps = sorted({m for sr in series.values() for m in sr['missing']}) + topics = ', '.join(f'{p} {c:,}' for p, (t, c) in D.get('topics', {}).items()) secs = [('Protocols with no panel', ['Baselayer KYA: closed commercial product, no public repository.']), - ('Repositories added together in each panel (\u2020 = community implementation, not the protocol\'s own)', agg), + ('Official repositories added together in each panel', off_lines), + ('Third-party repositories added together (hand-picked examples; \u2021 = counted under more than one protocol)', tp_lines), + ('How third-party repositories were chosen', [ + 'Up to three per protocol that implement the protocol itself (SDK, server, library, plugin), highest stars first,', + 'after setting aside applications that merely use it and curated lists. This is a sample, not a census.', + 'GitHub repositories tagged with each protocol topic, applications included: ' + topics + '.']), ('Not added', ([f'{", ".join(gaps)}: GitHub returned no commit statistics for these.'] if gaps else []) + - ['Other repositories of these projects, and community implementations I did not find.', - 'Default branch only. Forks, other branches and private repositories are not counted.'])] + ['Default branch only. Forks, other branches and private repositories are not counted.'])] hbox = nc_height(secs) H = T + rows * (ph + gy) + 14 + hbox + 24 - ymax = max(v for _, sr in items if sr for _, v in sr['weeks']) + ymax = max(max(sr['off'] + (sr['tp'] or [0])) for _, sr in items if sr) ymax = int(math.ceil(ymax / 10.0) * 10) - b = [f'Weekly commits to each protocol, added across its repositories', + b = [f'Weekly commits to each protocol: official and third-party repositories', f'Last 52 weeks to mid-Oct 2026. Same scale in every panel (0 to {ymax}), sorted by total commits.', - f'A flat line on the baseline means no commits. Dashed shading means no repository existed yet. Repositories counted are listed below.'] + f'Each line adds commits across its repositories, which are listed below. Dashed shading means no repository existed yet.', + legend_row(L, 94, [('Official repositories', '--s1'), ('Third-party implementations (hand-picked examples)', '--s2')])] for k, (n, sr) in enumerate(items): c, r = k % cols, k // cols x0 = L + c * (pw + gx) y0 = T + r * (ph + gy) if sr is None: - b.append(f'{esc(n)}' + b.append(f'{esc(n)}' f'' f'No data' f'closed product, no public repo') continue wk = sr['weeks'] - tot = sum(v for _, v in wk) + n_w = len(wk) + toff, ttp = sum(sr['off']), sum(sr['tp'] or []) created = dt.date.fromisoformat(sr['created']) cut = 0 - while cut < len(wk) and dt.datetime.utcfromtimestamp(wk[cut][0]).date() + dt.timedelta(days=7) <= created: + while cut < n_w and dt.datetime.utcfromtimestamp(wk[cut]).date() + dt.timedelta(days=7) <= created: cut += 1 - nrep = len(sr['repos']) - b.append(f'{esc(n)}' - f'{tot:,} commit{"" if tot == 1 else "s"}' - f'{"" if nrep == 1 else f" · {nrep} repos"}') + right = f'{toff:,} official' + (f' · {ttp:,} third-party' if sr['tp'] is not None else '') + b.append(f'{esc(n)}' + f'{right}') b.append(f'' f'') if c == 0: b.append(f'{ymax}' f'0') - n_w = len(wk) px = lambda i: x0 + pw * i / (n_w - 1) py = lambda v: y0 + ph * (1 - v / ymax) if cut > 0: @@ -296,88 +338,124 @@ def chart_commits(): b.append(f'') if xc - x0 >= 56: b.append(f'created {created.strftime("%b %Y")}') - live = list(enumerate(wk))[cut:] + live = list(range(cut, n_w)) if len(live) > 1: - path = 'M' + ' L'.join(f'{px(i):.1f},{py(v):.1f}' for i, (_, v) in live) - area = path + f' L{px(live[-1][0]):.1f},{y0+ph} L{px(live[0][0]):.1f},{y0+ph} Z' - b.append(f'' + path = 'M' + ' L'.join(f'{px(i):.1f},{py(sr["off"][i]):.1f}' for i in live) + b.append(f'' f'') - for i, (ts, v) in enumerate(wk): + if sr['tp'] is not None: + pt = 'M' + ' L'.join(f'{px(i):.1f},{py(sr["tp"][i]):.1f}' for i in live) + b.append(f'') + for i, ts in enumerate(wk): day = dt.datetime.utcfromtimestamp(ts).date().isoformat() - msg = f'{n}: no repository yet (earliest created {created.isoformat()})' if i < cut else f'{n}: {v} commits across {nrep} repos, week of {day}' + if i < cut: + msg = f'{n}: no repository yet (earliest created {created.isoformat()})' + else: + msg = f'{n}: {sr["off"][i]} official' + (f', {sr["tp"][i]} third-party' if sr['tp'] is not None else '') + f' commits, week of {day}' b.append(f'{esc(msg)}') b.append(nc_box(L, T + rows * (ph + gy) + 14, W - 2 * L, secs)) - return svg(W, H, ''.join(b), 'Weekly commits to each protocol, added across its repositories', - 'Small multiples, one panel per protocol, shared scale. ' + '; '.join(f'{n} {sum(v for _, v in sr["weeks"])} commits in {len(sr["repos"])} repos' for n, sr in items if sr) + '; Baselayer KYA has no data (closed product)') + return svg(W, H, ''.join(b), 'Weekly commits to each protocol: official and third-party repositories', + 'Small multiples, one panel per protocol, shared scale, official and third-party lines. ' + + '; '.join(f'{n} {sum(sr["off"])} official' + (f' and {sum(sr["tp"])} third-party' if sr['tp'] is not None else '') + ' commits' for n, sr in items if sr) + + '; Baselayer KYA has no data (closed product)') -# ---------------------------------------------------------------- chart 2b: weekly downloads across registries +# ---------------------------------------------------------------- chart 2b: weekly downloads, official vs third-party def chart_downloads(): DL = D['downloads'] starts = [dt.date.fromisoformat(x) for x in DL['week_starts']] + n_w = len(starts) + + def total(regs): + return [sum(r['weeks'][i] for r in regs.values()) for i in range(n_w)] if regs else None rows_ = [] - for p, regs in DL['by_protocol'].items(): - if not regs: - continue - tot = [sum(r['weeks'][i] for r in regs.values()) for i in range(len(starts))] - rows_.append((p, regs, tot)) - rows_.sort(key=lambda r: -r[2][-1]) + for p, groups in DL['by_protocol'].items(): + off, tp = total(groups.get('official')), total(groups.get('third-party')) + if off or tp: + rows_.append((p, groups, off, tp)) + rows_.sort(key=lambda r: -((r[2] or [0])[-1] + (r[3] or [0])[-1])) nodata = [('Baselayer KYA', 'closed product, no package')] + [(p, 'no package found') for p in DL['no_package']] cols, pw, ph = 4, 200, 64 - gx, gy = 44, 62 - L, T = 58, 100 + gx, gy = 44, 78 + L, T = 58, 146 n_panels = len(rows_) + len(nodata) nrows = math.ceil(n_panels / cols) W = L * 2 + cols * pw + (cols - 1) * gx + + def pkg_lines(group): + out = [] + for p, groups, _, _ in rows_: + regs = groups.get(group) or {} + if regs: + parts = [f"{r['package']} ({reg}{', ' + r['publisher'] if r.get('publisher') else ''})" for reg, r in regs.items()] + out += wrap(f'{p}: ' + ', '.join(parts)) + return out or ['none'] alts = [] - for p, regs in DL['by_protocol'].items(): - for reg, r in regs.items(): - others = [n for n in PACKAGES_CFG.get(p, {}).get(reg, []) if n != r['package']] - if others: - alts.append(f'{p} ({reg}): {", ".join(others)}') - alts = [w for a in alts for w in wrap(a)] + for p, groups in DL['by_protocol'].items(): + for grp, regs in groups.items(): + for reg, r in regs.items(): + others = [n for n in PACKAGES_CFG.get(p, {}).get(grp, {}).get(reg, []) if n != r['package']] + if others: + alts += wrap(f'{p} ({grp}, {reg}): {", ".join(others)}') + topics = ', '.join(f'{p} {c:,}' for p, (t, c) in D.get('topics', {}).items()) secs = [('Protocols with no data', ['Baselayer KYA: ' + NOT_PUBLIC.lower() + '.'] + [f'{p}: {why}.' for p, why in DL['no_package'].items()]), - ('Other packages of the same registry, not added (a package and its dependencies would be counted twice)', alts), - ('Not measured', ['Maven, NuGet, Go modules, RubyGems, container pulls, and copies installed without a registry.', + ('Official packages counted (per registry, the most downloaded)', pkg_lines('official')), + ('Third-party packages counted (hand-picked examples; the publisher is named)', pkg_lines('third-party')), + ('Other packages of the same registry and group, not added (a package and its dependencies would be counted twice)', alts), + ('Not measured', ['Maven, NuGet, Go modules, RubyGems, container pulls, and copies installed without a registry. Third-party repositories are a sample, not a census', + '(GitHub repositories tagged with each protocol topic: ' + topics + ').', 'Each registry gives a different history, so every panel covers the same 12 weeks.'])] hbox = nc_height(secs) H = T + nrows * (ph + gy) + 14 + hbox + 24 first, last = starts[0], starts[-1] + dt.timedelta(days=6) - b = [f'Weekly package downloads for each protocol, across npm, PyPI and crates.io', - f'{first.strftime("%-d %b")} to {last.strftime("%-d %b %Y")}. Each panel has its own scale, from 0 to its peak. The text under each panel gives the latest week by registry.', - f'Per registry, the most downloaded package is counted. \u2020 = community or vendor implementation, not the protocol\'s own. CI and mirrors are included.'] + ymax_all = None + b = [f'Weekly package downloads for each protocol: official and third-party packages', + f'{first.strftime("%-d %b")} to {last.strftime("%-d %b %Y")}, across npm, PyPI and crates.io. Each panel has its own scale, from 0 to its peak.', + f'Per registry and group, the most downloaded package is counted. The text under each panel gives the latest week by registry. CI and mirrors are included.', + legend_row(L, 92, [('Official packages', '--s1'), ('Third-party packages (hand-picked examples)', '--s2')])] k = 0 - for p, regs, tot in rows_: + for p, groups, off, tp in rows_: c, r = k % cols, k // cols x0 = L + c * (pw + gx) y0 = T + r * (ph + gy) k += 1 - ymax = max(tot) or 1 - n_w = len(tot) + ymax = max(max(off or [0]), max(tp or [0])) or 1 px = lambda i: x0 + pw * i / (n_w - 1) py = lambda v: y0 + ph * (1 - v / ymax) + head = f'{fmt(off[-1])} official a week' if off else f'{fmt(tp[-1])} third-party a week' b.append(f'{esc(p)}' - f'{fmt(tot[-1])} a week' + f'{head}' f'' f'' f'{fmt(ymax)}' f'0') + both = [a + b_ for a, b_ in zip(off or [0] * n_w, tp or [0] * n_w)] cut = 0 - while cut < n_w - 1 and tot[cut] == 0: + while cut < n_w - 1 and both[cut] == 0: cut += 1 - if cut > 0: # weeks before the first download: the package did not exist yet + if cut > 0: # weeks before the first download: no package existed yet xc = px(cut) b.append(f'' f'not published yet') - live = list(enumerate(tot))[cut:] - path = 'M' + ' L'.join(f'{px(i):.1f},{py(v):.1f}' for i, v in live) - b.append(f'' - f'') - for i, v in enumerate(tot): - parts = ', '.join(f"{reg} {r_['weeks'][i]:,}" for reg, r_ in regs.items()) - b.append(f'{esc(p)}: {v:,} downloads, week of {starts[i].isoformat()} ({esc(parts)})') - mix = ' · '.join(f"{reg}{chr(8224) if r_['scope'].startswith(('community', 'vendor')) else ''} {fmt(r_['weeks'][-1])}" for reg, r_ in regs.items()) - b.append(f'{esc(mix)}') + live = list(range(cut, n_w)) + if off: + path = 'M' + ' L'.join(f'{px(i):.1f},{py(off[i]):.1f}' for i in live) + b.append(f'' + f'') + if tp: + pt = 'M' + ' L'.join(f'{px(i):.1f},{py(tp[i]):.1f}' for i in live) + fill = '' if off else f'' + b.append(fill + f'') + for i in range(n_w): + parts = [f"{grp} {reg} {r_['weeks'][i]:,}" for grp, regs in groups.items() for reg, r_ in regs.items()] + b.append(f'{esc(p)}, week of {starts[i].isoformat()}: {esc("; ".join(parts))}') + ly = y0 + ph + 16 + for grp, label in (('official', 'Official'), ('third-party', 'Third-party')): + regs = groups.get(grp) or {} + if regs: + mix = ' · '.join(f"{reg} {fmt(r_['weeks'][-1])}" for reg, r_ in regs.items()) + b.append(f'{label}: {esc(mix)}') + ly += 13 for p, why in nodata: c, r = k % cols, k // cols x0 = L + c * (pw + gx) @@ -388,8 +466,9 @@ def chart_downloads(): f'No data' f'{esc(why)}') b.append(nc_box(L, T + nrows * (ph + gy) + 14, W - 2 * L, secs)) - return svg(W, H, ''.join(b), 'Weekly package downloads for each protocol across npm, PyPI and crates.io', - 'Small multiples, one panel per protocol. ' + '; '.join(f'{p} {fmt(t[-1])} in the latest week' for p, _, t in rows_) + + return svg(W, H, ''.join(b), 'Weekly package downloads for each protocol: official and third-party packages', + 'Small multiples, one panel per protocol. ' + '; '.join( + f'{p} {fmt((off or [0])[-1])} official and {fmt((tp or [0])[-1])} third-party in the latest week' for p, _, off, tp in rows_) + '; no data for ' + ', '.join(p for p, _ in nodata)) @@ -402,7 +481,10 @@ def chart_stars(): L, R, T = 150, 250, 100 rh = 28 secs = [('Protocols with no data', ['Baselayer KYA: closed commercial product, no public repository.']), - ('Other repositories, with stars', ['One repository is charted per protocol. The MCP Python and TypeScript SDKs hold more stars than the specification repository charted.'] + others_lines('stars'))] + ('Other repositories, with stars (\u2020 = third-party, hand-picked examples; \u2021 = counted under more than one protocol)', + ['One repository is charted per protocol, and others can be larger: FastMCP and the MCP Python and TypeScript SDKs hold more stars than the MCP specification repository.'] + others_lines('stars')), + ('Repositories tagged with each protocol topic, applications included', + wrap(', '.join(f'{p} {c:,}' for p, (t, c) in D.get('topics', {}).items())))] hbox = nc_height(secs) H = T + len(items) * rh + 40 + 14 * (len(PROXY) + 1) + 16 + hbox + 24 pw = W - L - R