{ "info": { "author": "Praekelt Consulting", "author_email": "dev@praekelt.com", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Django Cache Headers\n====================\n\n.. figure:: https://travis-ci.org/praekelt/django-cache-headers.svg?branch=develop\n :align: center\n :alt: Travis\n\nOverview\n--------\n\nDjango Cache Headers allows you to set HTTP caching headers for URL patterns\naccording to certain policies. It does not perform any caching itself - it\nmerely sets the headers on the response which are then interpreted by eg. Varnish.\n\nDoing a truly zero-conf Varnish turned out to be fragile, so Django Cache\nHeaders now generates a VCL file that can be included into or adapted to your\ndefault Varnish configuration file.\n\nInstallation\n------------\n\n1. Install or add ``django-cache-headers`` to your Python path.\n2. Add ``cache_headers`` to your ``INSTALLED_APPS`` setting.\n3. Add ``cache_headers.middleware.CacheHeadersMiddleware`` before\n SessionMiddleware and AuthenticationMiddleware and MessageMiddleware to your\n ``MIDDLEWARE_CLASSES`` setting.\n\nPolicies\n--------\nDjango Cache Headers provides four caching policies. You may define your own policies.:\n\n1. all-users - response is marked as cached once for all users.\n2. anonymous-only - response is marked as cached once only for anonymous users.\n3. anonymous-and-authenticated - response is marked as cached once for anonymous users and once for authenticated users.\n4. per-user - response is marked as cached once for anonymous users and for each authenticated user individually.\n\nSettings\n--------\n\nThe ``timeouts`` key combines the policy, timeout in seconds and URL regexes in a nested dictionary::\n\n CACHE_HEADERS = {\n \"timeouts\": {\n \"all-users\": {\n 60: (\n \"^/all-users/\",\n )\n },\n \"anonymous-only\": {\n 60: (\n \"^/anonymous-only/\",\n )\n },\n \"anonymous-and-authenticated\": {\n 60: (\n \"^/anonymous-and-authenticated/\",\n )\n },\n \"per-user\": {\n 60: (\n \"^/per-user/\",\n )\n },\n \"custom-policy\": {\n 60: (\n \"^/custom-policy/\",\n )\n }\n }\n }\n\nSet ``browser-cache-seconds`` to specify how long the browser may cache a\nresponse before it has to revalidate with the server. It defaults to 5 seconds.::\n\n CACHE_HEADERS = {\"browser-cache-seconds\": 10}\n\nSet ``enable-tampering-checks`` to enable checks that guard against cache\npoising by tampering with the cookies.\nKeep this disabled for most unit tests. Unit test's client.login() does not\ntrigger the normal expected login path.\n\n CACHE_HEADERS = {\"enable-tampering-checks\": True}\n\nVarnish configuration\n---------------------\n\nGenerate the VCL snippet::\n\n python manage.py generate_vcl > /path/to/generated.vcl\n\nSave the contents of `sample.vcl `_ as `/etc/varnish/default.vcl`.\nRestart Varnish for the configuration to take effect.\n\nAuthors\n=======\n\nPraekelt Consulting\n-------------------\n\n* Hedley Roos\n* Altus Barry\n\nChangelog\n=========\n\n0.4\n---\n#. Django 2.0 and Python 3 compatibility. Django 1.9 support has been dropped.\n\n0.3.3\n-----\n#. Fix anonymous-only policy to consider isauthenticated cookie.\n\n0.3.2\n-----\n#. Ensure isauthenticated cookie expires at end of session if session is set to do so.\n\n0.3.1\n-----\n#. An anonymous user may in fact have a session. Handle this case gracefully.\n\n0.3\n---\n#. Added vcl generation management command, to be used in tandem with varnish. sample.vcl updated to reflect usage.\n#. Make use of on_user_auth_event to ensure no-cache header is set during login and logout.\n#. Extra protection against tampered session cookie.\n#. Policies no longer makes an assumption on the session cookie name.\n\n0.2.2\n-----\n#. Iterate over regexes in order of most specific (longest) to least specific (shortest).\n#. Revert OrderedDict change since it is not required anymore due to the above change.\n\n0.2.1\n-----\n#. Use an OrderedDict for guaranteed policy iteration order.\n\n0.2\n---\n#. Ignoring cookies completely when setting headers turned out to be a mistake due to too many security concerns. Restore them.\n\n0.1.3\n-----\n#. Handle case where user may also be logged in and a cookie not being set.\n\n0.1.2\n-----\n#. Use the s-maxage header for compatability with Varnish.\n\n0.1.1\n-----\n#. Leave response untouched if status code is not 200.\n\n0.1\n---\n#. Initial release.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/praekelt/django-cache-headers", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-cache-headers", "package_url": "https://pypi.org/project/django-cache-headers/", "platform": "", "project_url": "https://pypi.org/project/django-cache-headers/", "project_urls": { "Homepage": "http://github.com/praekelt/django-cache-headers" }, "release_url": "https://pypi.org/project/django-cache-headers/0.4/", "requires_dist": null, "requires_python": "", "summary": "Configurable middleware to add HTTP caching headers for URL's.", "version": "0.4" }, "last_serial": 4038709, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0a37abf890a6039b5af651ea1fac0386", "sha256": "1fe91aa9cc94959475598dc094539c3d12973c9b0d991de7cd71b0161eddf193" }, "downloads": -1, "filename": "django_cache_headers-0.1-py2.7.egg", "has_sig": false, "md5_digest": "0a37abf890a6039b5af651ea1fac0386", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 19551, "upload_time": "2017-03-22T08:20:17", "url": "https://files.pythonhosted.org/packages/3c/7b/ec8a56f4dd44bb7bd2b9ecfb4783b3d2035fd59aced5f65509410e4c06d4/django_cache_headers-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "fb30b2202e9e4cb68faf280323bde5c9", "sha256": "b61c364ba0da755aa2af56fad1978c9b0bdc9d1c33bfbf0724bf31ad6d99bdf8" }, "downloads": -1, "filename": "django-cache-headers-0.1.tar.gz", "has_sig": false, "md5_digest": "fb30b2202e9e4cb68faf280323bde5c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7357, "upload_time": "2017-03-22T08:20:13", "url": "https://files.pythonhosted.org/packages/22/a9/dbcc44c002c40d0ba9ed55171bccf9fbf7f4794ac40852d007bd98d0a380/django-cache-headers-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "844d18658e0e142bd25327cf625589ed", "sha256": "bcf063285f6092907637144fc46cc90ae7ec7dc7d1a4a3fdf8ddad327a4b871e" }, "downloads": -1, "filename": "django_cache_headers-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "844d18658e0e142bd25327cf625589ed", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 19913, "upload_time": "2017-03-29T19:18:28", "url": "https://files.pythonhosted.org/packages/15/66/3930e7e7661558d1bae3f9558e1cae88229624ba2c8b8300b8ff89410875/django_cache_headers-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5f6c5ea8f7e2b71e948809044ee8c9fb", "sha256": "880c39dcb148a050535e7d51a883e3851daebd6b2aec555bed101c90748ff632" }, "downloads": -1, "filename": "django-cache-headers-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5f6c5ea8f7e2b71e948809044ee8c9fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7629, "upload_time": "2017-03-29T19:18:26", "url": "https://files.pythonhosted.org/packages/7a/c6/81088d133dc60b00834c5dbe8bed100117f5c2c77fcfd34d22a93c56a511/django-cache-headers-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "de5a6a4f7c13a4a97381cf8c0abcff42", "sha256": "8a41a16a42efbc9ba9cae851977c7c40bb1a539e91a51dc107d3c283e3b4c516" }, "downloads": -1, "filename": "django_cache_headers-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "de5a6a4f7c13a4a97381cf8c0abcff42", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 20132, "upload_time": "2017-04-09T16:48:54", "url": "https://files.pythonhosted.org/packages/cd/35/3fc755c6bd94913a9b9f86a1ecb9590648676fdc63bf4463c607f09a497d/django_cache_headers-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "3b297d01583530f51ce7e80725fe3fab", "sha256": "175fb4e45c4726955f1c1c82b51a60161bf88f8a42d5609f308da8d7387b5494" }, "downloads": -1, "filename": "django-cache-headers-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3b297d01583530f51ce7e80725fe3fab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7812, "upload_time": "2017-04-09T16:48:50", "url": "https://files.pythonhosted.org/packages/92/35/51b8d1a6b049f3b5f08621549afa111a7ef82b344a3e77147becf7fb2a89/django-cache-headers-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "92e1a1d85f3b5993f52d7799f9817264", "sha256": "aa9ef5e74d0eaecce038319326b176d0d7ff9f0b9b00fa2a3ed9ff8b464ce618" }, "downloads": -1, "filename": "django_cache_headers-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "92e1a1d85f3b5993f52d7799f9817264", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 20292, "upload_time": "2017-04-12T14:18:43", "url": "https://files.pythonhosted.org/packages/dc/d1/d56ea3f53fe2599662707200a4ff3bc305cb47484db94dec93e3f7b719f5/django_cache_headers-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "dc6d4b38d7a484cbbfd462ccc52465cd", "sha256": "93ec498ff761a06932736d5e02fb02a28dd334f99aeb772347b786ca6d566bde" }, "downloads": -1, "filename": "django-cache-headers-0.1.3.tar.gz", "has_sig": false, "md5_digest": "dc6d4b38d7a484cbbfd462ccc52465cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7949, "upload_time": "2017-04-12T14:18:39", "url": "https://files.pythonhosted.org/packages/10/7e/d7ad112cb38699f37ffe76850cbb5ca9407f5960b17bc52f96db3e226c7c/django-cache-headers-0.1.3.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7302cd7557e4ed60bdf075e606777ce6", "sha256": "3bf802bfb3e455e6a5f1e967205bfd6dac3abaa1dc52f05648f54fec4b9d2e84" }, "downloads": -1, "filename": "django_cache_headers-0.2-py2.7.egg", "has_sig": false, "md5_digest": "7302cd7557e4ed60bdf075e606777ce6", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 20803, "upload_time": "2017-06-12T20:02:36", "url": "https://files.pythonhosted.org/packages/b6/99/d8b608161eacac4d334b5f1e5d93e56f719c13b041a471402f9d13c2e53c/django_cache_headers-0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b09a13f24f9bd1e107f94cdc34d6dae7", "sha256": "462cb2af3bddf7a10ad9cde36d296f605f4ccd98a90504c215f29229ccd5ca56" }, "downloads": -1, "filename": "django-cache-headers-0.2.tar.gz", "has_sig": false, "md5_digest": "b09a13f24f9bd1e107f94cdc34d6dae7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8953, "upload_time": "2017-06-12T20:02:31", "url": "https://files.pythonhosted.org/packages/95/e3/f0b76076d4aab77472d0fa990e51aa3345e650243c9977ec10fb19c708cf/django-cache-headers-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5f7953b3c2aca209fab0501a6a13cc95", "sha256": "3d775192635b9c3d5cc8ca0eca1f1e938bdbc454a6cd5700283a7971c57a7b5b" }, "downloads": -1, "filename": "django_cache_headers-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "5f7953b3c2aca209fab0501a6a13cc95", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 20924, "upload_time": "2017-08-29T19:26:22", "url": "https://files.pythonhosted.org/packages/ae/64/eb763b6131465610a4f315dc62023ec72391c59400eecc24fa15eea659f2/django_cache_headers-0.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "1b47ce5be5c94f8525b2534a525aab60", "sha256": "9e33083947c6faf8a9f5fa531a3adf553e845c5946ca7a34789050b3a629520a" }, "downloads": -1, "filename": "django-cache-headers-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1b47ce5be5c94f8525b2534a525aab60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9079, "upload_time": "2017-08-29T19:26:18", "url": "https://files.pythonhosted.org/packages/36/ab/9c70bd3f5dcb683e4f65921dccb4c89aa4eedcadd78b9746e5145f7d00c0/django-cache-headers-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "a470c2fc19a5deac7348a750d3ab240c", "sha256": "9b8a02d2a17cbfa8070da11ffc356fb8c85bdd6ed196888389a4923374c858d9" }, "downloads": -1, "filename": "django_cache_headers-0.2.2-py2.7.egg", "has_sig": false, "md5_digest": "a470c2fc19a5deac7348a750d3ab240c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 21297, "upload_time": "2017-09-06T08:12:28", "url": "https://files.pythonhosted.org/packages/ab/53/cbfa8a7ca62cc42262c4d4cc2d4625510eac2c1c1f3b8a39dfaf8f8f4992/django_cache_headers-0.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "1c1522d3a26338a0778f216537147a7f", "sha256": "1e5a0c3339cb9b7779cbf6e9b4bb160bc0d4b9e9faf52ae38b24e42d869ffb91" }, "downloads": -1, "filename": "django-cache-headers-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1c1522d3a26338a0778f216537147a7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9183, "upload_time": "2017-09-06T08:12:26", "url": "https://files.pythonhosted.org/packages/b6/8e/36320ca90fc6e75b1ebd5eb4661f744114851c8fecd0775b24bd09bb14ab/django-cache-headers-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "5f4111e7f49c8931ad5adaee7a56cfed", "sha256": "7d663fad00617a001b2a44f2c979f0d5f77dcb75466c68447bb1d83d80250779" }, "downloads": -1, "filename": "django_cache_headers-0.3-py2.7.egg", "has_sig": false, "md5_digest": "5f4111e7f49c8931ad5adaee7a56cfed", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 29659, "upload_time": "2017-10-10T09:57:36", "url": "https://files.pythonhosted.org/packages/a8/59/629325dce822ec09520f460c1f08e7e237dcf1a741fe18c86aef6f4d4e40/django_cache_headers-0.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "45815b986307a58676424e17381e8988", "sha256": "63610b482dbf5ecdf0b67d5491fb8e630adec6c0ca083a8d763b0a991ff7b35b" }, "downloads": -1, "filename": "django-cache-headers-0.3.tar.gz", "has_sig": false, "md5_digest": "45815b986307a58676424e17381e8988", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10250, "upload_time": "2017-10-10T09:57:32", "url": "https://files.pythonhosted.org/packages/04/8c/703b2b686a2641983be81974fee837d3f5534016e6b2e9ba9606dc58fcb2/django-cache-headers-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "49b6bc5dbd16a261421d4d04c0cc3f90", "sha256": "5921ce276ac0f97f0e277fc65b3be7be43b0525b8f48e6bbb36fd83afecc662f" }, "downloads": -1, "filename": "django_cache_headers-0.3.1-py2.7.egg", "has_sig": false, "md5_digest": "49b6bc5dbd16a261421d4d04c0cc3f90", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 30783, "upload_time": "2017-10-11T15:25:19", "url": "https://files.pythonhosted.org/packages/2d/09/03c17dceedd92bc60f5779b3b50c138f9791099bf1a686d0954eaecfbe5e/django_cache_headers-0.3.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "adfe0b7790adcb639898c8aa156c000b", "sha256": "8aa05a34060123afefa5d550d5deeeefa4fd1916b45095672c985fe254dc657d" }, "downloads": -1, "filename": "django-cache-headers-0.3.1.tar.gz", "has_sig": false, "md5_digest": "adfe0b7790adcb639898c8aa156c000b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10800, "upload_time": "2017-10-11T15:25:14", "url": "https://files.pythonhosted.org/packages/b2/e5/a01a39ec7d0369c6819ad73ea0010adb27275f26090231c196e0a3df16d4/django-cache-headers-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d476f9c431153f337bc6b11332bf117d", "sha256": "4d1aa4de928daf988d8331693038c98df6e8f8d9204d6238948d839a34ea6e5b" }, "downloads": -1, "filename": "django_cache_headers-0.3.2-py2.7.egg", "has_sig": false, "md5_digest": "d476f9c431153f337bc6b11332bf117d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 30942, "upload_time": "2017-11-17T08:43:02", "url": "https://files.pythonhosted.org/packages/f0/e9/bbbb8183d8aa9f7a3930018100427af509c9737b53f9bc240fa519b81add/django_cache_headers-0.3.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "80be6ce96a64c2319b5a72aba571f70f", "sha256": "33b7e579ae5056398b056e8955a619ae12747cfa3976f968a80ec498f074cf6c" }, "downloads": -1, "filename": "django-cache-headers-0.3.2.tar.gz", "has_sig": false, "md5_digest": "80be6ce96a64c2319b5a72aba571f70f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15635, "upload_time": "2017-11-17T08:42:57", "url": "https://files.pythonhosted.org/packages/0d/2f/9e5760815e82657ea9919d0fc937ff2acea7a0a9caa860a9774f702dff6d/django-cache-headers-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "91f27069df3609be7fc9d73f94a13d5e", "sha256": "4be9c5f8c221cdbc8f536b250da143a1b08eacdae8ca47a99ebb3f9c65d46800" }, "downloads": -1, "filename": "django_cache_headers-0.3.3-py2.7.egg", "has_sig": false, "md5_digest": "91f27069df3609be7fc9d73f94a13d5e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 30949, "upload_time": "2018-01-04T09:55:34", "url": "https://files.pythonhosted.org/packages/1e/70/b82f2a958544b88103a1c9729043fccdceb812bd281ba28c76241832f8de/django_cache_headers-0.3.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "830bd683b1960ca8efb5e252b0e1d41f", "sha256": "62de876797289bc4281e217f0ae6ffd78bf2860622bdda84c9b8ac0583bc0d14" }, "downloads": -1, "filename": "django-cache-headers-0.3.3.tar.gz", "has_sig": false, "md5_digest": "830bd683b1960ca8efb5e252b0e1d41f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15671, "upload_time": "2018-01-04T09:55:31", "url": "https://files.pythonhosted.org/packages/dc/2c/be60f652f8218400e647330c9e8aea5c5a9337c0aa774dc422de8f25da55/django-cache-headers-0.3.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "0c7f821ee8924740dec8140600a2205d", "sha256": "9455a3f459e60627f96954a34792ae2a7872d8c76890215c4acc493a23f45a64" }, "downloads": -1, "filename": "django_cache_headers-0.4-py2.7.egg", "has_sig": false, "md5_digest": "0c7f821ee8924740dec8140600a2205d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33383, "upload_time": "2018-07-07T08:58:48", "url": "https://files.pythonhosted.org/packages/84/65/0530400805746f4cd054039dc43a1039a1b8183db24027bad3f4e72597bf/django_cache_headers-0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b3f0af2f3a08891b6dc699c4813af185", "sha256": "96e49403fcad4844c74ebc4da7aa362935ed14553286a2e03198f0e55f11d34b" }, "downloads": -1, "filename": "django-cache-headers-0.4.tar.gz", "has_sig": false, "md5_digest": "b3f0af2f3a08891b6dc699c4813af185", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14988, "upload_time": "2018-07-07T08:58:43", "url": "https://files.pythonhosted.org/packages/3d/86/b834a936510b8d5ef434771815b6f05668a9251111987cd9710ab2910d9b/django-cache-headers-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c7f821ee8924740dec8140600a2205d", "sha256": "9455a3f459e60627f96954a34792ae2a7872d8c76890215c4acc493a23f45a64" }, "downloads": -1, "filename": "django_cache_headers-0.4-py2.7.egg", "has_sig": false, "md5_digest": "0c7f821ee8924740dec8140600a2205d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33383, "upload_time": "2018-07-07T08:58:48", "url": "https://files.pythonhosted.org/packages/84/65/0530400805746f4cd054039dc43a1039a1b8183db24027bad3f4e72597bf/django_cache_headers-0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b3f0af2f3a08891b6dc699c4813af185", "sha256": "96e49403fcad4844c74ebc4da7aa362935ed14553286a2e03198f0e55f11d34b" }, "downloads": -1, "filename": "django-cache-headers-0.4.tar.gz", "has_sig": false, "md5_digest": "b3f0af2f3a08891b6dc699c4813af185", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14988, "upload_time": "2018-07-07T08:58:43", "url": "https://files.pythonhosted.org/packages/3d/86/b834a936510b8d5ef434771815b6f05668a9251111987cd9710ab2910d9b/django-cache-headers-0.4.tar.gz" } ] }