djangorestframework-csv
CSV Tools for Django REST Framework
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-csvuv
uv add djangorestframework-csvpoetry
poetry add djangorestframework-csvInstalling 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
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
djangorestframework-xmlAdds XML parsing and rendering support to…
permissive · top 15,000 on PyPI
djangorestframework-yamlAdds YAML parsing and rendering support to…
permissive · top 15,000 on PyPI
drf-orjson-rendererProvides a high-performance JSON renderer and…
permissive · top 15,000 on PyPI
drf-excelAdds an Excel spreadsheet (xlsx) renderer to…
permissive · top 15,000 on PyPI
django-rest-framework-docsGenerates browsable documentation and an…
permissive · top 15,000 on PyPI
djangorestframework-datatablesAdds server-side Datatables support to Django…
permissive · top 15,000 on PyPI
adrfAdds async/await support to Django REST…
permissive · top 15,000 on PyPI
djangorestframeworkBuilds web APIs on top of Django with…
permissive · top 1,000 on PyPI
drf-rw-serializersExtends Django REST Framework with separate…
permissive · top 15,000 on PyPI
djangorestframework-gisAdds geographic and GeoJSON support to Django…
permissive · top 15,000 on PyPI