{"adoption": {"forks": 259, "observed_at": "2026-08-28T04:05:32.400590+00:00", "stars": 1758}, "canonical_url": "https://ross.abutalabs.com/products/python-skyfield", "card": {"archived": false, "artifact_type": "library", "description": "Elegant astronomy for Python", "domain": ["astronomy"], "enriched": true, "function": ["data-science", "math", "sdk"], "health_score": 78, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["skyfielders/python-skyfield"], "name": "skyfielders/python-skyfield", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-07T20:19:03+00:00", "repo": "skyfielders/python-skyfield", "stars": 1758, "tags": ["astronomy", "ephemeris", "satellite-tracking", "astrometry", "celestial-mechanics", "science", "python"], "topics": [], "urls": [], "use_cases": ["compute high-precision positions of planets and Earth satellites", "calculate right ascension and declination of celestial objects", "track satellite passes and positions from a ground location", "generate research-grade ephemeris data for astronomy research", "determine distances between Earth and other planets", "script astronomical calculations in Python"], "what_it_is": "Skyfield is a pure-Python astronomy library that computes high-precision, research-grade positions for planets, moons, and Earth satellites using ephemeris files like de421.bsp. It has NumPy as its only binary dependency and offers an elegant API for calculating right ascension, declination, distances, and related celestial quantities.", "when_to_avoid": ["you need general-purpose astrophysics modeling beyond positional astronomy", "you require real-time telescope control or hardware integration", "you need a full-featured astronomy suite with image processing"], "when_to_choose": ["you need research-grade accuracy for planetary or satellite positions in Python", "you want a simple, elegant API with minimal binary dependencies", "you need compatibility across Python 2 and 3"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-skyfield", "repo": "skyfielders/python-skyfield", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "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:05:32.400590+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.400590+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:35.222395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "216e7ac63d64c5309256254d73dab2ddb9c4ad56ac82408ede8cb5ba10cd4491", "fetched_at": "2026-08-28T04:05:32.400590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/skyfielders/python-skyfield"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4963, "days_push": 26, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}