{"adoption": {"forks": 471, "observed_at": "2026-08-28T04:07:45.318777+00:00", "stars": 3129}, "canonical_url": "https://ross.abutalabs.com/products/propertree", "card": {"archived": false, "artifact_type": "application", "description": "Cross platform GUI plist editor written in python.", "domain": ["developer-tools", "cross-platform", "files"], "enriched": true, "function": ["gui", "developer-tools", "configuration-management", "serialization"], "health_score": 73, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["corpnewt/ProperTree"], "name": "corpnewt/ProperTree", "platform": ["cross-platform", "python", "windows"], "pushed_at": "2026-06-20T18:40:52+00:00", "repo": "corpnewt/ProperTree", "stars": 3129, "tags": ["plist-editor", "tkinter", "opencore", "hackintosh", "config-plist", "property-list", "macos", "linux", "desktop"], "topics": [], "urls": [], "use_cases": ["edit macOS plist files with a gui", "edit OpenCore config.plist", "generate OC snapshot for kexts and ACPI entries", "convert plist values between base64 hex ascii and decimal", "view and edit binary property lists", "reorder plist dictionary keys with drag and drop"], "what_it_is": "ProperTree is a cross-platform GUI plist editor written in Python and Tkinter, supporting XML and binary property lists. It includes OpenCore/Clover-specific features like OC Clean Snapshot and context-aware config.plist templates.", "when_to_avoid": ["you need scripted or headless plist manipulation (use plutil or Python libraries)", "you only edit plists occasionally on macOS and already have Xcode installed"], "when_to_choose": ["you need a free cross-platform plist editor without Xcode", "you maintain Hackintosh OpenCore or Clover configurations", "you want drag-and-drop, undo/redo, and find/replace for plists"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/propertree", "repo": "corpnewt/ProperTree", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "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:07:45.318777+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:45.318777+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:26:17.921435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8662c5926ec420fb7fa92245004d2b5637032b07867b4af50e2e44d162b5c3d6", "fetched_at": "2026-08-28T04:07:45.318777+00:00", "kind": "readme", "missing": false, "url": "https://github.com/corpnewt/ProperTree"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "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": 2679, "days_push": 74, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}