{"adoption": {"forks": 301, "observed_at": "2026-08-28T04:04:08.369974+00:00", "stars": 1252}, "canonical_url": "https://ross.abutalabs.com/products/django-rest-framework-json-api", "card": {"archived": false, "artifact_type": "library", "description": "JSON:API support for Django REST framework", "domain": ["web-development", "backend", "apis"], "enriched": true, "function": ["serialization", "api-framework", "middleware"], "health_score": 92, "homepage": "https://django-rest-framework-json-api.readthedocs.org/", "language": "Python", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["django-json-api/django-rest-framework-json-api"], "name": "django-json-api/django-rest-framework-json-api", "platform": ["python"], "pushed_at": "2026-08-02T10:47:52+00:00", "repo": "django-json-api/django-rest-framework-json-api", "stars": 1252, "tags": ["-api", "django-rest-framework", "django", "rest-api", "api-spec-compliance"], "topics": ["python", "json-api", "django-rest-framework", "hacktoberfest"], "urls": [], "use_cases": ["build a JSON:API compliant REST API with Django", "format Django REST framework responses according to the api.org spec", "add pagination links and meta objects to DRF API responses", "serve resource objects with type, id, and attributes from Django models", "migrate an existing DRF API to JSON:API format", "handle JSON:API content type parsing in Django"], "what_it_is": "A library that adds JSON:API specification support to Django REST framework, transforming default DRF responses into compliant JSON:API format with pagination, links, and resource objects. It integrates as renderers, parsers, and exception handlers within existing DRF-based Django projects.", "when_to_avoid": ["your API does not need to follow the JSON:API specification", "you use Flask, FastAPI, or a non-Django framework", "you need a fully custom response format that diverges from JSON:API"], "when_to_choose": ["you use Django REST framework and need strict JSON:API spec compliance", "clients or tools require the JSON:API media type and document structure", "you want pagination, sparse fieldsets, and includes handled per the spec with sane defaults"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/django-rest-framework-json-api", "repo": "django-json-api/django-rest-framework-json-api", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "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:08.369974+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.369974+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:32.818140+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad2b03c75a32887b7207f594f78a0ad3dfc745617b60c1a5ac812d87d8b878a0", "fetched_at": "2026-08-28T04:04:08.369974+00:00", "kind": "readme", "missing": false, "url": "https://github.com/django-json-api/django-rest-framework-json-api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 28}, "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": 4429, "days_push": 31, "days_rel": 320, "gap_med": 178.0, "n_releases_24m": 3}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}