// the find
django-json-api/django-rest-framework-json-api
JSON:API support for Django REST framework
A Django REST framework extension that makes your API output conform to the JSON:API spec — structured `data`/`attributes`/`relationships` envelope, proper pagination links, sparse fieldsets, and compound documents via `include`. If you're building an API that needs to interoperate with JSON:API clients (Ember Data, JSONAPI Resources, etc.) or just want a standardized response shape, this is the established Python option for it.
Tracks current Django and DRF releases well — supports Python 3.10–3.14, Django 4.2–6.0, and the latest two DRF series, so you won't get stranded on an old stack. The settings-level configuration is clean: swap in the parsers, renderers, and pagination class globally and most views just work without per-viewset boilerplate. Test coverage is genuine — there's a full example app with integration tests across pagination, polymorphism, sparse fieldsets, and sideloading, not just unit tests of internal utils. The `django-polymorphic` integration is a real differentiator if you have polymorphic models, which is one of the messier problems in JSON:API implementations.
1,249 stars for a project that's been around since roughly 2015 is a quiet signal — this has a narrow audience and the community around it is small. If you hit an edge case (and JSON:API has many: relationship links, `meta` on relationships, atomic operations) you're likely reading source code, not finding a Stack Overflow answer. The JSON:API spec itself is verbose and the library faithfully reproduces that verbosity — simple CRUD endpoints become noticeably chattier over the wire. There's also no support for JSON:API Atomic Operations (the extension for batching writes), which is increasingly expected in serious JSON:API deployments. The OpenAPI/schema support lives in a near-empty `schemas/` directory, so generated docs won't reflect the JSON:API envelope correctly.