json-stream-generator - serialize json to stream of strings in generator
Project description
json-stream-generator - serialize json in generator
json-stream-generator
allows you to serialize object to JSON string and start the output immediately, without waiting for serialization to complete.
It was designed to be used with Django's StreamingHttpResponse
or similar concept in other web frameworks to allow sending huge json blobs to the client without triggering load balancer's timeout:
from json_stream_generator import json_generator
from django.http import StreamingHttpResponse
def my_view(request):
# NOTE: No Content-Length header!
return StreamingHttpResponse(
json_generator((num for num in range(100_000_000))),
content_type="application/json",
headers={"Content-Disposition": 'attachment; filename="somefilename.json"'},
)
json-stream-generator
comes with built-in support for Django Rest Framework:
from json_stream_generator.rest_framework.mixins import StreamingListModelMixin
from rest_framework import viewsets
class DemoViewSet(StreamingListModelMixin, viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MySerializer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file json-stream-generator-0.2.0.tar.gz
.
File metadata
- Download URL: json-stream-generator-0.2.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4762e66b77b12180fee124345befa205fd7247fc5dc420e1564b9c1d0b974676 |
|
MD5 | b51c1bf1c754eeb44a1de68ca85ce46a |
|
BLAKE2b-256 | 6c76673a465c39989ab75a433f90209ccd4e84550956a261d0bb49368b82543b |
File details
Details for the file json_stream_generator-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: json_stream_generator-0.2.0-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d9a71e2c9483310f6d7cb973ed2264143580c2a8c907d78bccc65d375362f39 |
|
MD5 | fd8fd8e30723f8a73657f876b5a950b0 |
|
BLAKE2b-256 | 0d120a2fb0f0b90a23a699b817bb589149a77ffb6dc2a51e9955271a3213f706 |