{"adoption": {"forks": 1017, "observed_at": "2026-08-28T04:09:04.336242+00:00", "stars": 4992}, "canonical_url": "https://ross.abutalabs.com/products/zlphotobrowser", "card": {"archived": false, "artifact_type": "library", "description": "Wechat-like image picker. Support select photos, videos, gif and livePhoto. Support edit image and crop video. 微信样式的图片选择器，支持预览/相册内拍照及录视频、拖拽/滑动选择，编辑图片/视频，支持多语言国际化等功能; ", "domain": ["mobile-development", "media", "photography"], "enriched": true, "function": ["ui-components", "image-processing", "video-processing", "file-upload"], "health_score": 99, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["longitachi/ZLPhotoBrowser"], "name": "longitachi/ZLPhotoBrowser", "platform": [], "pushed_at": "2026-08-26T02:45:51+00:00", "repo": "longitachi/ZLPhotoBrowser", "stars": 4992, "tags": ["image-picker", "wechat-style", "photo-library", "video-picker", "image-editor", "video-editor", "swiftui", "camera", "gif", "live-photo", "ios", "swift", "mobile"], "topics": ["imagepicker", "editimage", "editvideo", "photos", "gif", "livephoto", "photolibrary", "picker", "swift", "gallery", "ios"], "urls": [], "use_cases": ["pick multiple photos and videos from the iOS photo library", "let users select GIFs and Live Photos in an app", "crop and edit images before uploading", "trim and crop videos in-app", "capture photos or record video from a custom in-app camera", "build a WeChat-like media selection UI in Swift or SwiftUI"], "what_it_is": "A WeChat-style photo/video picker library for iOS written in Swift. It supports selecting photos, videos, GIFs, and Live Photos, with built-in image editing, video cropping, custom camera, and multi-language support.", "when_to_avoid": ["building for Android or cross-platform frameworks without native iOS interop", "you only need image editing without a picker (use ZLImageEditor instead)", "you need a picker for non-Apple platforms or macOS"], "when_to_choose": ["building an iOS app in Swift or Objective-C that needs media selection", "you want a familiar WeChat-style picker with editing built in", "you need SwiftUI support, iPad multi-window, and multi-language UI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/zlphotobrowser", "repo": "longitachi/ZLPhotoBrowser", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "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:04.336242+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.336242+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:38.745232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5aac51e6af24d142574b6220600edca30695cedb8dae04d4b6ab369b442eb3bd", "fetched_at": "2026-08-28T04:09:04.336242+00:00", "kind": "readme", "missing": false, "url": "https://github.com/longitachi/ZLPhotoBrowser"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 78}, "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": 3928, "days_push": 7, "days_rel": 69, "gap_med": 41, "n_releases_24m": 12}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}