Drf Ujson Renderer

Django Rest Framework renderer using ujson
Alternatives To Drf Ujson Renderer
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Django Rest Swagger2,5162,031413 years ago50April 30, 2018168bsd-2-clausePython
Swagger Documentation Generator for Django REST Framework: deprecated
Djangorestframework Camel Case5399316a month ago16December 14, 202127otherPython
Camel case JSON support for Django REST framework.
Django Rest Framework Csv286228112 years ago12May 16, 202127bsd-2-clausePython
CSV Tools for Django REST Framework
Drf Ujson Renderer118
94 years ago2April 07, 201511mitPython
Django Rest Framework renderer using ujson
Django Rest Framework Msgpack76
44 years ago3April 22, 20176otherPython
MessagePack support for Django REST framework
River31
7 years agoOctober 05, 20214apache-2.0Go
River is a simple and lightweight REST server
Drf_ujson228
7 months ago4mitPython
JSON parser and renderer using ujson for Django Rest Framework
Django_restframework_apiview24
2 years ago2lgpl-3.0Python
Django REST_framework APIView
Rest Framework Latex23
3 years ago10January 23, 20185mitPython
A LaTeX renderer for Django REST Framework
Drf Pdf18
63 years ago2May 06, 20156mitPython
A simple PDF utils for Django Rest Framework
Alternatives To Drf Ujson Renderer
Select To Compare


Alternative Project Comparisons
Readme

Django Rest Framework UJSON Renderer

Build Status

Django Rest Framework renderer using ujson

Installation

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',
    ),
    ...
}

Benchmarks

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
Popular Renderer Projects
Popular Rest Projects
Popular Graphics Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Django
Rest
Benchmark
Renderer
Django Rest Framework