django-tastypie
A flexible & capable API layer for Django.
Decision gist · record as of 2026-08-14
Yes, if you need a lightweight, format-agnostic REST API for Django models and prefer explicit configuration over convention. The active maintenance, permissive license, and lack of known vulnerabilities make it production-safe. High install friction and beta status are minor concerns; the real question is whether django-tastypie's philosophy fits your project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django 4.2 (LTS) or Django 4.0+ and Python 3.8+; XML/YAML support requires optional dependencies (lxml, defusedxml, pyyaml).
- High install friction due to two runtime dependencies (python-mimeparse and python-dateutil) plus optional format support libraries.
- Actively maintained with recent commits and 3947 GitHub stars; last release was February 2025 and the repository remains active.
License · maintenance · safety
permissive license (permissive) — Permissive BSD license allows commercial and private use with minimal restrictions, making it suitable for most production deployments.
last release 2025-02-23 (537 days) · last repo commit 2026-07-27 · 3,947 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 125,489 downloads/mo, #11,812 on PyPI
Alternatives
Verify before relying
pip install django-tastypie
from tastypie.resources import ModelResource
from tastypie.api import Api
class EntryResource(ModelResource):
class Meta:
queryset = Entry.objects.all()
v1_api = Api(api_name='v1')
v1_api.register(EntryResource())- Whether the beta status (Development Status :: 4 - Beta) reflects active development or stability concerns in production use.
- Performance characteristics and scalability limits for large datasets or high-traffic APIs.
- Comparison to modern alternatives in terms of feature parity and community adoption.
What it is and what it does
django-tastypie is a REST API framework for Django that automatically exposes your models as HTTP resources with full CRUD support. You define a Resource class pointing to a Django model, register it with an Api object, and wire it into your URLs—django-tastypie then handles serialization, deserialization, authentication, caching, and HTTP semantics. It treats XML, JSON, and YAML as first-class formats rather than afterthoughts, and supports deep relational queries and custom authentication schemes.
The framework is designed around explicit, flexible configuration rather than magic: you control what gets exposed, how it's serialized, and what operations are allowed. It has been actively used in production since 2010 and remains maintained, though it's positioned as beta. Installation requires python-dateutil and python-mimeparse as core dependencies, with optional libraries for XML and YAML support.
Use it for
- Build a read-write REST API for a Django model without writing serializers or view logic.
- Expose related model data through nested API endpoints with automatic filtering.
- Serve the same data in multiple formats (JSON, XML, YAML) from a single resource definition.
- Add HTTP Digest authentication or custom auth schemes to API endpoints with minimal configuration.
- Cache API responses and implement throttling to protect backend resources from overuse.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a lightweight, format-agnostic REST API for Django models and prefer explicit configuration over convention.
The active maintenance, permissive license, and lack of known vulnerabilities make it production-safe. High install friction and beta status are minor concerns; the real question is whether django-tastypie's philosophy fits your project.
Install
django-tastypie on PyPI
Before you install
High install friction due to two runtime dependencies (python-mimeparse and python-dateutil) plus optional format support libraries. Actively maintained with recent commits and 3947 GitHub stars; last release was February 2025 and the repository remains active.
Requires Django 4.2 (LTS) or Django 4.0+ and Python 3.8+; XML/YAML support requires optional dependencies (lxml, defusedxml, pyyaml).
License in practice
Permissive BSD license allows commercial and private use with minimal restrictions, making it suitable for most production deployments.
Quickstart
pip install django-tastypie
from tastypie.resources import ModelResource
from tastypie.api import Api
class EntryResource(ModelResource):
class Meta:
queryset = Entry.objects.all()
v1_api = Api(api_name='v1')
v1_api.register(EntryResource())
Verify before relying
- Whether the beta status (Development Status :: 4 - Beta) reflects active development or stability concerns in production use.
- Performance characteristics and scalability limits for large datasets or high-traffic APIs.
- Comparison to modern alternatives in terms of feature parity and community adoption.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | 2 packagespython-mimeparsepython-dateutil |
| Maintenance | Actively maintained 537 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,489 / month, #11,812 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.0Framework :: Django :: 5.1Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Utilities |
Evidence: django_tastypie-0.15.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django model api generator”
- django-tastypiedjango-tastypie provides a REST API framework for Django that…
- sphinxcontrib-djangoA Sphinx extension that enhances autodoc output for Django classes by…
- shortuuidGenerates concise, URL-safe unique identifiers by encoding UUIDs into…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also djangorestframework-xml · djangorestframework-simplejwt · django-upgrade · flask-appbuilder · django-haystack · slumber · jason · sorl-thumbnail · django-countries · djangorestframework-yaml