{"adoption": {"forks": 85, "observed_at": "2026-08-28T04:04:09.795199+00:00", "stars": 1259}, "canonical_url": "https://ross.abutalabs.com/products/node-retry", "card": {"archived": false, "artifact_type": "library", "description": "Abstraction for exponential and custom retry strategies for failed operations.", "domain": ["developer-tools", "backend"], "enriched": true, "function": ["concurrency", "error-handling", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["tim-kos/node-retry"], "name": "tim-kos/node-retry", "platform": [], "pushed_at": "2023-09-13T11:11:26+00:00", "repo": "tim-kos/node-retry", "stars": 1259, "tags": ["retry", "exponential-backoff", "fault-tolerance", "npm", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["retry failed network requests with exponential backoff", "add fault tolerance to flaky dns lookups in node", "configure custom retry timeouts and attempt limits", "retry async operations until they succeed", "implement retry logic for unreliable api calls"], "what_it_is": "A Node.js library providing an abstraction for exponential and custom retry strategies for failed operations. It wraps flaky async calls with configurable retry attempts, timeouts, and backoff factors.", "when_to_avoid": ["you need retry logic outside of Node.js", "you want a batteries-included HTTP client with built-in retries rather than a low-level retry abstraction", "you need circuit-breaker or rate-limiting features alongside retries"], "when_to_choose": ["you need configurable exponential backoff for failing async operations in Node.js", "you want fine-grained control over retry counts, timeouts, and randomization", "you need retry support for both callback and promise-based code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/node-retry", "repo": "tim-kos/node-retry", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.795199+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:05:32.668982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "561a7bcf045a28bfdeae399ff8606b2d208c60b113dcd9de617785f745f1f98a", "fetched_at": "2026-08-28T04:04:09.795199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tim-kos/node-retry"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5592, "days_push": 1085, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}