{"adoption": {"forks": 172, "observed_at": "2026-08-28T04:03:30.911246+00:00", "stars": 1082}, "canonical_url": "https://ross.abutalabs.com/products/satellite-js", "card": {"archived": false, "artifact_type": "library", "description": "Modular set of functions for SGP4 and SDP4 propagation of TLE and OMM.", "domain": ["simulation", "astronomy", "developer-tools"], "enriched": true, "function": ["simulation", "math", "sdk"], "health_score": 99, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["shashwatak/satellite-js"], "name": "shashwatak/satellite-js", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-20T16:45:38+00:00", "repo": "shashwatak/satellite-js", "stars": 1082, "tags": ["sgp4", "sdp4", "tle", "omm", "satellite-propagation", "orbital-mechanics", "space", "coordinate-transforms", "doppler", "nodejs", "typescript"], "topics": [], "urls": [], "use_cases": ["propagate satellite positions from TLE lines in javascript", "track ISS position in a web app", "compute look angles and geodetic position for ground stations", "convert OMM JSON orbit data to a satellite record", "calculate doppler shift for satellite pass predictions", "determine if a satellite is in Earth's shadow"], "what_it_is": "A TypeScript/JavaScript library implementing SGP4 and SDP4 orbital propagation from TLE and OMM data, usable in web and Node.js environments. It also provides coordinate transforms and utilities like doppler factor and shadow (eclipse) calculations.", "when_to_avoid": ["you need high-precision ephemeris beyond SGP4/SDP4 accuracy", "you're working in Python or another non-JS language", "you need full mission-analysis astrodynamics suites"], "when_to_choose": ["you need SGP4/SDP4 propagation in JavaScript or TypeScript", "you're building a satellite tracking or pass prediction web application", "you need coordinate transforms (ECI, geodetic) alongside propagation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/satellite-js", "repo": "shashwatak/satellite-js", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "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:03:30.911246+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.911246+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:51:17.866132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "558a4506b7fe0d9060362c970d8108442634f19aef974a63552223f3f49a8af5", "fetched_at": "2026-08-28T04:03:30.911246+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shashwatak/satellite-js"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 82}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4861, "days_push": 13, "days_rel": 41, "gap_med": 76, "n_releases_24m": 6}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}