{"adoption": {"forks": 634, "observed_at": "2026-08-28T04:04:53.702571+00:00", "stars": 1496}, "canonical_url": "https://ross.abutalabs.com/products/duilib_ultimate", "card": {"archived": false, "artifact_type": "library", "description": "duilib 旗舰版-高分屏、多语言、样式表、资源管理器、异形窗口、窗口阴影、简单动画", "domain": ["desktop-applications", "web-design", "cross-platform"], "enriched": true, "function": ["ui-components", "graphics", "internationalization"], "health_score": 83, "homepage": "https://blog.csdn.net/duisharp?f=github", "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["qdtroy/DuiLib_Ultimate"], "name": "qdtroy/DuiLib_Ultimate", "platform": ["windows", "cpp", "c"], "pushed_at": "2026-08-03T09:57:23+00:00", "repo": "qdtroy/DuiLib_Ultimate", "stars": 1496, "tags": ["duilib", "directui", "high-dpi", "skia-free-ui", "window-shadows", "stylesheet", "resource-manager", "chinese-open-source"], "topics": ["duilib", "directui"], "urls": [], "use_cases": ["build native windows desktop app ui in c++", "high dpi aware win32 gui library", "create irregular shaped windows with shadows", "multilingual desktop application ui", "style ui controls with stylesheets", "lightweight alternative to qt for windows ui", "fix duilib bugs and get maintained fork"], "what_it_is": "DuiLib_Ultimate is an enhanced, actively maintained fork of the duilib DirectUI library for building lightweight, high-performance Windows desktop application UIs. It adds high-DPI support, multi-language support, control stylesheets, a resource manager, irregular windows, window shadows, and simple animations, while fixing many upstream bugs.", "when_to_avoid": ["building cross-platform applications targeting macOS or Linux", "you need a full-featured framework with extensive third-party ecosystem like Qt", "your project is not C/C++ based"], "when_to_choose": ["developing Windows-only desktop applications in C/C++ needing a lightweight UI framework", "you need high-DPI scaling, multi-language UI, or styled controls in duilib", "you want an actively maintained duilib with bug fixes and examples"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/duilib_ultimate", "repo": "qdtroy/DuiLib_Ultimate", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "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:53.702571+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:53.702571+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:14.790339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c263959ced95722072fafa0c3bb6e6bdbd7e3f0b5f1ddbabb1e0c3d28d8a1449", "fetched_at": "2026-08-28T04:04:53.702571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qdtroy/DuiLib_Ultimate"}, {"content_hash": "59c1cfbfbd622cd4acbe9059e71c079770583ea5d3df883be157f78ba26ba158", "fetched_at": "2026-08-29T11:39:05.163733+00:00", "kind": "homepage", "missing": false, "url": "https://blog.csdn.net/duisharp?f=github"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 8}, "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": 4102, "days_push": 30, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}