{"adoption": {"forks": 1160, "observed_at": "2026-08-28T04:09:10.882816+00:00", "stars": 5119}, "canonical_url": "https://ross.abutalabs.com/products/iscript", "card": {"archived": false, "artifact_type": "cli-tool", "description": "各种脚本 -- 关于 虾米 xiami.com, 百度网盘 pan.baidu.com, 115网盘 115.com, 网易音乐 music.163.com, 百度音乐 music.baidu.com, 360网盘/云盘 yunpan.cn, 视频解析 flvxz.com, bt torrent ↔ magnet, ed2k 搜索, tumblr 图片下载, unzip", "domain": ["developer-tools", "media", "files"], "enriched": true, "function": ["http-client", "web-scraping", "cli", "file-system", "compression"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["PeterDing/iScript"], "name": "PeterDing/iScript", "platform": ["windows", "python", "cli"], "pushed_at": "2022-10-25T18:53:06+00:00", "repo": "PeterDing/iScript", "stars": 5119, "tags": ["baidu-netdisk", "music-downloader", "magnet-torrent", "tumblr", "python2", "media-download", "ed2k", "command-line", "automation", "linux"], "topics": ["python2", "baiduyun", "xiami", "magnet-torrent", "tumblr", "unzip", "music", "iscript"], "urls": [], "use_cases": ["download high-quality music from xiami or netease from the command line", "convert between magnet links and torrent files", "download all images and videos from a tumblr blog", "upload and download files from baidu netdisk via terminal", "search for ed2k emule links", "fix garbled filenames when unzipping archives on linux", "download leetcode algorithm problems for offline study"], "what_it_is": "A collection of Python 2 command-line scripts for downloading and playing media from Chinese services like Xiami, NetEase Music, Baidu Music, Baidu Netdisk, 115, and 360 cloud drives, plus utilities like magnet/torrent conversion, ed2k search, Tumblr media downloading, and unzip filename fixing. Most services are defunct and the Baidu Netdisk script was superseded by BaiduPCS-Py.", "when_to_avoid": ["you need a maintained tool - most target services (Xiami, 360, Baidu Music) have shut down and the code is Python 2", "you want Baidu Netdisk support - use the successor BaiduPCS-Py instead", "you need Python 3 compatibility or modern packaging"], "when_to_choose": ["you need a lightweight terminal client for one of the supported Chinese media or cloud services", "you want a simple script to convert magnet links to torrents or vice versa", "you need to batch-download tumblr media"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/iscript", "repo": "PeterDing/iScript", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "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:09:10.882816+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:10.882816+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:02:06.041531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b1fe014c593cbdcd3537d1b761ee2b83217961159bad1333d4d27bc332c1871", "fetched_at": "2026-08-28T04:09:10.882816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterDing/iScript"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4512, "days_push": 1408, "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}}