{"adoption": {"forks": 303, "observed_at": "2026-08-28T04:06:53.112491+00:00", "stars": 2454}, "canonical_url": "https://ross.abutalabs.com/products/fengyunweather", "card": {"archived": false, "artifact_type": "application", "description": "风云天气是Android 平台开源天气 App，采用Kotlin、Room、OKHttp3、 协程等框架实现。", "domain": ["weather", "android-tools", "mobile-development", "cross-platform"], "enriched": true, "function": ["gui", "http-client", "caching", "image-processing"], "health_score": 32, "homepage": null, "language": "Kotlin", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["wdsqjq/FengYunWeather"], "name": "wdsqjq/FengYunWeather", "platform": ["jvm"], "pushed_at": "2025-05-08T08:49:51+00:00", "repo": "wdsqjq/FengYunWeather", "stars": 2454, "tags": ["weather-app", "kotlin", "mvvm", "open-source-android", "weather-forecast", "air-quality", "heweather-api", "amap-location", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["check daily and hourly weather forecasts on android", "view air quality index for chinese cities", "manage and search cities with fuzzy suggestions", "add a weather widget to the home screen", "learn android app development with kotlin and mvx", "customize app skin with plugin theming"], "what_it_is": "FengYunWeather is an open-source Android weather app written in Kotlin using MVX architecture with coroutines, OkHttp, Room, and Coil. It provides global daily and hourly forecasts, air quality data for Chinese cities, weather animations, widgets, and skin theming.", "when_to_avoid": ["you need an iOS or desktop weather app", "you cannot obtain a HeWeather API key or AMap location key", "you want to reuse the code in a commercial closed-source product (GPL-3.0 forbids it)"], "when_to_choose": ["you want an open-source android weather app you can self-build", "you are a beginner looking for a clean kotlin android codebase to study", "you need hourly forecast curves, sun/moon times, and weather effects"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fengyunweather", "repo": "wdsqjq/FengYunWeather", "role": "main", "score": 41}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "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:06:53.112491+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.112491+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:30:08.250918+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ff3ad9d7409a923735d18648a0a2a695ed9369f3b61810d3da4ab188a4f56fd", "fetched_at": "2026-08-28T04:06:53.112491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wdsqjq/FengYunWeather"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 20, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2225, "days_push": 482, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 41, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}