{ "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 Ultracache\n=================\n**Cache views and template fragments. Automatic fine-grained cache invalidation from Django level, through proxies, to the browser.**\n\n.. figure:: https://travis-ci.org/praekelt/django-ultracache.svg?branch=develop\n :align: center\n :alt: Travis\n\n.. contents:: Contents\n :depth: 5\n\nInstallation\n------------\n\n#. Install or add ``django-ultracache`` to your Python path.\n\n#. Add ``ultracache`` to your ``INSTALLED_APPS`` setting.\n\n#. Ensure ``django.template.context_processors.request`` is in the context processors setting.\n\nFeatures\n--------\n\n#. Caches template fragments, views, Django Rest Framework viewsets.\n\n#. It takes the sites framework into consideration, allowing different caching per site.\n\n#. Crucially, it is aware of model objects that are subjected to its caching. When an object is modified\n all affected cache key are automatically expired. This allows the user to set longer expiry times without having\n to worry about stale content.\n\n#. The cache invalidation can be extended to issue purge commands to Varnish, Nginx or other reverse caching proxies.\n\nUsage\n-----\n\nThe ``ultracache`` template tag\n*******************************\n\n``django-ultracache`` provides a template tag ``{% ultracache %}`` that functions like Django's\nstandard cache template tag, with these exceptions.\n\nSimplest use case::\n\n {% load ultracache_tags %}\n {% ultracache 3600 \"my_identifier\" object 123 undefined \"string\" %}\n {{ object.title }}\n {% endultracache %}\n\nThe tag can be nested. ``ultracache`` is aware of all model objects that are subjected to its caching.\nIn this example cache keys ``outer`` and ``inner_one`` are expired when object one is changed but\ncache key ``inner_two`` remains unaffected::\n\n {% load ultracache_tags %}\n {% ultracache 1200 \"outer\" %}\n {% ultracache 1200 \"inner_one\" %}\n title = {{ one.title }}\n {% endultracache %}\n {% ultracache 1200 \"inner_two\" %}\n title = {{ two.title }}\n {% endultracache %}\n {% endultracache %}\n\nThe ``cached_get`` and ``ultracache`` view decorators\n*****************************************************\n\n``django-ultracache`` also provides decorators ``cached_get`` and\n``ultracache`` to cache your views. The parameters follow the same rules as the\n``ultracache`` template tag except they must all resolve.\n``request.get_full_path()`` is always implicitly added to the cache keyi. The\n``ultracache`` decorator is newer and cleaner, so use that where possible::\n\n from ultracache.decorators import cached_get, ultracache\n\n\n class CachedView(TemplateView):\n template_name = \"ultracache/cached_view.html\"\n\n @cached_get(300, \"request.is_secure()\", 456)\n def get(self, *args, **kwargs):\n return super(CachedView, self).get(*args, **kwargs)\n\n @ultracache(300, \"request.is_secure()\", 456)\n class AnotherCachedView(TemplateView):\n template_name = \"ultracache/cached_view.html\"\n\nThe ``cached_get`` decorator can be used in an URL pattern::\n\n from ultracache.decorators import cached_get\n\n url(\n r\"^cached-view/$\",\n cached_get(3600)(TemplateView.as_view(\n template_name=\"myproduct/template.html\"\n )),\n name=\"cached-view\"\n )\n\nDo not indiscriminately use the decorators. They only ever operate on GET\nrequests but cannot know if the code being wrapped retrieves data from eg. the\nsession. In such a case they will cache things they are not supposed to cache.\n\nIf your view is used by more than one URL pattern then it is highly recommended\nto apply the ``cached_get`` decorator in the URL pattern. Applying it directly\nto the ``get`` method may lead to cache collisions, especially if\n``get_template_names`` is overridden.\n\nDjango Rest Framework viewset caching\n*************************************\n\nCache ``list`` and ``retrieve`` actions on viewsets::\n\n # Cache all viewsets\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {\"*\": {}}}\n\n }\n\n # Cache a specific viewset by name\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {\"my.app.MyViewset\": {}}}\n\n }\n\n # Cache a specific viewset by class\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {MyViewset: {}}}\n\n }\n\n # Timeouts default to 300 seconds\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {\"*\": {\"timeout\": 1200}}}\n\n }\n\n # Evaluate code to append to the cache key. This example caches differently\n # depending on whether the user is logged in or not.\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {\"*\": {\"evaluate\": \"request.user.is_anonymous\"}}}\n\n }\n\n # Evaluate code to append to the cache key via a callable.\n def mycallable(viewset, request):\n if viewset.__class__.__name__ == \"foo\":\n return request.user.id\n\n ULTRACACHE = {\n \"drf\": {\"viewsets\": {\"*\": {\"evaluate\": mycallable}}}\n\n }\n\nPurgers\n*******\n\nYou can create custom reverse caching proxy purgers. See ``purgers.py`` for examples::\n\n ULTRACACHE = {\n \"purge\": {\"method\": \"myproduct.purgers.squid\"}\n }\n\nThe most useful purger is ``broadcast``. As the name implies it broadcasts purge\ninstructions to a queue. Note that you need celery running and configured to\nwrite to a RabbitMQ instance for this to work correctly.\n\nThe purge instructions are consumed by the ``cache-purge-consumer.py`` script.\nThe script reads a purge instruction from the queue and then sends a purge\ninstruction to an associated reverse caching proxy. To run the script::\n\n virtualenv ve\n ./ve/bin/pip install -e .\n ./ve/bin/python bin/cache-purge-consumer.py -c config.yaml\n\nThe config file has these options:\n\n#. rabbit-url\n Specify RabbitMQ connection parameters in the AMQP URL format\n ``amqp://username:password@host:port/[?query-string]``.\n *Optional. Defaults to ``amqp://guest:guest@127.0.0.1:5672/%2F``. Note the\n URL encoding for the path.*\n\n#. host\n A reverse caching proxy may be responsible for many domains (hosts), and\n ultracache will keep track of the host that is involved in a purge request;\n however, if you have a use case that does not supply a hostname, eg. doing a\n PURGE request via curl, then forcing a hostname solves the use case.\n *Optional.*\n\n#. proxy-address\n The IP address or hostname of the reverse caching proxy.\n *Optional. Defaults to 127.0.0.1.*\n\n#. logfile\n Set to a file to log all purge instructions. Specify ``stdout`` to log to\n standard out.\n *Optional.*\n\nOther settings\n**************\n\nAutomatic invalidation defaults to true. To disable automatic invalidation set::\n\n ULTRACACHE = {\n \"invalidate\": False\n }\n\n``django-ultracache`` maintains a registry in Django's caching backend (see\n`How does it work`). This registry can\"t be allowed to grow unchecked, thus a\nlimit is imposed on the registry size. It would be inefficient to impose a size\nlimit on the entire registry so a maximum size is set per cached value. It\ndefaults to 1000000 bytes::\n\n ULTRACACHE = {\n \"max-registry-value-size\": 10000\n }\n\nIt is highly recommended to use a backend that supports compression because a\nlarger size improves cache coherency.\n\nIf you make use of a reverse caching proxy then you need the original set of\nrequest headers (or a relevant subset) to purge paths from the proxy correctly.\nThe problem with the modern web is the sheer amount of request headers present\non every request would lead to a large number of entries having to be stored by\n``django-ultracache`` in Django's caching backend. Your proxy probably has a\ncustom hash computation rule that considers only the request path (always\nimplied) and Django's sessionid cookie, so define a setting to also consider only\nthe cookie on the Django side::\n\n ULTRACACHE = {\n \"consider-headers\": [\"cookie\"]\n }\n\nIf you only need to consider some cookies then set::\n\n ULTRACACHE = {\n \"consider-cookies\": [\"sessionid\", \"some-other-cookie\"]\n }\n\nHow does it work?\n-----------------\n\n``django-ultracache`` monkey patches ``django.template.base.Variable._resolve_lookup`` to make a record of\nmodel objects as they are resolved. The ``ultracache`` template tag inspects the list of objects contained\nwithin it and keeps a registry in Django's caching backend. A ``post_save`` signal handler monitors objects\nfor changes and expires the appropriate cache keys.\n\nTips\n----\n\n#. If you are running a cluster of Django nodes then ensure that they use a shared caching backend.\n\nAuthors\n=======\n\nPraekelt Consulting\n-------------------\n* Hedley Roos\n\nChangelog\n=========\n\n1.11.12\n-------\n#. Simpler class based decorator.\n#. Add Django 2.1 and Python 3.6 tests.\n\n1.11.11\n-------\n#. Add a test for tasks.\n\n1.11.10\n-------\n#. Ensure a working error message if pika is not found.\n#. `cached_get` now considers any object accessed in get_context_data and not just objects accessed in the view template.\n#. The original request headers are now sent to the purgers along with the path. This enables fine-grained proxy invalidation.\n#. Django 2.0 and Python 3 compatibility. Django 1.9 support has been dropped.\n\n1.11.9\n------\n#. Simplify the DRF caching implementation. It also now considers objects touched by sub-serializers.\n\n1.11.8\n------\n#. The DRF settings now accept dotted names.\n#. The DRF setting now accepts a callable whose result forms part of the cache key.\n\n1.11.7\n------\n#. Use pickle to cache DRF data because DRF uses a Decimal type that isn't recognized by Python's json library.\n\n1.11.6\n------\n#. Adjust the DRF decorator so it can be used in more places.\n\n1.11.5\n------\n#. Django Rest Framework caching does not cache the entire response anymore, only the data and headers.\n\n1.11.4\n------\n#. Move the twisted work to `django-ultracache-twisted`.\n#. Clearly raise exception if libraries are not found.\n\n1.11.3\n------\n#. Move the twisted directory one lower.\n\n1.11.2\n------\n#. Package the product properly so all directories are included.\n\n1.11.1\n------\n#. More defensive code to ensure we don't interfere during migrations in a test run.\n\n1.11.0\n------\n#. Introduce `rabbitmq-url` setting for use by `broadcast_purge` task.\n#. Django 1.11 support.\n#. Deprecate Django 1.6 support.\n\n1.10.2\n------\n#. Remove logic that depends on SITE_ID so site can also be inferred from the request.\n\n1.10.1\n------\n#. Add caching for Django Rest Framework viewsets.\n#. Django 1.10 compatibility.\n\n1.9.1\n-----\n#. Add missing import only surfacing in certain code paths.\n#. `Invalidate` setting was not being loaded properly. Fixed.\n#. Handle content types RuntimeError when content types have not been migrated yet.\n\n1.9.0\n-----\n#. Move to tox for tests.\n#. Django 1.9 compatibility.\n\n0.3.8\n-----\n#. Honor the `raw` parameter send along by loaddata. It prevents redundant post_save handling.\n\n0.3.7\n-----\n#. Revert the adding of the template name. It introduces a performance penalty in a WSGI environment.\n#. Further reduce the number of writes to the cache.\n\n0.3.6\n-----\n#. Add template name (if possible) to the caching key.\n#. Reduce number of calls to set_many.\n\n0.3.5\n-----\n#. Keep the metadata cache size in check to prevent possibly infinite growth.\n\n0.3.4\n-----\n#. Prevent redundant sets.\n#. Work around an apparent Python bug related to `di[k].append(v)` vs `di[k] = di[k] + [v]`. The latter is safe.\n\n0.3.3\n-----\n#. Handle case where one cached view renders another cached view inside it, thus potentially sharing the same cache key.\n\n0.3.2\n-----\n#. The `ultracache` template tag now only caches HEAD and GET requests.\n\n0.3.1\n-----\n#. Trivial release to work around Pypi errors of the day.\n\n0.3\n---\n#. Replace `cache.get` in for loop with `cache.get_many`.\n\n0.2\n---\n#. Do not automatically add `request.get_full_path()` if any of `request.get_full_path()`, `request.path` or `request.path_info` is an argument for `cached_get`.\n\n0.1.6\n-----\n#. Also cache response headers.\n\n0.1.5\n-----\n#. Explicitly check for GET and HEAD request method and cache only those requests.\n\n0.1.4\n-----\n#. Rewrite decorator to be function based instead of class based so it is easier to use in urls.py.\n\n0.1.3\n-----\n#. `cached_get` decorator now does not cache if request contains messages.\n\n0.1.2\n-----\n#. Fix HTTPResponse caching bug.\n\n0.1.1\n-----\n#. Handle case where a view returns an HTTPResponse object.\n\n0.1\n---\n#. Initial release.", "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-ultracache", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-ultracache", "package_url": "https://pypi.org/project/django-ultracache/", "platform": "", "project_url": "https://pypi.org/project/django-ultracache/", "project_urls": { "Homepage": "http://github.com/praekelt/django-ultracache" }, "release_url": "https://pypi.org/project/django-ultracache/1.11.12/", "requires_dist": null, "requires_python": "", "summary": "Drop-in replacement for Django's template fragment caching. Provides automatic cache invalidation.", "version": "1.11.12" }, "last_serial": 5331261, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b481d17217abaf927b3796bb65209a24", "sha256": "46bef994a67d8312197c9a2198c2f6f43a880470c8cfbf19e2b05f1fc20c1268" }, "downloads": -1, "filename": "django_ultracache-0.1-py2.7.egg", "has_sig": false, "md5_digest": "b481d17217abaf927b3796bb65209a24", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27590, "upload_time": "2015-07-14T13:42:14", "url": "https://files.pythonhosted.org/packages/d9/93/9fb9ed53409e40e61f9a4010042e93a7f30cf391e4cefc015f979558e40e/django_ultracache-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "37812d7ad5c6ac756cc22633533656ba", "sha256": "918952f2a0de7d8b3966c697a476a43e18331e7f8e9310a66f2cf67b5df5a9c3" }, "downloads": -1, "filename": "django-ultracache-0.1.tar.gz", "has_sig": false, "md5_digest": "37812d7ad5c6ac756cc22633533656ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22675, "upload_time": "2015-07-14T13:42:09", "url": "https://files.pythonhosted.org/packages/a1/ff/a0b5ced2c201dde35625bf1b65c16cc4c17fb93fbf3ec9a3b51b99e141af/django-ultracache-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "368c4437aca3b3d24bf8c0c6808a95de", "sha256": "42b680719d41e9f235c1f73a73608d15588ea5e7ba1f75ff07821617ca16a63f" }, "downloads": -1, "filename": "django_ultracache-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "368c4437aca3b3d24bf8c0c6808a95de", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27681, "upload_time": "2015-08-15T10:09:29", "url": "https://files.pythonhosted.org/packages/11/3c/c37f3a07afd3f61aad99c790a245c4d8b5c3062c64a1e7d28f1466bbea5f/django_ultracache-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "60417993905854804822987a65567e04", "sha256": "6fe79bd521e1fe8044b0aefa7aa02e9a14d39aea1f33958018a289036a4e838f" }, "downloads": -1, "filename": "django-ultracache-0.1.1.tar.gz", "has_sig": false, "md5_digest": "60417993905854804822987a65567e04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22719, "upload_time": "2015-08-15T10:09:24", "url": "https://files.pythonhosted.org/packages/7b/b6/39c8221b759c457b900e4553f331f0be3d80fec8c57cff52412d2f968152/django-ultracache-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "762f2984595c41722895b9ff43d71eb3", "sha256": "c6cecddb7a08d6f0af43c18e9e56235b0ec2feaf8e0eef5dedf1ef0cfe064e12" }, "downloads": -1, "filename": "django_ultracache-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "762f2984595c41722895b9ff43d71eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27690, "upload_time": "2015-08-15T10:33:03", "url": "https://files.pythonhosted.org/packages/41/17/a0598e1f264de1c7c2a6887e81090555372093ee628c325fb6c9c9b7dd53/django_ultracache-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "bfbb7f647cf44bf011a2e9564d8800d9", "sha256": "f44dc3d578a598e576cb247a9cc2fe98099ef968173bd2e6479922f382cc649e" }, "downloads": -1, "filename": "django-ultracache-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bfbb7f647cf44bf011a2e9564d8800d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22756, "upload_time": "2015-08-15T10:32:58", "url": "https://files.pythonhosted.org/packages/9a/33/7bcabbfda1e49d44468c67b85ca1b1bce9ec8da2c69b6ae038b0b8c49a5c/django-ultracache-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e37357396b40207d0715769a1586472a", "sha256": "260f5cc7ecb1162e115738e1c343ba45e11466ebc005f49a8b0046d8fee7fb57" }, "downloads": -1, "filename": "django_ultracache-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "e37357396b40207d0715769a1586472a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27887, "upload_time": "2015-08-19T13:08:33", "url": "https://files.pythonhosted.org/packages/31/93/418fad8ad8cd9f1f81a8596b0c74ebbceace68575b8e6652e0dfeb780e09/django_ultracache-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ebf38550a23a57c57f2147ddff61246f", "sha256": "3fddcad20a7fe049333e57a25ad57ff94af1cf9b725cf1398937f18a6f29ec87" }, "downloads": -1, "filename": "django-ultracache-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ebf38550a23a57c57f2147ddff61246f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22964, "upload_time": "2015-08-19T13:08:29", "url": "https://files.pythonhosted.org/packages/ea/10/154da4d93c1a9e24dc27281f2c6be1a27d6eb76b2a8b92e61a7bb1f85799/django-ultracache-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "872d4b01763ec8ae5d6b638a4338c7d0", "sha256": "caca6731f2f98ce03855e4a9c372a49c8ba018c78bb0f4f4acf003800de35889" }, "downloads": -1, "filename": "django_ultracache-0.1.4-py2.7.egg", "has_sig": false, "md5_digest": "872d4b01763ec8ae5d6b638a4338c7d0", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 28092, "upload_time": "2015-09-08T11:22:15", "url": "https://files.pythonhosted.org/packages/68/bc/5ba3532c38aa5bd5b8f2423cf9a749eaa8c41d511e098cd517e9acaf6b0e/django_ultracache-0.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "1cb5305125eedd3db1446f48c53848be", "sha256": "1dbf34f194d5ed9e526d132e19b7ab65158b8cc068631c3afcfb6df7153e8a63" }, "downloads": -1, "filename": "django-ultracache-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1cb5305125eedd3db1446f48c53848be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23466, "upload_time": "2015-09-08T11:22:09", "url": "https://files.pythonhosted.org/packages/26/8a/80fd96a16fdcb1c621b4c21adae8494c143c63ca2ff71980b556a5295517/django-ultracache-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "f86ee65dabdeb07bbb01dc3ee6cf28c2", "sha256": "e99ae509728442f5241360963000d03fd35cb9b802ec8cf7567807731a553906" }, "downloads": -1, "filename": "django_ultracache-0.1.5-py2.7.egg", "has_sig": false, "md5_digest": "f86ee65dabdeb07bbb01dc3ee6cf28c2", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 28230, "upload_time": "2015-09-18T15:49:57", "url": "https://files.pythonhosted.org/packages/22/f3/7a931c5c302ba2db849fca1a2ab4d3e45aabf6f50a2f62301eb76c59b815/django_ultracache-0.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "70845f48686fd9d91c0a80a851d41d21", "sha256": "2b61795703a0020915e2c9ec084951deca2005702fe62e161d1fd3445ff48858" }, "downloads": -1, "filename": "django-ultracache-0.1.5.tar.gz", "has_sig": false, "md5_digest": "70845f48686fd9d91c0a80a851d41d21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23650, "upload_time": "2015-09-18T15:49:48", "url": "https://files.pythonhosted.org/packages/85/45/b9562b9f998abbeb72d60eca7fae4d4a2fe20e124775989c4b8741d24f35/django-ultracache-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "d0aa0db7c6a75a1990f579071a4d7607", "sha256": "c9e4ebd5db974251cbaa072b983529334c31a9be42a0cd9639987796bcbefae6" }, "downloads": -1, "filename": "django_ultracache-0.1.6-py2.7.egg", "has_sig": false, "md5_digest": "d0aa0db7c6a75a1990f579071a4d7607", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 29227, "upload_time": "2015-11-26T09:20:49", "url": "https://files.pythonhosted.org/packages/c6/c4/33d544e84e8b4748bdc659c2d9efffc23182cfcb2554b6c0ae4cfeca1cfd/django_ultracache-0.1.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "4383412e3c3feae1cf8440cb99f05d72", "sha256": "03d6d2d898fc4dfe8cd26dcbfdc6cc4acf9edaca04b97ce06fa8fe736090dda8" }, "downloads": -1, "filename": "django-ultracache-0.1.6.tar.gz", "has_sig": false, "md5_digest": "4383412e3c3feae1cf8440cb99f05d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24868, "upload_time": "2015-11-26T09:20:36", "url": "https://files.pythonhosted.org/packages/53/f7/723472fff631a81e562e7bf489a7748011876bea6afb04f32881fb8f7ef7/django-ultracache-0.1.6.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "681d107fcb26ea56fc9ed49c10267e6f", "sha256": "c79b382591c024bfdf8a57629eda340f474a6bbe4dd61514af01f0c3616085bc" }, "downloads": -1, "filename": "django_ultracache-0.2-py2.7.egg", "has_sig": false, "md5_digest": "681d107fcb26ea56fc9ed49c10267e6f", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 30092, "upload_time": "2016-01-18T14:48:08", "url": "https://files.pythonhosted.org/packages/4b/7a/1b66a31b9aaf1abbf24bba9fd874dea65a02b64d16d6a62787a77ae0c2e9/django_ultracache-0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ec734d8b59998c8d1bbb88e214b2746a", "sha256": "c6d280542aa6f7d4b9274b15aef985b2e7780540195e04bf6b71632d1d760258" }, "downloads": -1, "filename": "django-ultracache-0.2.tar.gz", "has_sig": false, "md5_digest": "ec734d8b59998c8d1bbb88e214b2746a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25812, "upload_time": "2016-01-18T14:47:55", "url": "https://files.pythonhosted.org/packages/fd/37/843a5e869357667fe711f5b5232bba074db820bc0d1e84a0abde81725648/django-ultracache-0.2.tar.gz" } ], "0.3": [], "0.3.1": [ { "comment_text": "", "digests": { "md5": "021e992e833a26200d0eb82ab6476556", "sha256": "cc560b086f432607843e5cbac170cb239fd8e51b3ecde365bb14e00afb44000c" }, "downloads": -1, "filename": "django_ultracache-0.3.1-py2.7.egg", "has_sig": false, "md5_digest": "021e992e833a26200d0eb82ab6476556", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31190, "upload_time": "2016-02-03T13:31:38", "url": "https://files.pythonhosted.org/packages/40/af/3f7b118f7d02f02d2d3ceb1798e9a66051ce3b0c8783985de6b471cba7ba/django_ultracache-0.3.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "c5f69c3d2021342d0a7f093e5cc7dbd7", "sha256": "d469522e10f66fb6cf673f446ee00e48a32d0cc23ad2c625bf5dbfdf88082367" }, "downloads": -1, "filename": "django-ultracache-0.3.1.tar.gz", "has_sig": false, "md5_digest": "c5f69c3d2021342d0a7f093e5cc7dbd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30279, "upload_time": "2016-02-03T13:31:21", "url": "https://files.pythonhosted.org/packages/13/09/c2a7d5b70e1464850f1b39ea1908b24288d7c85c58a6f70eb0c685401c60/django-ultracache-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "ec40eeb137665b32c10b4b6f830b4912", "sha256": "45cef5e36cbe2d7d7ea3ecdc0c050318de3892350614a69685dc15f21217e532" }, "downloads": -1, "filename": "django_ultracache-0.3.2-py2.7.egg", "has_sig": false, "md5_digest": "ec40eeb137665b32c10b4b6f830b4912", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31334, "upload_time": "2016-03-08T11:38:00", "url": "https://files.pythonhosted.org/packages/ca/9a/ff47adbe416a22d16bfaa0dbc445846c0ea5fa992859ea4a44655ef3d116/django_ultracache-0.3.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5634154bc54504bb0674d29dedf302dd", "sha256": "1953b5d2d484493e654ef84c3f7932cafbb250e172238dd8767a0a32f21db031" }, "downloads": -1, "filename": "django-ultracache-0.3.2.tar.gz", "has_sig": false, "md5_digest": "5634154bc54504bb0674d29dedf302dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28315, "upload_time": "2016-03-08T11:37:32", "url": "https://files.pythonhosted.org/packages/fa/50/b258383f46843b9b06d47364f08607a43421e7f2922991bdde8d378a1cc0/django-ultracache-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "b8eb758150ab9fd12b88ace65b84adcc", "sha256": "370191ba386c2a82e403409d20ff8d301123d53b3a361761832c494a29387f7b" }, "downloads": -1, "filename": "django_ultracache-0.3.3-py2.7.egg", "has_sig": false, "md5_digest": "b8eb758150ab9fd12b88ace65b84adcc", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31404, "upload_time": "2016-03-10T08:53:15", "url": "https://files.pythonhosted.org/packages/5d/4c/573080822fdc6d15a4ace7611dcdcae3cd64a90e3384ed7fd7c91e2e27e7/django_ultracache-0.3.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "df868593b9e33cc1272d854fb7400464", "sha256": "97b0b3106a2f28d536b2b75a539e15413922159840581926c12c88aeab7203af" }, "downloads": -1, "filename": "django-ultracache-0.3.3.tar.gz", "has_sig": false, "md5_digest": "df868593b9e33cc1272d854fb7400464", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28491, "upload_time": "2016-03-10T08:52:45", "url": "https://files.pythonhosted.org/packages/8b/ca/c037b5380bc840655d91f925a900686e8acd0a9cc9027cf3ce6640e53e4a/django-ultracache-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "8261e003e9b687c08459a6e117ea43df", "sha256": "46062f81da63f214285518f313a0568a472b4a90f953b7c620690fed279dd82f" }, "downloads": -1, "filename": "django_ultracache-0.3.4-py2.7.egg", "has_sig": false, "md5_digest": "8261e003e9b687c08459a6e117ea43df", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31609, "upload_time": "2016-03-15T16:32:45", "url": "https://files.pythonhosted.org/packages/38/be/159370ffdddf06279bddd2c3b18a4e54f913bda7a138a7afa5cddd1633a9/django_ultracache-0.3.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "890ae11b91d855073f7202cb91ba82e4", "sha256": "d7358fa808e945905609b5de12ef554aad2d483faa9d2cc8b17be82a9294625b" }, "downloads": -1, "filename": "django-ultracache-0.3.4.tar.gz", "has_sig": false, "md5_digest": "890ae11b91d855073f7202cb91ba82e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28816, "upload_time": "2016-03-15T16:32:38", "url": "https://files.pythonhosted.org/packages/ae/0b/26cdf8bf579b9d1b089a2776c3fdd55b0433849c684dca3a225f0c391120/django-ultracache-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "d9096201607716b7fb1be319c5723f7b", "sha256": "5244b4c7dee5b0135fb3e5e3d8de978189a796fc1e8396f5a0826385f3d34f04" }, "downloads": -1, "filename": "django_ultracache-0.3.5-py2.7.egg", "has_sig": false, "md5_digest": "d9096201607716b7fb1be319c5723f7b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33020, "upload_time": "2016-03-16T13:59:21", "url": "https://files.pythonhosted.org/packages/8f/d3/b378e7e5ba5a5daf317a7bdd40ddc6fe599e1cc66c541b9c82e8afffbeba/django_ultracache-0.3.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "884380dfe61c68a4872777ea4fe240d2", "sha256": "641d0a281d861a25f9495115fa7a5621dc3baed1f6a8f97cb153af14e8827d15" }, "downloads": -1, "filename": "django-ultracache-0.3.5.tar.gz", "has_sig": false, "md5_digest": "884380dfe61c68a4872777ea4fe240d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30239, "upload_time": "2016-03-16T13:58:53", "url": "https://files.pythonhosted.org/packages/67/df/3160227a87f3a6a40666d5bad75d66757cf6d152e3040ac76ba81acf985b/django-ultracache-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "c4dacaada8a1d383ff7b0112b2ed8800", "sha256": "effc243a5e89be88f1bef25724f974aa430df087dfbc4207b1be6d69082ab91b" }, "downloads": -1, "filename": "django_ultracache-0.3.6-py2.7.egg", "has_sig": false, "md5_digest": "c4dacaada8a1d383ff7b0112b2ed8800", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33263, "upload_time": "2016-03-17T10:01:30", "url": "https://files.pythonhosted.org/packages/b6/ca/1764aaec857f038c4305b85491186b6926af4c5ef876f532cab2db843a9d/django_ultracache-0.3.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "4dad97fd9bd8b38d14fa2b1f39fc4636", "sha256": "3e90e244bca70344f7fdcb1642e23259ad39a508c28e61da066f9432ca6b672e" }, "downloads": -1, "filename": "django-ultracache-0.3.6.tar.gz", "has_sig": false, "md5_digest": "4dad97fd9bd8b38d14fa2b1f39fc4636", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30560, "upload_time": "2016-03-17T10:01:08", "url": "https://files.pythonhosted.org/packages/2b/88/74d0d1d72c132f33ad4ba8e86dc500b07da8fd9b4758e475add01dda6ea4/django-ultracache-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "1e323b05ace05d869c29b9654b5fc1e1", "sha256": "4d82ff632ccc82b6fa28effb4ae35307e2ad8c0a52736658a0ef6b89e3eebb53" }, "downloads": -1, "filename": "django_ultracache-0.3.7-py2.7.egg", "has_sig": false, "md5_digest": "1e323b05ace05d869c29b9654b5fc1e1", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33398, "upload_time": "2016-03-18T08:15:36", "url": "https://files.pythonhosted.org/packages/e0/27/4a5bf44d27f25e0dd0c0fd41d20d0eec4f59303e7877f96bb234c1eb5aef/django_ultracache-0.3.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "d113970118f95617be3adba5362a3310", "sha256": "0c0c1152ba0a7e4f032ba60937b7b9a3869559d32a01ff44871511209de8aab6" }, "downloads": -1, "filename": "django-ultracache-0.3.7.tar.gz", "has_sig": false, "md5_digest": "d113970118f95617be3adba5362a3310", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30879, "upload_time": "2016-03-18T08:15:26", "url": "https://files.pythonhosted.org/packages/7e/10/82f419ea316a6c573932672571df54dd507692ea508891ea7aa383263b18/django-ultracache-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "198fd79e17ece46c5c599445e61d622b", "sha256": "3f5410d635571891ab7bf903d50000e687ddb2d364cd3e1692e0cfb609d8fb31" }, "downloads": -1, "filename": "django_ultracache-0.3.8-py2.7.egg", "has_sig": false, "md5_digest": "198fd79e17ece46c5c599445e61d622b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 33488, "upload_time": "2016-05-11T15:58:46", "url": "https://files.pythonhosted.org/packages/94/48/aaba73bebb166948b6f57095a2efa04ad529aa21a89d475750a5f5bcb22d/django_ultracache-0.3.8-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "380fa6b383c8402a1cc67bfe6a885279", "sha256": "d9864b0e5b29307b98aa8a397df627894cb90d67f015a33dc004bbc5b28a9d34" }, "downloads": -1, "filename": "django-ultracache-0.3.8.tar.gz", "has_sig": false, "md5_digest": "380fa6b383c8402a1cc67bfe6a885279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31071, "upload_time": "2016-05-11T15:58:12", "url": "https://files.pythonhosted.org/packages/1a/4f/56be774e42c9c687770cbd075521e51c0294344966e53a0604a9ae72b704/django-ultracache-0.3.8.tar.gz" } ], "1.10.1": [ { "comment_text": "", "digests": { "md5": "4893df4376d447a318b292dce4d9ea44", "sha256": "44a420fd19d882f9bfac1c3bd264616562bb24068e35f6794119870d182f781f" }, "downloads": -1, "filename": "django_ultracache-1.10.1-py2.7.egg", "has_sig": false, "md5_digest": "4893df4376d447a318b292dce4d9ea44", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 47643, "upload_time": "2016-12-02T09:59:41", "url": "https://files.pythonhosted.org/packages/36/0b/71a026255cb93b7e969f07e7c8942623e56da17499ae66acc18aec7287b0/django_ultracache-1.10.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "fa08b550de768f1bda2288b1105967ed", "sha256": "4a824b9d4ca40c4edd40d2881e4ac4d7b12764363f09f16a86279d5c20489eae" }, "downloads": -1, "filename": "django-ultracache-1.10.1.tar.gz", "has_sig": false, "md5_digest": "fa08b550de768f1bda2288b1105967ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39712, "upload_time": "2016-12-02T09:59:37", "url": "https://files.pythonhosted.org/packages/47/e1/f9e65258598d2bbe0145331d62728c0a38d46316e88dcc64315bb5f997d7/django-ultracache-1.10.1.tar.gz" } ], "1.10.2": [ { "comment_text": "", "digests": { "md5": "2bb24cbcc8cfdc44e3e2fd4f2b81ee4e", "sha256": "40c4d2d48c62db8afe08de9f10d26ff2cf80dfca1ee74ae3ca7ce28888c70105" }, "downloads": -1, "filename": "django_ultracache-1.10.2-py2.7.egg", "has_sig": false, "md5_digest": "2bb24cbcc8cfdc44e3e2fd4f2b81ee4e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 48135, "upload_time": "2017-02-01T07:33:46", "url": "https://files.pythonhosted.org/packages/76/fa/cfa49491861f3b546f952361b6b61beb2bc4369c7b819c7f44068824233e/django_ultracache-1.10.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "cacedc1c391f6310409d898d58f44a59", "sha256": "8472b25817be2b90c61b7d6119ab4cbc4c7088c6a1d4b27ec93643cae3b59ed8" }, "downloads": -1, "filename": "django-ultracache-1.10.2.tar.gz", "has_sig": false, "md5_digest": "cacedc1c391f6310409d898d58f44a59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40816, "upload_time": "2017-02-01T07:33:42", "url": "https://files.pythonhosted.org/packages/10/b4/e4c7715c8a767078456bd867cd0e5f3fe20ad2a91d4cb57e51e31acffcae/django-ultracache-1.10.2.tar.gz" } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "98b1e3a9995a34d3e2003884e6f6a74d", "sha256": "7f6f6e45faffd38f1dac9eed62d5a18ec101ffeda9de9aee81115986c8780bcf" }, "downloads": -1, "filename": "django_ultracache-1.11.0-py2.7.egg", "has_sig": false, "md5_digest": "98b1e3a9995a34d3e2003884e6f6a74d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 51689, "upload_time": "2017-05-06T16:10:01", "url": "https://files.pythonhosted.org/packages/38/1b/c39146fecbab15b897cca994927e7e55d96b9f172a50714ffefd937325d8/django_ultracache-1.11.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8e23ea81298a81434aa7a4ae4a655485", "sha256": "4039610a6a325025466328600d2753d5351b109af21c967423162bc003a0de86" }, "downloads": -1, "filename": "django-ultracache-1.11.0.tar.gz", "has_sig": false, "md5_digest": "8e23ea81298a81434aa7a4ae4a655485", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45545, "upload_time": "2017-05-06T16:09:57", "url": "https://files.pythonhosted.org/packages/46/02/803f5d0944887e432a1c15def53bffa56a19947007f111a9cdbd324aaadb/django-ultracache-1.11.0.tar.gz" } ], "1.11.1": [ { "comment_text": "", "digests": { "md5": "fac79a94d564a368b2f28ea037031dfd", "sha256": "8709f6eee9a846fd6f761d6f038062addb8aa1f6bc1d0986fa9c2792b837558d" }, "downloads": -1, "filename": "django_ultracache-1.11.1-py2.7.egg", "has_sig": false, "md5_digest": "fac79a94d564a368b2f28ea037031dfd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 51788, "upload_time": "2017-05-08T14:48:01", "url": "https://files.pythonhosted.org/packages/ae/0e/ddc7a8472b03ff5ee1c55d98f3b2f831b2fabc8255b093c22e473f7fe238/django_ultracache-1.11.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "424ec625200bea78a14ff7e593eed4d6", "sha256": "2fea2e75105f11dd0b8ed4b6b3b25a4e710858afa3b2ed67fd541ad42c911fb9" }, "downloads": -1, "filename": "django-ultracache-1.11.1.tar.gz", "has_sig": false, "md5_digest": "424ec625200bea78a14ff7e593eed4d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45715, "upload_time": "2017-05-08T14:47:57", "url": "https://files.pythonhosted.org/packages/e4/b3/110256be2634a65214b7362ee4c5fb2d70f4afaa14986edff97ffcc6a0a0/django-ultracache-1.11.1.tar.gz" } ], "1.11.10": [ { "comment_text": "", "digests": { "md5": "df5aa9ba67b2c297f6af6d6e9edf5a21", "sha256": "30a0324667fde348e1b4431c67da2cfe8ff4756ea52721b90c262f931acc13e6" }, "downloads": -1, "filename": "django_ultracache-1.11.10-py2.7.egg", "has_sig": false, "md5_digest": "df5aa9ba67b2c297f6af6d6e9edf5a21", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 95392, "upload_time": "2018-04-13T08:28:08", "url": "https://files.pythonhosted.org/packages/4d/22/51610f4b0eba589b19163ff9a3435fbddcf1ba5495734437ced65b22c15a/django_ultracache-1.11.10-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "bcd94829c74808a4a71c788ab664a3c1", "sha256": "f3b8ef113020f48335f7f3d4e07908770ff67d481913f6d630e23befc51335c4" }, "downloads": -1, "filename": "django-ultracache-1.11.10.tar.gz", "has_sig": false, "md5_digest": "bcd94829c74808a4a71c788ab664a3c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62782, "upload_time": "2018-04-13T08:28:06", "url": "https://files.pythonhosted.org/packages/00/2f/e26e2fac3757ba3ff5c8aace36552b776a6591cea021e015b09122b372af/django-ultracache-1.11.10.tar.gz" } ], "1.11.11": [ { "comment_text": "", "digests": { "md5": "25c661246dd9d1e42675033951732bcd", "sha256": "ffa6fb13ce0ecd631542ffbbdc354ea1d7614c3263bb537e7ff5c381c7b54f5f" }, "downloads": -1, "filename": "django_ultracache-1.11.11-py2.7.egg", "has_sig": false, "md5_digest": "25c661246dd9d1e42675033951732bcd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 87208, "upload_time": "2018-11-05T14:13:35", "url": "https://files.pythonhosted.org/packages/35/69/ea0477e21945f160bf2e04c39656a6ae8b69f9377044064fcf1c4c4f89b1/django_ultracache-1.11.11-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f07b8203a2926685bbf55d5d41bdee13", "sha256": "d6a815e46cf098fa2dab8ab648945ac16b51edbecc895065de211b33fa78f596" }, "downloads": -1, "filename": "django-ultracache-1.11.11.tar.gz", "has_sig": false, "md5_digest": "f07b8203a2926685bbf55d5d41bdee13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63095, "upload_time": "2018-11-05T14:13:30", "url": "https://files.pythonhosted.org/packages/64/55/a6ea5c3a4fb3aab78ce764ef94593eeb40af2f222cbe42d5a85d8560184a/django-ultracache-1.11.11.tar.gz" } ], "1.11.12": [ { "comment_text": "", "digests": { "md5": "1edfb7b55f9fd89073cffe8b54de8e4c", "sha256": "d6fe9089bd6bf87f04a4fc4506ec59b45abcb37c64e062be8a718ca7cf7bd8f5" }, "downloads": -1, "filename": "django_ultracache-1.11.12-py3.6.egg", "has_sig": false, "md5_digest": "1edfb7b55f9fd89073cffe8b54de8e4c", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 119451, "upload_time": "2019-05-29T09:00:13", "url": "https://files.pythonhosted.org/packages/04/1d/52e2c461882c448c58c2e5692943cdf321b0ae416d3cb07011a2bc2667b0/django_ultracache-1.11.12-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "6cd5cd23718545eda99866a609930b5c", "sha256": "39681e53b7fabd6cf5161a2ab938d9b4a98fee37f8d0be65edf39a395a4c5f69" }, "downloads": -1, "filename": "django-ultracache-1.11.12.tar.gz", "has_sig": false, "md5_digest": "6cd5cd23718545eda99866a609930b5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78111, "upload_time": "2019-05-29T09:00:16", "url": "https://files.pythonhosted.org/packages/ab/77/a23d024108f043dffe3f70a03e81ac22b3c4f2df5cfc569ebf2d935fb518/django-ultracache-1.11.12.tar.gz" } ], "1.11.2": [ { "comment_text": "", "digests": { "md5": "087832da6da900c98c750d6c5623cdc3", "sha256": "794b513a5300c6323cff984a9ad3a87e2f63a073aa1a1ec8a20669954cc7acef" }, "downloads": -1, "filename": "django_ultracache-1.11.2-py2.7.egg", "has_sig": false, "md5_digest": "087832da6da900c98c750d6c5623cdc3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 56210, "upload_time": "2017-06-06T14:33:48", "url": "https://files.pythonhosted.org/packages/f6/68/da26a19320ff32a708cf436073f1411661961a0a067cc0231094e28f6c50/django_ultracache-1.11.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "68d9e936e234ba5dcc00f36be37704dc", "sha256": "8ba1f0a7b26832b04e02866de465a539b4962c79aea9a41ce32cec121eaba1eb" }, "downloads": -1, "filename": "django-ultracache-1.11.2.tar.gz", "has_sig": false, "md5_digest": "68d9e936e234ba5dcc00f36be37704dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45818, "upload_time": "2017-06-06T14:33:45", "url": "https://files.pythonhosted.org/packages/15/e2/51cbee438e4dffd26d0c9648d3f418ca4d96e6f3a8f77271a9fa2a8905fd/django-ultracache-1.11.2.tar.gz" } ], "1.11.3": [ { "comment_text": "", "digests": { "md5": "0d3c24a217a94f396817571bb6d3ba0b", "sha256": "06a2b4f7f5b9f77f9969057efad655c0bfc3f723d546365705b64801f8259e94" }, "downloads": -1, "filename": "django_ultracache-1.11.3-py2.7.egg", "has_sig": false, "md5_digest": "0d3c24a217a94f396817571bb6d3ba0b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 62789, "upload_time": "2017-06-06T14:38:06", "url": "https://files.pythonhosted.org/packages/d7/6a/13a33327d16f5a1f013a1a2f943a8a101218b41c391cb24200a92834dacb/django_ultracache-1.11.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7f36318a6ec922d9f9dd1c0a049b9e03", "sha256": "057c8506d154f530e3aaa7abba887d989b7cc38f3c5ffd08200b15e33065d84c" }, "downloads": -1, "filename": "django-ultracache-1.11.3.tar.gz", "has_sig": false, "md5_digest": "7f36318a6ec922d9f9dd1c0a049b9e03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45714, "upload_time": "2017-06-06T14:38:02", "url": "https://files.pythonhosted.org/packages/3d/ad/c0e7a688dd205218fc274a976376cabf8a1514114fc04d08dbae46762183/django-ultracache-1.11.3.tar.gz" } ], "1.11.4": [ { "comment_text": "", "digests": { "md5": "4274895cc90861e84b02fd9a84fe9f64", "sha256": "5f7205e47e5ef45ee96516181bc644aa30d6e115c7e0b53fd3559e179a01b110" }, "downloads": -1, "filename": "django_ultracache-1.11.4-py2.7.egg", "has_sig": false, "md5_digest": "4274895cc90861e84b02fd9a84fe9f64", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 62855, "upload_time": "2017-06-07T13:51:59", "url": "https://files.pythonhosted.org/packages/67/0a/53b2483b2524099253d3ce7283d4a4bc2ea477c5980bf2e98a2a14e764dc/django_ultracache-1.11.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "81233d27973363592ce5451293fd098f", "sha256": "d22955f83a836985d9f7b1b637932d8e32ccd1390ca97b5e63ad5810d0978c33" }, "downloads": -1, "filename": "django-ultracache-1.11.4.tar.gz", "has_sig": false, "md5_digest": "81233d27973363592ce5451293fd098f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41240, "upload_time": "2017-06-07T13:51:55", "url": "https://files.pythonhosted.org/packages/37/c1/79946e4b3b7c4a0cd21c17698dbd227ad4f3001f2afa8f20e038651442a8/django-ultracache-1.11.4.tar.gz" } ], "1.11.5": [ { "comment_text": "", "digests": { "md5": "76baf834fd97d2af456c6f9a23947aa5", "sha256": "4a07d2b89acdad2481b8bbfe6cf9f259ab88c7df1827cc8730b43852c0fbb4d0" }, "downloads": -1, "filename": "django_ultracache-1.11.5-py2.7.egg", "has_sig": false, "md5_digest": "76baf834fd97d2af456c6f9a23947aa5", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 63125, "upload_time": "2017-06-22T14:01:30", "url": "https://files.pythonhosted.org/packages/c5/e9/ad22f87c80161d822bc89e86e28af95d7e39ff69f572ffeef6bc03cb1039/django_ultracache-1.11.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "cc5ac130c38bd8734ec0e13ebfc93c91", "sha256": "9d13fb95f7ea9e191207177356bec37e35743cd2dd04d75cf6f82ef4509f171d" }, "downloads": -1, "filename": "django-ultracache-1.11.5.tar.gz", "has_sig": false, "md5_digest": "cc5ac130c38bd8734ec0e13ebfc93c91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41644, "upload_time": "2017-06-22T14:01:26", "url": "https://files.pythonhosted.org/packages/43/c7/0797a3c38215f0ed19435c986aca28d6e67ffdc70196b78d95bbba14d251/django-ultracache-1.11.5.tar.gz" } ], "1.11.6": [ { "comment_text": "", "digests": { "md5": "d2d0ecf15dc63ed6e088993a92925ef8", "sha256": "63a2f69ac9ba2f51525430a5759fb375ee8c8ae39c87ad8cc549323a1ebfd128" }, "downloads": -1, "filename": "django_ultracache-1.11.6-py2.7.egg", "has_sig": false, "md5_digest": "d2d0ecf15dc63ed6e088993a92925ef8", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 63181, "upload_time": "2017-08-29T13:49:49", "url": "https://files.pythonhosted.org/packages/bd/8c/afce760cbe7bd4b95486d688cb8ddf7b0ef5ab00eb078c8d71ac9ee9f88a/django_ultracache-1.11.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "76dedde35a587aef227a1e2af04bfe6a", "sha256": "ef2483794422bb9a7ded4988bfb78722a0e17eae880ccd33fa995d344e4a2c7f" }, "downloads": -1, "filename": "django-ultracache-1.11.6.tar.gz", "has_sig": false, "md5_digest": "76dedde35a587aef227a1e2af04bfe6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41724, "upload_time": "2017-08-29T13:49:46", "url": "https://files.pythonhosted.org/packages/7e/cf/777a4972d4595bbb3222688e0ecb22c03d3b079f18ddf388693c597a6a8a/django-ultracache-1.11.6.tar.gz" } ], "1.11.7": [ { "comment_text": "", "digests": { "md5": "68035062958ad63f212354e118d7c7ab", "sha256": "ab9945584addf21e306f0337c692399f04b189cc05095ab6e8d10a7e9a6e9602" }, "downloads": -1, "filename": "django_ultracache-1.11.7-py2.7.egg", "has_sig": false, "md5_digest": "68035062958ad63f212354e118d7c7ab", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 63240, "upload_time": "2017-08-30T10:10:41", "url": "https://files.pythonhosted.org/packages/6f/2a/d064bc71cbc941bbf6462bf06946408217ef564daf9affbed0de7c00f2ac/django_ultracache-1.11.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5f1e6a958d093711d6a8812b9ba131f3", "sha256": "3bf4e2f04ee2c4e34cae43064b544d319343b4329e80aed5b9351d7e7af5fd03" }, "downloads": -1, "filename": "django-ultracache-1.11.7.tar.gz", "has_sig": false, "md5_digest": "5f1e6a958d093711d6a8812b9ba131f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41862, "upload_time": "2017-08-30T10:10:37", "url": "https://files.pythonhosted.org/packages/b4/7c/187aabe5cbf03fdad57999a961d088652ab1dcb76b1097a308893a355728/django-ultracache-1.11.7.tar.gz" } ], "1.11.8": [ { "comment_text": "", "digests": { "md5": "ac635f452de8fce0ef4418ba68047bad", "sha256": "6dfa81cda4df8fe7913e42217aa02a741759381dd72c7eb2ca825139e5ddcc44" }, "downloads": -1, "filename": "django_ultracache-1.11.8-py2.7.egg", "has_sig": false, "md5_digest": "ac635f452de8fce0ef4418ba68047bad", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 63497, "upload_time": "2017-09-03T19:16:21", "url": "https://files.pythonhosted.org/packages/1a/1d/8e03c7e6ef363627b016196811d0d31bc934d81c088f8e72746ffdeb49d3/django_ultracache-1.11.8-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b26a358f5555df0fb5567edfd18a8991", "sha256": "422df4552f85049e4f54b4164db6a977279f62d28dc5c9884f413dd24f46dcd3" }, "downloads": -1, "filename": "django-ultracache-1.11.8.tar.gz", "has_sig": false, "md5_digest": "b26a358f5555df0fb5567edfd18a8991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42266, "upload_time": "2017-09-03T19:16:17", "url": "https://files.pythonhosted.org/packages/e3/f1/1b7f2c72b0106f5d07ee6702b789b9f4a21f3c5ab2d1e59a7d31591340de/django-ultracache-1.11.8.tar.gz" } ], "1.11.9": [ { "comment_text": "", "digests": { "md5": "f9b97fa88d7bf6c654173db724f274e6", "sha256": "aa9a9e1096144caf6743c51300b764e80ae9147d0b4eafe02fdb085503ce5ec4" }, "downloads": -1, "filename": "django_ultracache-1.11.9-py2.7.egg", "has_sig": false, "md5_digest": "f9b97fa88d7bf6c654173db724f274e6", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 63575, "upload_time": "2017-09-06T08:10:29", "url": "https://files.pythonhosted.org/packages/22/28/bd00ab38332a488a8781b5e127517c08d91d5b463d21f91db446585132ac/django_ultracache-1.11.9-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "57cc17edf1fe7645653be49e7dd3fba3", "sha256": "3da803121ef6c2c0d81ca9ef63b4a393d4b513a4e5d6a4ec72ea392cb2738e01" }, "downloads": -1, "filename": "django-ultracache-1.11.9.tar.gz", "has_sig": false, "md5_digest": "57cc17edf1fe7645653be49e7dd3fba3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42461, "upload_time": "2017-09-06T08:10:22", "url": "https://files.pythonhosted.org/packages/37/0b/62cd2d88e8deec16552750fc750df80cd7d36ff1db5bed36b036f74427d3/django-ultracache-1.11.9.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "5ed6626d4f530395cc72118292ba4247", "sha256": "b76c68b64ac7a24f7b8aee8cf04c58e7f9945408d775e2b0212d654f4a3a116d" }, "downloads": -1, "filename": "django_ultracache-1.9.0-py2.7.egg", "has_sig": false, "md5_digest": "5ed6626d4f530395cc72118292ba4247", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38405, "upload_time": "2016-05-18T20:19:38", "url": "https://files.pythonhosted.org/packages/63/2e/dbf5056968b2322e341ee3b1223959a63dd5d60e836b29e3e7da37eab5e1/django_ultracache-1.9.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a07db8d2b7b8fe2f3f5772271ed0e8f5", "sha256": "72b6124e91580c19f10f944bd9f16b493f6d2a59476b07b16422291383fa0ad7" }, "downloads": -1, "filename": "django-ultracache-1.9.0.tar.gz", "has_sig": false, "md5_digest": "a07db8d2b7b8fe2f3f5772271ed0e8f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33595, "upload_time": "2016-05-18T20:19:27", "url": "https://files.pythonhosted.org/packages/07/1d/3191075c1b0ae782d8667055cf8be7bc9f94fd5408377af9f885800f55ad/django-ultracache-1.9.0.tar.gz" } ], "1.9.1": [ { "comment_text": "", "digests": { "md5": "ef8ac67e4a5ae212d8d407d9ca19f3bc", "sha256": "169ef2d251374139049c646b22067d76b3a700e19bab5f4181c3b7ba3771bc12" }, "downloads": -1, "filename": "django_ultracache-1.9.1-py2.7.egg", "has_sig": false, "md5_digest": "ef8ac67e4a5ae212d8d407d9ca19f3bc", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38557, "upload_time": "2016-08-23T16:04:32", "url": "https://files.pythonhosted.org/packages/7d/3f/b885ca38623461a5cb5008b6946e4c6c4f1f6b654aa18c6d37803f6d1dad/django_ultracache-1.9.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "18cc0b7b92a9783c40107295e72130d3", "sha256": "852696c775e4527cfabe29e850ca202d00ff00703a2ab5c8e2cfa15ffc5df4c2" }, "downloads": -1, "filename": "django-ultracache-1.9.1.tar.gz", "has_sig": false, "md5_digest": "18cc0b7b92a9783c40107295e72130d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20708, "upload_time": "2016-08-23T16:04:28", "url": "https://files.pythonhosted.org/packages/2e/e8/8965e80aa0835bdc48786cdd2c35a9929f462315de7e08c5d09aea5b806d/django-ultracache-1.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1edfb7b55f9fd89073cffe8b54de8e4c", "sha256": "d6fe9089bd6bf87f04a4fc4506ec59b45abcb37c64e062be8a718ca7cf7bd8f5" }, "downloads": -1, "filename": "django_ultracache-1.11.12-py3.6.egg", "has_sig": false, "md5_digest": "1edfb7b55f9fd89073cffe8b54de8e4c", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 119451, "upload_time": "2019-05-29T09:00:13", "url": "https://files.pythonhosted.org/packages/04/1d/52e2c461882c448c58c2e5692943cdf321b0ae416d3cb07011a2bc2667b0/django_ultracache-1.11.12-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "6cd5cd23718545eda99866a609930b5c", "sha256": "39681e53b7fabd6cf5161a2ab938d9b4a98fee37f8d0be65edf39a395a4c5f69" }, "downloads": -1, "filename": "django-ultracache-1.11.12.tar.gz", "has_sig": false, "md5_digest": "6cd5cd23718545eda99866a609930b5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78111, "upload_time": "2019-05-29T09:00:16", "url": "https://files.pythonhosted.org/packages/ab/77/a23d024108f043dffe3f70a03e81ac22b3c4f2df5cfc569ebf2d935fb518/django-ultracache-1.11.12.tar.gz" } ] }