{"adoption": {"forks": 239, "observed_at": "2026-08-28T04:04:01.889138+00:00", "stars": 1220}, "canonical_url": "https://ross.abutalabs.com/products/qqwrydat", "card": {"archived": false, "artifact_type": "dataset", "description": "自动更新的纯真ip库，每天自动更新", "domain": ["networking", "developer-tools", "analytics"], "enriched": true, "function": ["search-engine", "developer-tools"], "health_score": 20, "homepage": null, "language": "Python", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["out0fmemory/qqwry.dat"], "name": "out0fmemory/qqwry.dat", "platform": ["cross-platform", "python"], "pushed_at": "2022-04-20T05:11:37+00:00", "repo": "out0fmemory/qqwry.dat", "stars": 1220, "tags": ["ip-geolocation", "qqwry", "china-ip-database", "auto-update", "dat-file"], "topics": ["ip", "location"], "urls": [], "use_cases": ["look up the geographic location of an IP address in China", "download the latest qqwry.dat file for my application", "keep an IP geolocation database automatically up to date", "get historical IP location databases for past dates", "integrate IP-to-region lookup into a log analysis tool", "resolve visitor IP addresses to cities and ISPs"], "what_it_is": "An automatically updated mirror of the QQWry (Chunzhen) IP geolocation database, refreshed daily with the latest .dat file plus historical archives. It also includes a Python update script that can be reused to fetch the newest IP database programmatically.", "when_to_avoid": ["you need global, high-accuracy commercial-grade IP geolocation (e.g., MaxMind)", "you need an API service rather than a raw data file", "you need IPv6 coverage, which QQWry does not provide", "you need actively maintained tooling rather than a data mirror"], "when_to_choose": ["you need the classic QQWry/Chunzhen IP database with daily freshness", "your project already parses qqwry.dat format and just needs updated data", "you mainly need IP geolocation coverage for Chinese IP addresses", "you want a scriptable way to fetch the newest IP database"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/qqwrydat", "repo": "out0fmemory/qqwry.dat", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "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:01.889138+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.889138+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:16:01.715699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0d1e32922ebf62f01041e205609ec6d4a58241ca6b481b5c582102f41013c09a", "fetched_at": "2026-08-28T04:04:01.889138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/out0fmemory/qqwry.dat"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3014, "days_push": 1596, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}