Skip to content

Releases: wq/django-rest-pandas

DRP 1.1.0

28 Mar 04:18
544177e
Compare
Choose a tag to compare

Django REST Pandas 1.1.0 includes a new filename option (#31), confirmed support for Django 2, and a couple of minor fixes.

New Functionality

Added a get_pandas_filename() view method, for cases where you have users downloading files through the API (#31). For example:

class TimeSeriesView(PandasView):
    # If a filename is returned, rest_pandas will include the following header:
    # 'Content-Disposition: attachment; filename="Data Export.xlsx"'
    def get_pandas_filename(self, request, format):
        if format in ('xls', 'xlsx'):
            # Use custom filename and Content-Disposition header
            return "Data Export"  # Extension will be appended automatically
        else:
            # Default filename from URL (no Content-Disposition header)
            return None

Bug Fixes

  • Don't crash if renderer_context is missing (#34)
  • PandasBoxplotSerializer: handle non-numeric columns and duplicate rows (abeb576)

Documentation Improvements

  • Test Django 2 support (#35), add wheel and LICENSE for PyPI (#33)
  • Using rest_pandas with an existing view (#32, #36)

DRP 1.0.0

13 Sep 17:49
Compare
Choose a tag to compare

Django REST Pandas 1.0.0 brings a number of API improvements that make it easier to integrate with existing DRF projects.

New Functionality

  • Support mixing with DRP renderers with regular DRF renderers, including in REST_FRAMEWORK["DEFAULT_RENDERER_CLASSES"] (#28)
  • Better detection of default index field name (#13, #29)
  • Include index field(s) in default JSON output (#29). The orient parameter now defaults to a DRP-specific "records-index", which is like "records" but calls reset_index() before rendering.

Bug Fixes

  • Don't crash if "id" is not a serializer field (#13)
  • Fix null value handling in PandasScatterSerializer (2636cc4)

Documentation Improvements

  • Supported URL parameters for JSON output (#26)
  • DateTimeField serialization tips (#27)
  • django-pandas integration (#11)
  • HTML output and integration with wq/chartapp.js (#2)

DRP 0.5.0

08 Nov 20:14
Compare
Choose a tag to compare

Django REST Pandas 0.5.0 introduces a simple PandasHTMLRenderer for use in a browseable visualization API (#2). To enable it by default, you just need to add rest_pandas to your INSTALLED_APPS. You will need a template called rest_pandas.html, or you can install django-mustache to use the provided mustache template (which is optimized for integration with a wq-powered application).

This release also includes updates for pandas 0.19 and drops support for Django REST Framework 2.4 (#23).

DRP 0.4.1

25 Aug 20:34
Compare
Choose a tag to compare

Django REST Pandas 0.4.1 brings a few minor bug fixes:

  • Fix issues with image renderer (c0c8b5c)
  • Fix file error on Windows (#19)
  • Update tests for Django 1.10
  • Code style (#25)

DRP 0.4.0

26 Nov 01:03
Compare
Choose a tag to compare

Django REST Pandas 0.4.0 brings a few new features as well as confirmed compatibility with Django 1.9.

DRP 0.3.2

20 Apr 14:26
Compare
Choose a tag to compare

This release is just to verify compatiblity with Django 1.8 and pandas 0.16.0. Older versions should still work, though note that Django 1.6 is no longer being tested against.

The only actual code change is 5faa4ec, which switches the JSON renderer from a default of orient="index" to orient="records" to get around a breaking test because it's a more reasonable default. You can restore the old behavior by subclassing PandasJSONRenderer and overriding get_pandas_kwargs(), but:

  1. As is noted in the README, the CSV renderer is the one you probably want to be using anyway. You can use wq/pandas.js to convert CSV to JSON after you've loaded it on the client.
  2. If you really want JSON output, you're probably already using the vanilla DRF JSONRenderer anyway.

DRP 0.3.1

19 Mar 18:29
Compare
Choose a tag to compare

This release of DRP adds a small patch (1a81adc) to ensure that no pagination class will be used for DRP views when running in Django REST Framework 3.

DRP 0.3.0

12 Mar 01:25
Compare
Choose a tag to compare

Django REST pandas 0.3.0 adds support for Django REST Framework 3 (#10) and a better separation between model serialization and DataFrame creation - the latter now happening in a separate serializer (#8).

The new code is mostly backwards compatible (the tests haven't changed) but there are a couple of implementation changes that may affect you if you've customized or extended DRP.

  • PandasBaseSerializer has been renamed to PandasSerializer and replaces the former PandasSerializer. When using DRP with DRF 3, the new PandasSerializer is a ListSerializer and can only be used as such.
  • PandasSimpleSerializer has been renamed to SimpleSerializer and no longer has any pandas-related functionality (since that's now handled in a separate step).
  • For the DRP views, a new PandasMixin class encapsulates the functionality needed to add Pandas capabilities to a serialized result. This is accomplished via the new with_pandas_serializer(cls) method that customizes any existing serializer_class to enable Pandas capabilities as needed. The Pandas serializer can be overridden by specifying pandas_serializer_class.

DRP 0.2.1

17 Nov 18:06
Compare
Choose a tag to compare

DRP 0.2.0

12 Aug 20:19
Compare
Choose a tag to compare
  • Test on Python 3 (#3) and Django 1.7 RC2