Skip to main content

Django Rest Framework data export package that handles export/rendering to JSON, CSV, XLS, and HTML

Installation

pip install unicef-rest-export

Setup

Add unicef_rest_export to INSTALLED_APPS in settings

INSTALLED_APPS = [
    ...
    'unicef_rest_export',
]

Usage

A sample model view;

class AuthorView(ExportView):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

A sample model viewset;

class AuthorViewSet(ExportViewSet):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

To override or limit the renderers allowed, add EXPORT_RENDERERS to settings. The current default is;

EXPORT_RENDERERS = (
    "unicef_rest_export.renderers.ExportHTMLRenderer",
    "unicef_rest_export.renderers.ExportCSVRenderer",
    "unicef_rest_export.renderers.ExportJSONRenderer",
    "unicef_rest_export.renderers.ExportExcelRenderer",
)

The following is a sample of transforming data;

class AuthorTransformView(ExportView):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

    def transform_books(self, data):
        return [d["name"] for d in data]

    def transform_dataset(self, dataset):
        dataset.add_formatter("books", self.transform_books)
        return dataset

Contributing

Environment Setup

To install the necessary libraries

$ make install

Coding Standards

See [PEP 8 Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/) for complete details on the coding standards.

To run checks on the code to ensure code is in compliance

$ make lint

Testing

Testing is important and tests are located in tests/ directory and can be run with;

$ make test

Coverage report is viewable in build/coverage directory, and can be generated with;

Thanks to

[django-rest-pandas](https://github.com/wq/django-rest-pandas) as a lot of the code was borrowed from that package.

Metadata

Release files for unicef-rest-export 0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unicef-rest-export 0.6
File Size Uploaded
unicef_rest_export-0.6.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unicef-rest-export 0.6
File Interpreter ABI Platform
unicef_rest_export-0.6-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 19.3 kB

Release files / unicef_rest_export-0.6.tar.gz

Download URL unicef_rest_export-0.6.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1a2972630d99dce927becaa70e7fb785116401f80beff77b13a5ecfc7139d983
BLAKE2b-256 checksum
How to use checksums
2b82309f4226f458d4a54653836c0367c1d8761b07424c80091d499d5b3b4325
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.9

Release files / unicef_rest_export-0.6-py2.py3-none-any.whl

Download URL unicef_rest_export-0.6-py2.py3-none-any.whl
Size 8.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
67d07341b586de51f6d5ef3ed00599bbe49ae34c4ccc1a0934fcbb839c686faa
BLAKE2b-256 checksum
How to use checksums
133daa64be7a1fa2d098f9a0b6e694180aa1042d299437cf28bb0a6c95855eab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.9

Release history Release notifications | RSS feed

This release

0.6 This release

2 release files

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page