NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2458 most downloaded on PyPI
API key permissions for the Django REST Framework
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.5 years
Most releases are documented
notes for 15 of 23 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
24 releases · first in 2018
Add official support for Python 3.12 and 3.13, and Django 5.0 up to 5.2, accommodating changes to USE_TZ. (Pull #266)
USE_TZ. (Pull #266)USE_TZ. (Pull #266)Use faster SHA512-based key hasher instead of password hashers. Reduces server load by making API key validation orders of magnitude faster (10x to 30
.is_valid() is called. (Pull #244, Pull #251).has_object_permission() implementation on BaseHasAPIKey when using DRF 3.14.0 or above. (Pull #240)One column per quarter.
Drop support for Python 3.6, which has reached EOL. (Pull #210)
Added support for Django config detection for different versions (PR #187)
hashed_key field's max_length from 100 to 150 to address length issue with argon2-cffi (PR #193)Add support for custom API keyword. (Pull #175)
keyword. (Pull #175)NOTE: this release drops compatibility with certain Python and Django versions, but contains no other breaking changes. See Upgrade to 2.0 for detaile…
NOTE: this release drops compatibility with certain Python and Django versions, but contains no other breaking changes. See Upgrade to 2.0 for detailed migration steps.
BaseAPIKeyManager.get_from_key() to allow retrieving API keys from views. (Pull #93)django-stubs and djangorestframework-stubs. (Pull #88, Pull #122)Bump version: 1.4.0 → 1.4.1
Bump version: 1.4.0 → 1.4.1
Bump version: 1.3.0 → 1.4.0
Bump version: 1.3.0 → 1.4.0
NOTE: this release contains migrations. See Upgrade to v1.4 for detailed instructions.
prefix and hashed_key are now stored in dedicated fields on the APIKey model. (Pull #62)Bump version: 1.3.0.b0 -> 1.3.0
Bump version: 1.3.0.b0 -> 1.3.0
NOTE: this release contains migrations. In your Django project, run them using:
python manage.py migrate rest_framework_api_key
AbstractAPIKey) and base manager (BaseAPIKeyManager). (Pull #36)BaseHasAPIKey). (Pull #46)id field of APIKey is now non-editable.APIKeyModelAdmin does not define fieldsets anymore. This allows subclasses to benefit from Django's automatic fieldsets. (Pull #52)utf-8 encoding in setup.py, which could previously lead to issues when installing on certain systems. (Pull #58)Bump version: 1.2.1 -> 1.3.0.b0
Bump version: 1.2.1 -> 1.3.0.b0
Fixed a critical bug in APIKeyModelAdmin that prevented rest_framework_api_key from passing Django system checks. (Pull #39)
APIKeyModelAdmin that prevented rest_framework_api_key from passing Django system checks. (Pull #39)NOTE: this release contains migrations. In your Django project, run them using:
NOTE: this release contains migrations. In your Django project, run them using:
python manage.py migrate rest_framework_api_key
expiry_date. (Pull #33) HasAPIKey denies access if the API key has expired, i.e. if expiry_date, if set, is in the past.prefix in the API key admin panel.prefix is now displayed in the edit view of the API key admin panel.Improve documentation on which password hasher is used.
This release is incompatible with 0.x. See Upgrade to 1.0 for migration steps.
This release is incompatible with 0.x. See Upgrade to 1.0 for migration steps.
HasAPIKeyOrIsAuthenticated permission class. You should use bitwise composition now, e.g. HasAPIKey | IsAuthenticated.DRF_API_KEY_* settings. (Pull #19)Authorization by default. It can be customized using the API_KEY_CUSTOM_HEADER setting (Pull #26). Use the name field to identify clients.APIKey.objects.create_key(). (Pull #19)Drop support for Python 3.4. Only 3.5, 3.6 and 3.7 are supported now.
HasAPIKey now implements .has_object_permissions(), which allows to compose it with other permission classes and perform object-level permission checks. (Pull #25)HasAPIKey and HasAPIKeyOrIsAuthenticated permission classes.
Initial changelog entry.
APIKey model.HasAPIKey and HasAPIKeyOrIsAuthenticated permission classes.Api-Token and Api-Secret-Key headers. Customizable via the DRF_API_KEY_TOKEN_HEADER and DRF_API_KEY_SECRET_KEY_HEADER settings.Initial changelog entry.
APIKey model.
HasAPIKey and HasAPIKeyOrIsAuthenticated permission classes.
Generate, view and revoke API keys from the Django admin.
Authenticate requests using the Api-Token and Api-Secret-Key headers. Customizable via the DRF_API_KEY_TOKEN_HEADER and DRF_API_KEY_SECRET_KEY_HEADER settings.
You can’t perform that action at this time.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →