Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Django Rest Swagger | 2,516 | 2,031 | 41 | 3 years ago | 50 | April 30, 2018 | 168 | bsd-2-clause | Python | |
Swagger Documentation Generator for Django REST Framework: deprecated | ||||||||||
Djangorestframework Camel Case | 539 | 93 | 16 | a month ago | 16 | December 14, 2021 | 27 | other | Python | |
Camel case JSON support for Django REST framework. | ||||||||||
Django Rest Framework Csv | 286 | 228 | 11 | 2 years ago | 12 | May 16, 2021 | 27 | bsd-2-clause | Python | |
CSV Tools for Django REST Framework | ||||||||||
Drf Ujson Renderer | 118 | 9 | 4 years ago | 2 | April 07, 2015 | 11 | mit | Python | ||
Django Rest Framework renderer using ujson | ||||||||||
Django Rest Framework Msgpack | 76 | 4 | 4 years ago | 3 | April 22, 2017 | 6 | other | Python | ||
MessagePack support for Django REST framework | ||||||||||
River | 31 | 7 years ago | October 05, 2021 | 4 | apache-2.0 | Go | ||||
River is a simple and lightweight REST server | ||||||||||
Drf_ujson2 | 28 | 7 months ago | 4 | mit | Python | |||||
JSON parser and renderer using ujson for Django Rest Framework | ||||||||||
Django_restframework_apiview | 24 | 2 years ago | 2 | lgpl-3.0 | Python | |||||
Django REST_framework APIView | ||||||||||
Rest Framework Latex | 23 | 3 years ago | 10 | January 23, 2018 | 5 | mit | Python | |||
A LaTeX renderer for Django REST Framework | ||||||||||
Drf Pdf | 18 | 6 | 3 years ago | 2 | May 06, 2015 | 6 | mit | Python | ||
A simple PDF utils for Django Rest Framework |
Django Rest Framework renderer using ujson
pip install drf_ujson
You can then set the UJSONRenderer
class as your default renderer in your settings.py
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'drf_ujson.renderers.UJSONRenderer',
),
...
}
Also you can set the UJSONParser
class as your default parser in your settings.py
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'drf_ujson.parsers.UJSONParser',
),
...
}
This is on average 2.3x faster than the default JSON Serializer.
import timeit
setup = '''
from proposals.models import Proposal
from proposals.serializers import ProposalSerializer
from rest_framework.renderers import JSONRenderer
from drf_ujson.renderers import UJSONRenderer
proposals = Proposal.objects.all()
serialized = ProposalSerializer(proposals, many=True).data
'''
stdlib_test = '''
JSONRenderer().render(serialized)
'''
ujson_test = '''
UJSONRenderer().render(serialized)
'''
stdlib_result = timeit.repeat(stdlib_test, setup=setup, number=1, repeat=10)
ujson_result = timeit.repeat(ujson_test, setup=setup, number=1, repeat=10)
print stdlib_result
print sum(stdlib_result) / 10
print ujson_result
print sum(ujson_result) / 10
# stdlib results
[
0.004502058029174805,
0.004289865493774414,
0.006896018981933594,
0.0048198699951171875,
0.004084110260009766,
0.007154941558837891,
0.003937959671020508,
0.004029035568237305,
0.004770040512084961,
0.004539966583251953
]
# avg
0.00490238666534
# ujson results
[
0.0016620159149169922,
0.001817941665649414,
0.0015261173248291016,
0.0040950775146484375,
0.0021469593048095703,
0.001798868179321289,
0.001569986343383789,
0.0019931793212890625,
0.0017120838165283203,
0.001814126968383789
]
# avg
0.00201363563538