{
"info": {
"author": "Fusionbox, Inc.",
"author_email": "programmers@fusionbox.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries"
],
"description": "================\nDjango-Argonauts\n================\n\n.. image:: https://api.travis-ci.org/fusionbox/django-argonauts.png\n :alt: Building Status\n :target: https://travis-ci.org/fusionbox/django-argonauts\n\n\nA lightweight collection of JSON helpers for Django. Includes a template filter\nfor safely outputting JSON, views that encode and decode JSON, and a helper for\nwriting simple REST views.\n\nA special JSON encoder is used to serialize QuerySets and objects with\n``to_json`` methods.\n\n------\nFilter\n------\n\nYou can serialize an object in JSON using the ``|json`` filter. This is useful\nto generate safe JavaScript:\n\n.. code:: html\n\n {% load argonauts %}\n \n\n``|json`` is safe to use anywhere in XML or XHTML except in an attribute. It's\nimportant to use this tag rather than dumping the output of ``json.dumps`` into\nHTML, because an attacker could output a closing tag and effect an XSS attack.\nFor example, if we output ``json.dumps(\"\n\nWe get:\n\n.. code:: html\n\n \n \n\nThis allows the attacker to inject their own JavaScript. The ``|json`` tag\nprevents this by encoding the closing ```` tag with JSON's unicode\nescapes. If we output ``{{ somedata|json }}``, we get:\n\n.. code:: html\n\n \n\nIt also escapes ampersands in order to generate valid XML. For example, with the value\n``foo & bar``:\n\n.. code:: xml\n\n {{ value|json }}\n \n\n-----\nViews\n-----\n\n``JsonResponseMixin``\n=====================\n\n``JsonResponseMixin`` implements ``render_to_response`` method that serializes\nan object into a JSON response. Thus it is compatible with generic Django\nviews:\n\n.. code:: python\n\n from django.db import models\n from django.views.generic.detail import BaseDetailView\n from argonauts.views import JsonResponseMixin\n\n class Blog(models.Model):\n title = models.CharField(max_length=255)\n body = models.TextField()\n\n def to_json(self):\n return {\n 'title': self.title,\n 'body': self.body,\n }\n\n class BlogDetailView(JsonResponseMixin, BaseDetailView):\n \"\"\"\n Detail view returning object serialized in JSON\n \"\"\"\n model = Blog\n\n\n``JsonRequestMixin``\n====================\n\n``JsonRequestMixin`` gives access to the request data through ``data()`` method.\n\n.. code:: python\n\n from django.views.generic.base import View\n from argonauts.views import JsonRequestMixin:\n from argonauts.http import JsonResponse\n\n class EchoView(JsonRequestMixin, View):\n def dispatch(self, *args, **kwargs):\n return JsonResponse(self.data())\n\n\n``RestView``\n============\n\n``RestView`` is an abstract class. Subclasses should implement `auth()`, for\nhandling authentication, and at least one HTTP method.\n\n``RestView`` implements `OPTIONS` http method, and inherits from\n``JsonRequestMixin`` and ``JsonResponseMixin``.\n\n.. code:: python\n\n from django.core.exceptions import PermissionDenied\n from argonauts.views import RestView\n from .utils import get_action\n\n class CrazyRestView(RestView):\n def auth(self, *args, **kwargs):\n if not self.request.user.is_superuser:\n raise PermissionDenied\n\n def post(self, *args, **kwargs):\n action = kwargs.pop('action')\n action_func = get_action(action)\n return self.render_to_response(action_func(self.data()))\n\n\nChangelog\n=========\n\n1.2.0 (2016-09-20)\n------------------\n\n- Add support for requests without a Content-Type header to JsonTestClient\n- Remove support for old versions of Django (<= 1.7)\n\n\n1.1.4 (2015-07-29)\n------------------\n\n- Tests mocked http requests don't always have charset\n\n\n1.1.3 (2015-05-27)\n------------------\n\n- Fixed package (include the CHANGELOG in ``MANIFEST.in``)\n\n\n1.1.2 (2015-05-27)\n------------------\n\n- Added ``JsonTestCase`` and ``JsonTestMixin``\n\n\n1.1.1 (2015-04-20)\n------------------\n\n- Fixed package\n\n\n1.1.0 (2015-04-20)\n------------------\n\nCleanup:\n\n- Dropped support for Django 1.3\n- Added support for Python 3\n- Updated documentation\n- Switched testing to py.test\n- Switched to zest.releaser\n\n\n1.0.1 (2013-10-06)\n------------------\n\n- Fixed tests\n\n\n1.0.0 (2013-07-05)\n------------------\n\nInitial release:\n\n- Extracted from django-fusionbox\n- Safe JSON Serializer\n- Safe JSON template filter\n- JSON Views",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/fusionbox/django-argonauts",
"keywords": "rest json views django helpers",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "django-argonauts",
"package_url": "https://pypi.org/project/django-argonauts/",
"platform": "",
"project_url": "https://pypi.org/project/django-argonauts/",
"project_urls": {
"Homepage": "https://github.com/fusionbox/django-argonauts"
},
"release_url": "https://pypi.org/project/django-argonauts/1.2.0/",
"requires_dist": null,
"requires_python": "",
"summary": "A lightweight collection of JSON helpers for Django.",
"version": "1.2.0"
},
"last_serial": 2353729,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "14397e132f7e97eae4fe6cc8de2a29ee",
"sha256": "fc8efe3e2d09374938c575bc3990288eed1b7ec40d8bf8762ab77a82bdb75bea"
},
"downloads": -1,
"filename": "django-argonauts-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "14397e132f7e97eae4fe6cc8de2a29ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7108,
"upload_time": "2013-08-06T00:44:59",
"url": "https://files.pythonhosted.org/packages/92/2a/09936c8e0b287ca8ad2485a152af67ccdfd4a0a2481f1e9e2577cc18d1f3/django-argonauts-1.0.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "e418cce841cd28f929c6c9055f0bb7ea",
"sha256": "f41f57a6140f8b935ad311394a50ed3a62201ce23a9bf50ff384b4d891cd5a1a"
},
"downloads": -1,
"filename": "django-argonauts-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "e418cce841cd28f929c6c9055f0bb7ea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7198,
"upload_time": "2013-10-16T20:19:52",
"url": "https://files.pythonhosted.org/packages/07/0e/462a67552860c31bd8faa3c8ddac52d79a7b61b5850a78d16c38d99e5a06/django-argonauts-1.0.1.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "6070e77d1987a54c9f9be831ef9417d4",
"sha256": "4a4a04f6afde2924fa3f4efc2a9e8257125e17117d4cbce49b2a118e2aa57df2"
},
"downloads": -1,
"filename": "django-argonauts-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "6070e77d1987a54c9f9be831ef9417d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6560,
"upload_time": "2015-04-20T23:25:37",
"url": "https://files.pythonhosted.org/packages/61/9f/20b709f88740080c5559ed3419124e35e5a53f69ff105aa95b2126504983/django-argonauts-1.1.0.tar.gz"
}
],
"1.1.1": [
{
"comment_text": "",
"digests": {
"md5": "1fe102800d4dce0995a04ded5c3b1265",
"sha256": "b34b13c080cebd7f7a197745cb9b1cc7b9a8bc0a938322e8983b7de7e63c06fd"
},
"downloads": -1,
"filename": "django-argonauts-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "1fe102800d4dce0995a04ded5c3b1265",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6562,
"upload_time": "2015-04-20T23:29:25",
"url": "https://files.pythonhosted.org/packages/6d/7b/4371f1201d0b3d137aaa3cf630f0982118375f3e71fd2e8892f621ee43b2/django-argonauts-1.1.1.tar.gz"
}
],
"1.1.2": [
{
"comment_text": "",
"digests": {
"md5": "7e3e5371c8a625d9cedac6eaa70f9e05",
"sha256": "f3e3fdee2101c1a510b85304b7e0c83d010242ab3982d3ef1f7844e591b0d55e"
},
"downloads": -1,
"filename": "django-argonauts-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "7e3e5371c8a625d9cedac6eaa70f9e05",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7188,
"upload_time": "2015-05-27T18:02:43",
"url": "https://files.pythonhosted.org/packages/7d/a2/022f7fde7f65bdd2a1e9455de094a472dc24c8f33e263aa80cb07b65cef3/django-argonauts-1.1.2.tar.gz"
}
],
"1.1.3": [
{
"comment_text": "",
"digests": {
"md5": "29480ad33c6e7aaa6ed914bb2de4f546",
"sha256": "2f520c6d0ca93e25a1a98815d3d534cb2127a5d576b74373e8ed45d7bdd2afa2"
},
"downloads": -1,
"filename": "django-argonauts-1.1.3.tar.gz",
"has_sig": false,
"md5_digest": "29480ad33c6e7aaa6ed914bb2de4f546",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7359,
"upload_time": "2015-05-27T20:08:33",
"url": "https://files.pythonhosted.org/packages/5b/38/a99f75df6408e33be1d81327ac14ee0c9137cd018cfa3e28f6454cb600bf/django-argonauts-1.1.3.tar.gz"
}
],
"1.1.4": [
{
"comment_text": "",
"digests": {
"md5": "51bb10b86437472c7cd8121c810c7c9f",
"sha256": "6c07e9f837523875ad5d7cc5375bb8526d8e1d72a0999eb8ce3fb617ea718fcd"
},
"downloads": -1,
"filename": "django-argonauts-1.1.4.tar.gz",
"has_sig": false,
"md5_digest": "51bb10b86437472c7cd8121c810c7c9f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7412,
"upload_time": "2015-07-29T17:57:50",
"url": "https://files.pythonhosted.org/packages/36/ae/0decc6425ab0af0836c51b1b13ff0efc4daf99d2fdecab482d6c52004139/django-argonauts-1.1.4.tar.gz"
}
],
"1.2.0": [
{
"comment_text": "",
"digests": {
"md5": "22e8d2efc63eea80c714bfb38a2956a0",
"sha256": "7a41748545c839ed8145036c0b9f2d0cd03fa856ee77aa0f6ba4d96e4086811a"
},
"downloads": -1,
"filename": "django-argonauts-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "22e8d2efc63eea80c714bfb38a2956a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7435,
"upload_time": "2016-09-20T21:01:06",
"url": "https://files.pythonhosted.org/packages/00/fa/440898ae46aceb7094d3b5b2bdd5f63a2190b80e21becf46609aa4ef6571/django-argonauts-1.2.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "22e8d2efc63eea80c714bfb38a2956a0",
"sha256": "7a41748545c839ed8145036c0b9f2d0cd03fa856ee77aa0f6ba4d96e4086811a"
},
"downloads": -1,
"filename": "django-argonauts-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "22e8d2efc63eea80c714bfb38a2956a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7435,
"upload_time": "2016-09-20T21:01:06",
"url": "https://files.pythonhosted.org/packages/00/fa/440898ae46aceb7094d3b5b2bdd5f63a2190b80e21becf46609aa4ef6571/django-argonauts-1.2.0.tar.gz"
}
]
}