mrkeyoor.com_
Tue 01 Sept 15:08 UTC
Indexopen data1,449 projectslast run 01 Sept 2026

Install Success Index

95.7% of the 1,336 open-source projects we tried to install completed a documented clean install — 1,278 of them. The other 58 failed on a fresh machine that did exactly what the project’s own instructions said.

The headline numbers

Install success rate95.7%
Installs attempted1,336
Median install42s
Median dependencies241

Denominator: the 1,336 published repositories where an install was actually attempted. A further 113 are books, curated lists or Dockerfile-only projects with no manifest to install from, so they sit outside the rate rather than dragging it down. Across all 1,449 projects, 1,104 (76.2%) got all the way to a build and a test run.

Where the runs ended

OutcomeProjectsShareWhat it means
ran1,10476.2%Cloned and installed, then the build and the project’s own test suite were run. Either may still have failed; the repo page says which.
build failed17412%The install finished, the build script or compiler did not.
install failed584%The project’s own install command exited non-zero in a clean container, or ran past the 15-minute limit.
not runnable1097.5%No supported manifest at the root or one level down — books, curated lists, Dockerfile-only projects. Nothing was installed, so these are outside the install rate.
clone failed30.2%We never got the source: too large to clone, or the clone itself failed.
not recorded10.1%Published before the harness recorded a status.

5 of the failed installs hit the 15-minute limit rather than erroring outright; we report those as unfinished installs, not as broken projects.

By ecosystem

EcosystemAttemptedInstalledRateMedian installMedian deps
Node.js61357493.6%40s683
Python34133698.5%39s58
Go22522298.7%61s231
Rust13113099.2%37s430
C/C++16637.5%12snot counted
JVM1010100%52snot counted

Medians, not means: a handful of ten-minute installs would otherwise decide the number for everyone. Install seconds are cold-start seconds — every container begins with an empty npm, uv, cargo and Go cache. Dependency counts are packages on disk after install, which is why C/C++ and JVM projects show none: their toolchains do not give us a figure we would trust. Rows with a small sample are still printed; the counts are there so you can judge them.

How we measured this

Each project is cloned at a named commit into a throwaway Debian Bookworm container: 3 CPUs, 8 GB of RAM, a non-root user, no credentials, no cache carried over from a previous run. We then run the project’s own install command — its package manager, its lockfile if it has one — and nothing else. No apt packages are added for a project that needs them, no README is followed by hand, no second attempt is made after a failure. The commit hash and the run date sit in every row of the dataset.

That is a harsher machine than a developer laptop, and we would rather say so than hide it. A project that assumes make, pkg-config, a GPU or a running database will fail here and work fine for you. The number this index reports is not “how many projects are broken”; it is how many install from their own documented instructions on a machine that has nothing else on it. The full procedure, including the time limits and what each outcome word means, is on how we test.

Runs in this snapshot: 22 Aug 2026 to 01 Sept 2026. Every project is re-run roughly every five weeks, so this page and both downloads change over time; cite the date you pulled them. Numbers here are computed from the database when the page loads, not typed in.

The ten slowest installs that still finished

ProjectEcosystemInstallDepsOutcome
calcom/cal.diynode12m 49s4,673build failed
elastic/kibananode12m 41s3,945build failed
waditu/czscpython12m 33s57ran
siderolabs/talosgo11m 13s1,610ran
scikit-learn/scikit-learnpython11m 08s41ran
pytorch/pytorchpython10m 45s62build failed
n8n-io/n8nnode10m 33s3,504ran
dbgate/dbgatenode10m 11s1,583ran
infiniflow/ragflowpython9m 50s517ran
cypress-io/cypressnode8m 45s4,291ran

The ten heaviest dependency trees

ProjectEcosystemPackages on diskInstallOutcome
stdlib-js/stdlibnode12,0368m 29sran
backstage/backstagenode5,5183m 03sran
twentyhq/twentynode5,2707m 25sran
novuhq/novunode5,1922m 33sran
calcom/cal.comnode4,6733m 51sbuild failed
calcom/cal.diynode4,67312m 49sbuild failed
CopilotKit/CopilotKitnode4,6024m 35sbuild failed
nrwl/nxnode4,31389sbuild failed
cypress-io/cypressnode4,2918m 45sran
TryGhost/Ghostnode4,1622m 11sran

Every one of these arrives from a single install command. Whether that is a problem is a judgement; the count is not.

Take the data

One row per published project: slug, repository, ecosystem, outcome, install seconds, dependency count, the commit we tested and the date we tested it. Free to reuse with attribution (CC BY 4.0) — cite “MrKeyoor Install Success Index” and link to this page.

CSVdata.csv
JSONdata.json
Rows1,449
LicenceCC BY 4.0

Our other index measures what an MCP server costs your context window before it does any work: the MCP Context Tax Index. Think a number here is wrong? Tell us which project and we will re-run it — contact, corrections policy.