{ "info": { "author": "Daniel Lindsley", "author_email": "benjamin@learningequality.org", "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", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "===============\ndjango-tastypie\n===============\n\n.. image:: https://readthedocs.org/projects/django-tastypie/badge/\n :target: https://django-tastypie.readthedocs.org/\n :alt: Docs\n\n.. image:: https://travis-ci.org/django-tastypie/django-tastypie.svg\n :target: https://travis-ci.org/django-tastypie/django-tastypie\n :alt: CI\n\n.. image:: https://coveralls.io/repos/django-tastypie/django-tastypie/badge.svg?service=github\n :target: https://coveralls.io/github/django-tastypie/django-tastypie\n :alt: Code Coverage\n\n.. image:: https://img.shields.io/pypi/v/django-tastypie.svg\n :target: https://pypi.python.org/pypi/django-tastypie\n :alt: Version\n\n.. image:: https://img.shields.io/pypi/dm/django-tastypie.svg\n :target: https://pypi.python.org/pypi/django-tastypie\n :alt: Downloads\n\nCreating delicious APIs for Django apps since 2010.\n\nCurrently in beta (v0.12.2) but being used actively in production on several\nsites.\n\n\nRequirements\n============\n\nCore\n----\n\n* Python 2.6+ or Python 3.3+\n* Django 1.5 through Django 1.8\n* dateutil (http://labix.org/python-dateutil) >= 2.1\n\nFormat Support\n--------------\n\n* XML: lxml 3 (http://lxml.de/) and defusedxml (https://pypi.python.org/pypi/defusedxml)\n* YAML: pyyaml (http://pyyaml.org/)\n* binary plist: biplist (http://explorapp.com/biplist/)\n\nOptional\n--------\n\n* HTTP Digest authentication: python3-digest (https://bitbucket.org/akoha/python-digest/)\n\n\nWhat's It Look Like?\n====================\n\nA basic example looks like:\n\n.. code:: python\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\nSecurity\n========\n\nTastypie is committed to providing a flexible and secure API, and was designed\nwith many security features and options in mind. Due to the complex nature of\nAPIs and the constant discovery of new attack vectors and vulnerabilities,\nno software is immune to security holes. We rely on our community to report\nand help us investigate security issues.\n\nIf you come across a security hole **please do not open a Github issue**.\nInstead, **drop us an email** at ``tastypie-security@googlegroups.com``\n\nWe'll then work together to investigate and resolve the problem so we can\nannounce a solution along with the vulnerability.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/learningequality.org/django-tastypie/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-tastypie-legacy", "package_url": "https://pypi.org/project/django-tastypie-legacy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-tastypie-legacy/", "project_urls": { "Homepage": "http://github.com/learningequality.org/django-tastypie/" }, "release_url": "https://pypi.org/project/django-tastypie-legacy/0.12.2.post2/", "requires_dist": [ "python-dateutil (>=1.5,!=2.0)", "python-mimeparse (>=0.1.4)" ], "requires_python": "", "summary": "Patching tastypie 0.12 series for South.", "version": "0.12.2.post2" }, "last_serial": 2536929, "releases": { "0.12.2.post1": [ { "comment_text": "", "digests": { "md5": "1864ae6bf24597a13a682595f09074d1", "sha256": "a0619edebd54cb0e664047e7b0798411818f8e3edd9af997e78b4f8f6584b328" }, "downloads": -1, "filename": "django_tastypie_legacy-0.12.2.post1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1864ae6bf24597a13a682595f09074d1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 75949, "upload_time": "2016-12-22T15:33:23", "url": "https://files.pythonhosted.org/packages/41/c1/b25243c8511aff0326a2f99675ac2a397e30c9723f56d84c87a768e8e3cb/django_tastypie_legacy-0.12.2.post1-py2.py3-none-any.whl" } ], "0.12.2.post2": [ { "comment_text": "", "digests": { "md5": "b52b64a6af4c7ee26d7d65972203cc98", "sha256": "47b9691230a4e0bc8e279ae71aa2324e59e37f670af82d2fc8e00c873300dee0" }, "downloads": -1, "filename": "django_tastypie_legacy-0.12.2.post2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b52b64a6af4c7ee26d7d65972203cc98", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 77657, "upload_time": "2016-12-22T20:03:20", "url": "https://files.pythonhosted.org/packages/29/c8/b3f243c9671ec45f383fa3eca029bb0128ea0432588b8ea74a48c8302a09/django_tastypie_legacy-0.12.2.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37b598864e8881091847d56bba5f31bc", "sha256": "2fa102db4ab7e8bf579e6b91cafca5c79a49628b16d7a0ac92cd76cb9ff14173" }, "downloads": -1, "filename": "django-tastypie-legacy-0.12.2.post2.tar.gz", "has_sig": true, "md5_digest": "37b598864e8881091847d56bba5f31bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 139802, "upload_time": "2016-12-23T16:44:14", "url": "https://files.pythonhosted.org/packages/8e/40/5715e56250cdc26bc98994079c6b3d72b4f7e2c7effbe4994724b33810b2/django-tastypie-legacy-0.12.2.post2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b52b64a6af4c7ee26d7d65972203cc98", "sha256": "47b9691230a4e0bc8e279ae71aa2324e59e37f670af82d2fc8e00c873300dee0" }, "downloads": -1, "filename": "django_tastypie_legacy-0.12.2.post2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b52b64a6af4c7ee26d7d65972203cc98", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 77657, "upload_time": "2016-12-22T20:03:20", "url": "https://files.pythonhosted.org/packages/29/c8/b3f243c9671ec45f383fa3eca029bb0128ea0432588b8ea74a48c8302a09/django_tastypie_legacy-0.12.2.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37b598864e8881091847d56bba5f31bc", "sha256": "2fa102db4ab7e8bf579e6b91cafca5c79a49628b16d7a0ac92cd76cb9ff14173" }, "downloads": -1, "filename": "django-tastypie-legacy-0.12.2.post2.tar.gz", "has_sig": true, "md5_digest": "37b598864e8881091847d56bba5f31bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 139802, "upload_time": "2016-12-23T16:44:14", "url": "https://files.pythonhosted.org/packages/8e/40/5715e56250cdc26bc98994079c6b3d72b4f7e2c7effbe4994724b33810b2/django-tastypie-legacy-0.12.2.post2.tar.gz" } ] }