{"adoption": {"forks": 212, "observed_at": "2026-08-28T04:04:45.597959+00:00", "stars": 1449}, "canonical_url": "https://ross.abutalabs.com/products/psd-tools", "card": {"archived": false, "artifact_type": "library", "description": "Python package for reading Adobe Photoshop PSD files", "domain": ["image-processing", "files", "developer-tools"], "enriched": true, "function": ["image-processing", "parser", "file-system"], "health_score": 100, "homepage": "https://psd-tools.readthedocs.io/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["psd-tools/psd-tools"], "name": "psd-tools/psd-tools", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-26T10:18:14+00:00", "repo": "psd-tools/psd-tools", "stars": 1449, "tags": ["psd", "photoshop", "psb", "pil", "numpy", "layer-compositing"], "topics": ["python", "photoshop", "psd"], "urls": [], "use_cases": ["read psd files in python", "export photoshop layers to png", "convert psd to images programmatically", "parse photoshop file structure", "composite psd layers without photoshop", "extract layer images from psd", "automate psd file processing"], "what_it_is": "psd-tools is a Python package for reading and manipulating Adobe Photoshop PSD/PSB files. It parses the low-level file structure, exports layer images as NumPy arrays or PIL images, and supports limited compositing and editing of layers.", "when_to_avoid": ["you need full-fidelity rendering of all layer effects, fonts, or smart objects", "you need to edit text or type layers", "you need a GUI tool for Photoshop files"], "when_to_choose": ["you need to read or export PSD/PSB files from Python", "you want to inspect low-level Photoshop file structures", "you need basic layer compositing or pixel layer editing without Photoshop"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/psd-tools", "repo": "psd-tools/psd-tools", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "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:45.597959+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.597959+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:01.016496+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b8f4345cb96f71771fe9155ad37eaa89abdc3fd11a79fb3854adaba763052f76", "fetched_at": "2026-08-28T04:04:45.597959+00:00", "kind": "readme", "missing": false, "url": "https://github.com/psd-tools/psd-tools"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 96}, "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": 5071, "days_push": 7, "days_rel": 26, "gap_med": 10, "n_releases_24m": 34}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}