Skip to main content

Django package that handles exporting of data

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unicef_rest_export-0.6.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

unicef_rest_export-0.6-py2.py3-none-any.whl (8.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file unicef_rest_export-0.6.tar.gz.

File metadata

  • Download URL: unicef_rest_export-0.6.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.9

File hashes

Hashes for unicef_rest_export-0.6.tar.gz
Algorithm Hash digest
SHA256 1a2972630d99dce927becaa70e7fb785116401f80beff77b13a5ecfc7139d983
MD5 bb6560034cca8d941ee523d5dcc5c9a7
BLAKE2b-256 2b82309f4226f458d4a54653836c0367c1d8761b07424c80091d499d5b3b4325

See more details on using hashes here.

File details

Details for the file unicef_rest_export-0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for unicef_rest_export-0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 67d07341b586de51f6d5ef3ed00599bbe49ae34c4ccc1a0934fcbb839c686faa
MD5 e84643a2e7b905e637b2d9f628b3d304
BLAKE2b-256 133daa64be7a1fa2d098f9a0b6e694180aa1042d299437cf28bb0a6c95855eab

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page