{"adoption": {"forks": 6993, "observed_at": "2026-08-28T04:12:08.889097+00:00", "stars": 42946}, "canonical_url": "https://ross.abutalabs.com/products/python-patterns", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A collection of design patterns/idioms in Python", "domain": ["developer-tools", "tutorials", "programming-languages"], "enriched": true, "function": ["developer-tools", "documentation"], "health_score": 79, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["faif/python-patterns"], "name": "faif/python-patterns", "platform": ["python"], "pushed_at": "2026-08-20T09:10:58+00:00", "repo": "faif/python-patterns", "stars": 42946, "tags": ["design-patterns", "idioms", "python", "educational", "code-examples"], "topics": ["python", "idioms", "design-patterns"], "urls": [], "use_cases": ["learn how to implement the singleton or factory pattern in Python", "find Pythonic idioms for common design patterns", "study examples of builder, adapter, and decorator patterns", "reference for software design pattern implementations", "prepare for interviews about design patterns in Python"], "what_it_is": "A curated collection of classic design patterns and Python-specific idioms implemented as small, annotated Python examples. It covers creational, structural, and behavioral patterns with explanations of trade-offs.", "when_to_avoid": ["you need a production-ready pattern library to import as a dependency", "you work in a language other than Python", "you need officially maintained, licensed code for commercial use (no license is provided)"], "when_to_choose": ["you want concise, runnable examples of design patterns in Python", "you are learning or teaching object-oriented design with Python", "you need a quick reference for pattern trade-offs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-patterns", "repo": "faif/python-patterns", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "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:12:08.889097+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:08.889097+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:22:36.347975+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0cb3231482321543413ee005499c7093150dbd074099db7677580e4ba930edbb", "fetched_at": "2026-08-28T04:12:08.889097+00:00", "kind": "readme", "missing": false, "url": "https://github.com/faif/python-patterns"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5201, "days_push": 13, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}