Metadata-Version: 1.1
Name: django-tastypie
Version: 0.9.11
Summary: A flexible & capable API layer for Django.
Home-page: http://github.com/toastdriven/django-tastypie/
Author: Daniel Lindsley
Author-email: daniel@toastdriven.com
License: UNKNOWN
Description: ===============
        django-tastypie
        ===============
        
        Creating delicious APIs for Django apps since 2010.
        
        Currently in beta (v1.0.0-beta) but being used actively in production on several
        sites.
        
        
        Requirements
        ============
        
        Required
        --------
        
        * Python 2.5+
        * Django 1.2+ (May work on Django 1.1)
        * mimeparse 0.1.3+ (http://code.google.com/p/mimeparse/)
        
          * Older versions will work, but their behavior on JSON/JSONP is a touch wonky.
        
        * dateutil (http://labix.org/python-dateutil) >= 1.5, < 2.0
        
        Optional
        --------
        
        * python_digest (https://bitbucket.org/akoha/python-digest/)
        * lxml (http://codespeak.net/lxml/) if using the XML serializer
        * pyyaml (http://pyyaml.org/) if using the YAML serializer
        * biplist (http://explorapp.com/biplist/) if using the binary plist serializer
        
        
        What's It Look Like?
        ====================
        
        A basic example looks like::
        
            # myapp/api.py
            # ============
            from tastypie.resources import ModelResource
            from myapp.models import Entry
        
        
            class EntryResource(ModelResource):
                class Meta:
                    queryset = Entry.objects.all()
        
        
            # urls.py
            # =======
            from django.conf.urls.defaults import *
            from tastypie.api import Api
            from myapp.api import EntryResource
        
            v1_api = Api(api_name='v1')
            v1_api.register(EntryResource())
        
            urlpatterns = patterns('',
                # The normal jazz here then...
                (r'^api/', include(v1_api.urls)),
            )
        
        That gets you a fully working, read-write API for the ``Entry`` model that
        supports all CRUD operations in a RESTful way. JSON/XML/YAML support is already
        there, and it's easy to add related data/authentication/caching.
        
        You can find more in the documentation at
        http://django-tastypie.readthedocs.org/.
        
        
        Why tastypie?
        =============
        
        There are other, better known API frameworks out there for Django. You need to
        assess the options available and decide for yourself. That said, here are some
        common reasons for tastypie.
        
        * You need an API that is RESTful and uses HTTP well.
        * You want to support deep relations.
        * You DON'T want to have to write your own serializer to make the output right.
        * You want an API framework that has little magic, very flexible and maps well to
          the problem domain.
        * You want/need XML serialization that is treated equally to JSON (and YAML is
          there too).
        * You want to support my perceived NIH syndrome, which is less about NIH and more
          about trying to help out friends/coworkers.
        
        
        Reference Material
        ==================
        
        * http://github.com/toastdriven/django-tastypie/tree/master/tests/basic shows
          basic usage of tastypie
        * http://en.wikipedia.org/wiki/REST
        * http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
        * http://www.ietf.org/rfc/rfc2616.txt
        * http://jacobian.org/writing/rest-worst-practices/
        
        :author: Daniel Lindsley
        :date: 2011/09/16
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
Requires: mimeparse
Requires: python_dateutil(>=1.5, < 2.0)
