{"adoption": {"forks": 663, "observed_at": "2026-08-28T04:08:34.666813+00:00", "stars": 4094}, "canonical_url": "https://ross.abutalabs.com/products/iztro", "card": {"archived": false, "artifact_type": "library", "description": "⭐This is a lightweight kit for generating astrolabes for Zi Wei Dou Shu (The Purple Star Astrology), an ancient Chinese astrology. It allows you to obtain your horoscope and personality analysis. 支持多语言轻量级获取紫微斗数排盘信息的javascript开源库。", "domain": ["developer-tools", "cross-platform"], "enriched": true, "function": ["sdk", "data-generation"], "health_score": 99, "homepage": "https://iztro.com", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["SylarLong/iztro"], "name": "SylarLong/iztro", "platform": [], "pushed_at": "2026-08-19T15:46:01+00:00", "repo": "SylarLong/iztro", "stars": 4094, "tags": ["astrology", "ziweidoushu", "purple-star-astrology", "horoscope", "natal-chart", "astrolabe", "chinese-astrology", "multilingual", "nodejs", "typescript", "javascript"], "topics": ["astrolabe", "astrology", "horoscope", "ziweidoushu", "chinese-astrology", "javascript", "npm", "typescript", "natal-chart"], "urls": [], "use_cases": ["generate a zi wei dou shu natal chart from birth date", "build an astrology app that computes purple star astrolabes", "get horoscope and personality analysis from birth data", "calculate chinese zodiac and star signs in javascript", "render a ziweidoushu star chart in a web app", "add multilingual purple star astrology charting to a project"], "what_it_is": "A lightweight, multilingual TypeScript/JavaScript library for generating Zi Wei Dou Shu (Purple Star Astrology) natal charts and horoscope data from birth date, time, and gender. It computes star placements, zodiac signs, and personality analysis data for use in applications.", "when_to_avoid": ["you need western astrology or other divination systems", "you want a ready-made chart UI rather than a data library", "you need the hosted AI interpretation models - those are separate paid API services, not part of this open-source package"], "when_to_choose": ["you need programmatic zi wei dou shu chart generation in JavaScript/TypeScript", "you want a lightweight, MIT-licensed npm library with i18n support", "you're building an astrology frontend or API and need chart data, not just visuals"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/iztro", "repo": "SylarLong/iztro", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "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:08:34.666813+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:34.666813+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:19.803653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "84fd7ac1c7c5bdc5449e350dfa5a25103909311faef5155827cacb6d233dc661", "fetched_at": "2026-08-28T04:08:34.666813+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SylarLong/iztro"}, {"content_hash": "72e42a06a93ab4c7ed3d0140dff1248ff5ecc2dda06d6e0d2482719a3708fd0d", "fetched_at": "2026-08-29T09:15:12.488289+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/iztro"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 80, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1133, "days_push": 14, "days_rel": 18, "gap_med": 25.5, "n_releases_24m": 11}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}