{"adoption": {"forks": 137, "observed_at": "2026-08-28T04:06:21.154569+00:00", "stars": 2163}, "canonical_url": "https://ross.abutalabs.com/products/django-widget-tweaks", "card": {"archived": false, "artifact_type": "library", "description": "Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered. ", "domain": ["web-development", "frontend", "backend"], "enriched": true, "function": ["templating", "form-handling", "ui-components"], "health_score": 92, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["jazzband/django-widget-tweaks"], "name": "jazzband/django-widget-tweaks", "platform": ["python"], "pushed_at": "2026-08-24T17:41:35+00:00", "repo": "jazzband/django-widget-tweaks", "stars": 2163, "tags": ["django", "template-tags", "form-rendering", "css-classes", "html-attributes", "web-server"], "topics": [], "urls": [], "use_cases": ["add css classes to django form fields in templates", "customize form field html attributes without changing python forms", "render django form fields with html-like syntax", "let designers style form fields without touching backend code", "add placeholder or input type attributes to django widgets", "apply error and required css classes to form fields"], "what_it_is": "A Django app providing template tags and filters for tweaking form field rendering directly in templates, allowing CSS classes and HTML attributes to be altered without touching Python form definitions. It lets designers customize field presentation using an HTML-like syntax.", "when_to_avoid": ["you don't use Django or its template engine", "you need deep widget customization better handled in Python form/widget definitions", "your forms are rendered client-side with a JavaScript framework"], "when_to_choose": ["you use Django templates and want to tweak form field HTML from the template layer", "designers or front-end developers need to adjust form presentation without Python changes", "you need to append CSS classes or set HTML5 attributes on form inputs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/django-widget-tweaks", "repo": "jazzband/django-widget-tweaks", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "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:06:21.154569+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.154569+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:50:12.002729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d867ac5411de6795c4999299280012d9e9b7ddce9e4e6ce162ce7fc6a57996", "fetched_at": "2026-08-28T04:06:21.154569+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jazzband/django-widget-tweaks"}, {"content_hash": "fb60c8d067dcdce350936769006a699cfe726c0e340bdd6a34ef30e1f3a2b591", "fetched_at": "2026-08-29T10:29:53.253761+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/django-widget-tweaks/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 5294, "days_push": 9, "days_rel": 495, "gap_med": null, "n_releases_24m": 1}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}