djangorestframework-simplejwt
A minimal JSON Web Token authentication plugin for Django REST Framework
Decision gist · record as of 2026-08-14
Yes. This is a production-stable, actively maintained package with no known vulnerabilities, low install friction, and a permissive MIT license. It is the standard JWT authentication choice for Django REST Framework and is widely used in the ecosystem. Install it if you need token-based authentication for a DRF API.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires django and djangorestframework to be installed and configured; assumes a working DRF project structure.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained with recent commits and a stable production status across Django 4.2 through 5.2 and Python 3.9–3.13.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely as long as you include the original license notice.
last release 2025-07-21 (389 days) · last repo commit 2026-08-10 · 4,330 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,316,327 downloads/mo, #1,635 on PyPI
Alternatives
Verify before relying
pip install djangorestframework-simplejwt
from djangorestframework_simplejwt.views import TokenObtainPairView
from djangorestframework_simplejwt.authentication import JWTAuthentication
# In urls.py: path('api/token/', TokenObtainPairView.as_view())
# In views: authentication_classes = [JWTAuthentication]- Whether token refresh and expiration strategies are configurable for different security requirements.
- Support for custom claim serialization or non-standard JWT payloads beyond the documented defaults.
- Specific implementation details of the token lifecycle and refresh flow.
What it is and what it does
Simple JWT is a minimal authentication plugin that adds JSON Web Token support to Django REST Framework. It sits between your DRF views and incoming requests, validating bearer tokens in the Authorization header and attaching the authenticated user to the request object. The package handles token issuance on login and validation on each request, integrating directly into DRF's authentication and permission system.
It depends on django, djangorestframework, and pyjwt to handle the cryptographic signing and verification. The package is designed for stateless API authentication—tokens are self-contained and don't require server-side session storage. Once configured, protected views work like any other DRF permission class.
Use it for
- Secure a REST API with token-based authentication that doesn't require server-side session storage.
- Authenticate microservices or third-party integrations using bearer tokens in the Authorization header.
- Add JWT authentication to an existing Django REST Framework project with minimal configuration.
- Build stateless authentication for horizontally scaled API servers without shared session backends.
- Integrate token-based auth into mobile or SPA clients that need to authenticate with a Django API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This is a production-stable, actively maintained package with no known vulnerabilities, low install friction, and a permissive MIT license. It is the standard JWT authentication choice for Django REST Framework and is widely used in the ecosystem. Install it if you need token-based authentication for a DRF API.
Install
djangorestframework-simplejwt on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and a stable production status across Django 4.2 through 5.2 and Python 3.9–3.13.
Requires django and djangorestframework to be installed and configured; assumes a working DRF project structure.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely as long as you include the original license notice.
Quickstart
pip install djangorestframework-simplejwt
from djangorestframework_simplejwt.views import TokenObtainPairView
from djangorestframework_simplejwt.authentication import JWTAuthentication
# In urls.py: path('api/token/', TokenObtainPairView.as_view())
# In views: authentication_classes = [JWTAuthentication]
Verify before relying
- Whether token refresh and expiration strategies are configurable for different security requirements.
- Support for custom claim serialization or non-standard JWT payloads beyond the documented defaults.
- Specific implementation details of the token lifecycle and refresh flow.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesdjangodjangorestframeworkpyjwt |
| Maintenance | Actively maintained 389 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,316,327 / month, #1,635 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.0Framework :: Django :: 5.1Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTP |
Evidence: djangorestframework_simplejwt-5.5.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bearer token django rest”
- djangorestframework-simplejwtProvides JSON Web Token (JWT) authentication for Django REST…
- drf-jwtAdds JSON Web Token (JWT) authentication to Django REST Framework…
- djangorestframework-jwtAdds JSON Web Token (JWT) authentication support to Django REST…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also django-ninja-jwt · drf-jwt · djangorestframework-jwt · djangorestframework-api-key · djoser · django-sesame · django-graphql-jwt · django-rest-knox · edx-drf-extensions · dj-rest-auth