skillfed

djangorestframework-csv

CSV Tools for Django REST Framework

djangorestframework-csv v3.0.2 3.6M downloads/30d#2,571 on PyPI368
Permissive license BSD AGING released

What it is and what it does

djangorestframework-csv extends Django REST Framework with CSV rendering and parsing support. It provides renderers to output API responses as CSV files, with customizable field ordering and labels, plus parsers for incoming CSV data. The package also includes a paginated renderer for handling paginated datasets and a streaming renderer for memory-efficient output of large CSV files.

The package integrates directly into the framework's renderer and parser architecture, configured via renderer_classes on views or as defaults in Django settings. It handles field ordering, custom labels, byte order markers, and non-UTF-8 encodings. The codebase has been stable since version 3.0.0, though active maintenance appears limited.

Use it for:

  • Export API querysets as downloadable CSV files for reporting or data analysis
  • Accept CSV file uploads to bulk-create or update records via REST endpoints
  • Serve CSV data from paginated API views without loading entire datasets into memory
  • Customize CSV column order and labels for different API consumers or use cases
  • Provide alternative data formats alongside JSON in the same API view

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds CSV rendering and parsing capabilities to Django REST Framework, allowing API views to output data as CSV files and parse CSV input.

Yes, if you need CSV support in Django REST Framework and can accept aging maintenance. The package is stable with no known vulnerabilities and handles the core use case well. However, verify compatibility with your specific Django and djangorestframework versions before relying on it for new projects, and monitor the repository for any breaking changes in upstream dependencies.

Install

djangorestframework-csv on PyPI

pip

pip install djangorestframework-csv

uv

uv add djangorestframework-csv

poetry

poetry add djangorestframework-csv

Installing djangorestframework-csv

Before you install

Low install friction with a single runtime dependency on djangorestframework. Maintenance status is aging—last release was 2023-12-12 and the repository shows no recent activity, though it remains unarchived and has accumulated 368 stars.

License in practice

BSD license is permissive, allowing use in commercial and private projects with minimal restrictions beyond attribution.

Quickstart

pip install djangorestframework-csv

from djangorestframework_csv import renderers

class MyView:
    renderer_classes = (renderers.CSVRenderer,)

Requires djangorestframework as a runtime dependency; Django 3.2 or later for version 3.0.2

Verify before relying

  • Whether the package works with Django versions beyond 4.2 or Python versions beyond 3.11
  • Current state of compatibility with the latest djangorestframework releases
  • Performance characteristics when handling very large CSV exports or imports

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — djangorestframework
Maintenance aging — 976 days since the last release
Last repo commit
First released
Downloads 3,581,076/month — #2,571 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: djangorestframework_csv-3.0.2-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

django rest framework csv exportcsv renderer for drfdjango api csv outputcsv parsing django restrest framework csv serializationdjango csv download apidrf csv renderer
csv-exportdjango-rest-framework

More Dynamic Content packages

MarkupSafe

MarkupSafe provides a text object that escapes…

permissive · top 100 on PyPI

Jinja2

Jinja2 is a templating engine that renders…

permissive · top 100 on PyPI

soupsieve

Soupsieve is a CSS selector library designed to…

permissive · top 100 on PyPI

Werkzeug

Werkzeug is a WSGI utility library providing…

permissive · top 1,000 on PyPI

Flask

Flask is a lightweight WSGI web application…

permissive · top 1,000 on PyPI

Mako

Mako compiles Python-embedded templates into…

permissive · top 1,000 on PyPI

djangorestframework-xml

Adds XML parsing and rendering support to…

permissive · top 15,000 on PyPI

djangorestframework-yaml

Adds YAML parsing and rendering support to…

permissive · top 15,000 on PyPI

drf-orjson-renderer

Provides a high-performance JSON renderer and…

permissive · top 15,000 on PyPI

drf-excel

Adds an Excel spreadsheet (xlsx) renderer to…

permissive · top 15,000 on PyPI

django-rest-framework-docs

Generates browsable documentation and an…

permissive · top 15,000 on PyPI

djangorestframework-datatables

Adds server-side Datatables support to Django…

permissive · top 15,000 on PyPI

adrf

Adds async/await support to Django REST…

permissive · top 15,000 on PyPI

djangorestframework

Builds web APIs on top of Django with…

permissive · top 1,000 on PyPI

drf-rw-serializers

Extends Django REST Framework with separate…

permissive · top 15,000 on PyPI

djangorestframework-gis

Adds geographic and GeoJSON support to Django…

permissive · top 15,000 on PyPI