djangorestframework
Web APIs for Django, made easy.
Install
djangorestframework on PyPI
pip
pip install djangorestframeworkuv
uv add djangorestframeworkpoetry
poetry add djangorestframeworkPackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — django |
| Maintenance | actively maintained — 6 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: djangorestframework-3.18.0-py3-none-any.whl
About djangorestframework
from the package's own PyPI description — quoted content, verbatim
[Django REST framework][docs]
[![build-status-image]][build-status] [![coverage-status-image]][codecov] [![pypi-version]][pypi]
Awesome web-browsable Web APIs.
Full documentation for the project is available at [https://www.django-rest-framework.org/][docs].
Overview
Django REST framework is a powerful and flexible toolkit for building Web APIs.
Some reasons you might want to use REST framework:
- The Web browsable API is a huge usability win for your developers.
- [Authentication policies][authentication] including optional packages for [OAuth1a][oauth1-section] and [OAuth2][oauth2-section].
- [Serialization][serializers] that supports both [ORM][modelserializer-section] and [non-ORM][serializer-section] data sources.
- Customizable all the way down - just use [regular function-based views][functionview-section] if you don't need the [more][generic-views] [powerful][viewsets] [features][routers].
- [Extensive documentation][docs], and [great community support][group].
Below: Screenshot from the browsable API
![Screenshot][image]
Requirements
- Python 3.10+
- Django 5.2, 6.0, 6.1
We highly recommend and only officially support the...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
djangorestframework builds web APIs on top of Django with automatic serialization, authentication, and a browsable web interface for developers.
Low install friction with a single runtime dependency on django. Actively maintained with a release 6 days ago; supports Python 3.10+ and Django 5.2, 6.0, 6.1.
BSD-3-Clause permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.
Usage
pip install djangorestframework
# In Django settings.py
INSTALLED_APPS = ['rest_framework']
# In urls.py
from django.contrib.auth.models import User
from django.urls import include, path
from django.urls import include
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ['url', 'username', 'email']
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = [path('', include(router.urls))]
Requires Python 3.10+ and Django 5.2, 6.0, or 6.1; a Django project must already be initialized.
Verdict: djangorestframework is a mature, actively maintained framework (Production/Stable) with strong community adoption and zero known vulnerabilities. Low install friction and permissive licensing make it a reliable choice for building REST APIs on Django.
Needs verification
- Whether optional OAuth1a and OAuth2 packages are maintained and their current security status.
- Performance characteristics and scalability limits for high-traffic API deployments.
- Community size and support availability beyond official documentation.
Similar packages
permissive · top 1,000 on PyPI
fastapi-clipermissive · top 1,000 on PyPI
Flask-Loginpermissive · top 1,000 on PyPI
factory-boypermissive · top 1,000 on PyPI
celerypermissive · top 1,000 on PyPI
msgspecpermissive · top 1,000 on PyPI
oauthlibpermissive · top 1,000 on PyPI
simple-salesforcepermissive · top 1,000 on PyPI
sshtunnelpermissive · top 1,000 on PyPI
email-validatorpermissive · top 1,000 on PyPI