{ "info": { "author": "Daniel Lindsley", "author_email": "daniel@toastdriven.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "===============\ndjango-tastypie\n===============\n\nCreating delicious APIs for Django apps since 2010.\n\nCurrently in beta (v1.0.0-beta) but being used actively in production on several\nsites.\n\nDifferences between this patched version and Django Tastypie\n============================================================\n\nThis version includes three patches that have been submitted as pull requests\nto the creators of Django Tastypie:\n\n* 6bf187d > if an Error 500 occurs, the message of the exception is shown in \n the error description, instead of a generic 'This request could not be \n processed'.\n* 18d7a90 > when using Django's DummyCache, CacheThrottle does not fail\n* 1fbc0a8 > allows file uploads (attachments) on POST requests\n\nOnce these patches are included in the source repository, this fork will not\nbe required anymore.\n\nRequirements\n============\n\nRequired\n--------\n\n* Python 2.5+\n* Django 1.2+ (May work on Django 1.1)\n* mimeparse 0.1.3+ (http://code.google.com/p/mimeparse/)\n\n * Older versions will work, but their behavior on JSON/JSONP is a touch wonky.\n\n* dateutil (http://labix.org/python-dateutil) >= 1.5, < 2.0\n\nOptional\n--------\n\n* python_digest (https://bitbucket.org/akoha/python-digest/)\n* lxml (http://codespeak.net/lxml/) if using the XML serializer\n* pyyaml (http://pyyaml.org/) if using the YAML serializer\n* biplist (http://explorapp.com/biplist/) if using the binary plist serializer\n\n\nWhat's It Look Like?\n====================\n\nA basic example looks like::\n\n # myapp/api.py\n # ============\n from tastypie.resources import ModelResource\n from myapp.models import Entry\n\n\n class EntryResource(ModelResource):\n class Meta:\n queryset = Entry.objects.all()\n\n\n # urls.py\n # =======\n from django.conf.urls.defaults import *\n from tastypie.api import Api\n from myapp.api import EntryResource\n\n v1_api = Api(api_name='v1')\n v1_api.register(EntryResource())\n\n urlpatterns = patterns('',\n # The normal jazz here then...\n (r'^api/', include(v1_api.urls)),\n )\n\nThat gets you a fully working, read-write API for the ``Entry`` model that\nsupports all CRUD operations in a RESTful way. JSON/XML/YAML support is already\nthere, and it's easy to add related data/authentication/caching.\n\nYou can find more in the documentation at\nhttp://django-tastypie.readthedocs.org/.\n\n\nWhy tastypie?\n=============\n\nThere are other, better known API frameworks out there for Django. You need to\nassess the options available and decide for yourself. That said, here are some\ncommon reasons for tastypie.\n\n* You need an API that is RESTful and uses HTTP well.\n* You want to support deep relations.\n* You DON'T want to have to write your own serializer to make the output right.\n* You want an API framework that has little magic, very flexible and maps well to\n the problem domain.\n* You want/need XML serialization that is treated equally to JSON (and YAML is\n there too).\n* You want to support my perceived NIH syndrome, which is less about NIH and more\n about trying to help out friends/coworkers.\n\n\nReference Material\n==================\n\n* http://github.com/toastdriven/django-tastypie/tree/master/tests/basic shows\n basic usage of tastypie\n* http://en.wikipedia.org/wiki/REST\n* http://en.wikipedia.org/wiki/List_of_HTTP_status_codes\n* http://www.ietf.org/rfc/rfc2616.txt\n* http://jacobian.org/writing/rest-worst-practices/\n\n:author: Daniel Lindsley\n:date: 2011/09/16", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/toastdriven/django-tastypie/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-tastypie-with-uploads-dummycache-error500", "package_url": "https://pypi.org/project/django-tastypie-with-uploads-dummycache-error500/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-tastypie-with-uploads-dummycache-error500/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/toastdriven/django-tastypie/" }, "release_url": "https://pypi.org/project/django-tastypie-with-uploads-dummycache-error500/1.0.0-beta-red1/", "requires_dist": null, "requires_python": null, "summary": "Patched version of Django Tastypie -- check README.rst.", "version": "1.0.0-beta-red1" }, "last_serial": 790830, "releases": { "1.0.0-beta-red1": [ { "comment_text": "", "digests": { "md5": "10723fddfe01c8502b80cf8ba9be7215", "sha256": "033c5d77609675ac827f682e3b515ec097675b2e8e0b9ba44ab808de19563361" }, "downloads": -1, "filename": "django-tastypie-with-uploads-dummycache-error500-1.0.0-beta-red1.tar.gz", "has_sig": false, "md5_digest": "10723fddfe01c8502b80cf8ba9be7215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43401, "upload_time": "2011-10-25T23:02:51", "url": "https://files.pythonhosted.org/packages/50/dd/527a07c89a9ee6510b052bb961479c9705b729bfebac874d53c18627e6e2/django-tastypie-with-uploads-dummycache-error500-1.0.0-beta-red1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10723fddfe01c8502b80cf8ba9be7215", "sha256": "033c5d77609675ac827f682e3b515ec097675b2e8e0b9ba44ab808de19563361" }, "downloads": -1, "filename": "django-tastypie-with-uploads-dummycache-error500-1.0.0-beta-red1.tar.gz", "has_sig": false, "md5_digest": "10723fddfe01c8502b80cf8ba9be7215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43401, "upload_time": "2011-10-25T23:02:51", "url": "https://files.pythonhosted.org/packages/50/dd/527a07c89a9ee6510b052bb961479c9705b729bfebac874d53c18627e6e2/django-tastypie-with-uploads-dummycache-error500-1.0.0-beta-red1.tar.gz" } ] }