{"adoption": {"forks": 305, "observed_at": "2026-08-28T04:07:21.442253+00:00", "stars": 2777}, "canonical_url": "https://ross.abutalabs.com/products/sony-pmca-re", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Reverse Engineering Sony Digital Cameras", "domain": ["hardware", "reverse-engineering", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "cli", "gui", "security"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ma1co/Sony-PMCA-RE"], "name": "ma1co/Sony-PMCA-RE", "platform": ["windows", "python", "cli"], "pushed_at": "2024-07-27T23:58:31+00:00", "repo": "ma1co/Sony-PMCA-RE", "stars": 2777, "tags": ["sony-cameras", "firmware", "usb", "playmemories", "camera-hacking", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["install custom android apps on sony camera", "dump sony camera firmware over usb", "tweak hidden settings on sony camera", "run telnet or adb server on sony camera", "execute custom code on camera via firmware update mode"], "what_it_is": "A tool that interfaces with Sony digital cameras over USB to tweak settings, dump firmware, and install custom Android apps via the PlayMemories Camera Apps mechanism. It ships as a command-line application (pmca-console) and a limited GUI (pmca-gui).", "when_to_avoid": ["your camera uses CXD90045 or CXD90057 architectures, which are incompatible", "you need a polished, fully supported consumer tool rather than a hacky reverse-engineering utility", "you are not comfortable with USB driver setup and potential device risks"], "when_to_choose": ["you own a supported Sony camera with PlayMemories Camera Apps and want to unlock hidden features", "you want to dump or analyze Sony camera firmware", "you want to sideload custom Android apps onto a Sony camera"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sony-pmca-re", "repo": "ma1co/Sony-PMCA-RE", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "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:21.442253+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.442253+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:16:31.401588+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92e61691f7c2518e2efbd7ab22a63e0781ccc35d2051fd244f1aa8a885f211eb", "fetched_at": "2026-08-28T04:07:21.442253+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ma1co/Sony-PMCA-RE"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4131, "days_push": 767, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}