{ "info": { "author": "Ben Boyd", "author_email": "beathan@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "django-akamai\n=============\n\nDependencies: requests_ (required), django-celery_ (optional)\n\n.. _requests: http://python-requests.org/\n.. _django-celery: http://github.com/ask/django-celery\n\ndjango-akamai serves as a means to perform purge requests from Django apps\nusing the Akamai REST API. Purge requests are performed on demand or, optionally,\nplaced in a queue using Celery.\n\nConfiguration\n-------------\n\nThis library uses the edgegrid-python_ client for authentication. If the\n`~/.edgerc` config file contains a `CCU` section those credentials will be used\nautomatically.\n\nTo specify a different location for the edgerc file, you may use these Django\nsettings::\n\n AKAMAI_EDGERC_FILENAME\n AKAMAI_EDGERC_CCU_SECTION\n\nIf you prefer to keep the values in your Django settings you may specify them\ndirectly:\n\n AKAMAI_CCU_CLIENT_SECRET\n AKAMAI_CCU_HOST\n AKAMAI_CCU_ACCESS_TOKEN\n AKAMAI_CCU_CLIENT_TOKEN\n\nFor simplicity and security use of the `.edgerc` file is recommended.\n\nConsult Akamai's documentation for full information about the API:\n\nhttps://developer.akamai.com/api/purge/ccu/overview.html\n\n.. _edgegrid-python: https://pypi.python.org/pypi/edgegrid-python\n\n\nDirectly issuing purge requests\n-------------------------------\n\nYou may import ``PurgeRequest`` from ``django_akamai.purge`` and provide it with\none or more URLs to invalidate or delete.\n\nNote that Akamai's API specifies a byte limit on the number of requests and a\nsingle purge call may require multiple HTTP requests to complete.\n\nTODO: discuss options for rate-limiting\n\nExample:\n::\n\n >>> pr = PurgeRequest()\n >>> pr.add(\"http://www.example.com/url-1.html\")\n >>> pr.add(u\"http://www.example.com/url-2.html\")\n >>> for url_batch, response in pr.purge():\n print(resp.status_code, len(url_batch))\n 201 2\n >>> print pr.urls\n []\n\n\nUsing Django Signals\n--------------------\n\n``django_akamai.signals`` defines two signals to directly issue a purge request\nor, when Celery is available, queue the request.\n\nWhen sending these signals from other apps, you can pass in a variety of things\nas the sender for convenience. Sender can be a single URL string, a list of\nURL strings, an individual Django object, or a QuerySet. If passing in an\nobject or QuerySet, then ``get_absolute_url()`` must be defined on every object.\n\nExample of signalling to immediately perform the request:\n::\n\n >>> from django_akamai.signals import purge_request, queue_purge_request\n >>> obj = MyObject.objects.get(pk=3)\n >>> obj.get_absolute_url()\n u'http://www.example.com/blahblah.html'\n >>> purge_request.send(obj)\n\nOr, to queue the request using Celery:\n::\n\n >>> queue_purge_request.send(obj)\n\n\nUsing Tasks\n-----------\nTo use the task directly, import ``PurgeRequestTask`` from tasks.py thusly:\n::\n\n >>> from akamai.tasks import PurgeRequestTask\n >>> obj = MyObject.objects.get(pk=3)\n >>> PurgeRequestTask.delay(obj)\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/beathan/django-akamai", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-akamai", "package_url": "https://pypi.org/project/django-akamai/", "platform": "", "project_url": "https://pypi.org/project/django-akamai/", "project_urls": { "Homepage": "https://github.com/beathan/django-akamai" }, "release_url": "https://pypi.org/project/django-akamai/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "A Django app for performing Akamai purge requests", "version": "2.0.0" }, "last_serial": 2801731, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "472feaddcd35274fd72ae6b125498ce4", "sha256": "679d489552da5516a4a9e08ce8ba5ee4fc3aae9d5df133057976f0082f4a619a" }, "downloads": -1, "filename": "django-akamai-0.0.1.tar.gz", "has_sig": false, "md5_digest": "472feaddcd35274fd72ae6b125498ce4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7042, "upload_time": "2012-07-20T14:25:17", "url": "https://files.pythonhosted.org/packages/8b/b6/bbd5945ae78a12db737052def66b72508f236ddd48ff3aeefb1d97b85c16/django-akamai-0.0.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d4491c7f298c4bcae03200e2693e18c9", "sha256": "50a883cf5dbf74530ae743ad3bc25852e887fc205daae979ff39186127de1bfe" }, "downloads": -1, "filename": "django-akamai-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d4491c7f298c4bcae03200e2693e18c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6406, "upload_time": "2014-09-05T17:15:45", "url": "https://files.pythonhosted.org/packages/39/bc/5616181ef979d590a7fc52ae620685fe1769669bd608bf93d02c26c165b2/django-akamai-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "4306519b066ac7a76ff23d3b0a5ac4f6", "sha256": "ba41aea2c3e3c4d064687eaa01b5e821ad014fe1de43845f34a2ffd4226c4e9e" }, "downloads": -1, "filename": "django-akamai-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4306519b066ac7a76ff23d3b0a5ac4f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6485, "upload_time": "2015-08-03T21:06:40", "url": "https://files.pythonhosted.org/packages/75/98/7b8dc52f06fe93cea51b0f33e63bd13e737a47a4a8ea9d9fc629d45f3afc/django-akamai-1.0.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1c2c6138dccb687037486996821ae90a", "sha256": "2cdd4e0bc6051d7996ef58d0a175f92e1645e60c4005ae95b82dc4f2707c3761" }, "downloads": -1, "filename": "django-akamai-2.0.0.tar.gz", "has_sig": false, "md5_digest": "1c2c6138dccb687037486996821ae90a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6735, "upload_time": "2017-04-13T15:20:30", "url": "https://files.pythonhosted.org/packages/4d/0c/a3615338ac4727e0fef70bbb4538599ec77677ca6c616744390686355b85/django-akamai-2.0.0.tar.gz" } ], "2.0.0.dev1": [ { "comment_text": "", "digests": { "md5": "4a81c3854d93d701d03b763383dbbb4f", "sha256": "352f386d64d28c216108af0cb3e393b7b3c43a52e9b4bb0bd1c3893f67c31c0d" }, "downloads": -1, "filename": "django-akamai-2.0.0.dev1.tar.gz", "has_sig": false, "md5_digest": "4a81c3854d93d701d03b763383dbbb4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6780, "upload_time": "2017-04-07T21:36:50", "url": "https://files.pythonhosted.org/packages/9b/70/446854eabee7a4e99f0b3370ca35a2fd0eecd1533840c4998d744ee96c20/django-akamai-2.0.0.dev1.tar.gz" } ], "2.0.0.dev2": [ { "comment_text": "", "digests": { "md5": "c56d7f5bd28e8748b95465ae96bf3719", "sha256": "de72e64ff7577ffa0de643d9d727db2411326e770d159c029b4a3a6fd8417d10" }, "downloads": -1, "filename": "django-akamai-2.0.0.dev2.tar.gz", "has_sig": false, "md5_digest": "c56d7f5bd28e8748b95465ae96bf3719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6821, "upload_time": "2017-04-07T21:45:17", "url": "https://files.pythonhosted.org/packages/7c/2a/18e79915923197c511f38017f2445488afd04cccf45f0f39ad90d04adb4c/django-akamai-2.0.0.dev2.tar.gz" } ], "2.0.0.dev3": [ { "comment_text": "", "digests": { "md5": "a09cce29c41ffb685a3ff5fbfc013da1", "sha256": "d26daac9513415b9ac91f36a4a5a75fa2cdbed88015a28354231f233d1052c9b" }, "downloads": -1, "filename": "django-akamai-2.0.0.dev3.tar.gz", "has_sig": false, "md5_digest": "a09cce29c41ffb685a3ff5fbfc013da1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6615, "upload_time": "2017-04-07T22:01:53", "url": "https://files.pythonhosted.org/packages/d6/fd/0fa69285f8137bf7e3e5c9a3d7839a7fcc4bad6a1faab02b293c1b8acb19/django-akamai-2.0.0.dev3.tar.gz" } ], "2.0.0rc1": [ { "comment_text": "", "digests": { "md5": "1710982b79f84000fd86b7c0eb8ca333", "sha256": "71bdab963d149a3162efdefa887099e014f38a6612c749f68f3e95386825f8d7" }, "downloads": -1, "filename": "django-akamai-2.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "1710982b79f84000fd86b7c0eb8ca333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6747, "upload_time": "2017-04-10T15:53:23", "url": "https://files.pythonhosted.org/packages/be/5a/3eb3f4ad3e51cfee66816df8518f53743f1675ea12df44a3c7553464ce31/django-akamai-2.0.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c2c6138dccb687037486996821ae90a", "sha256": "2cdd4e0bc6051d7996ef58d0a175f92e1645e60c4005ae95b82dc4f2707c3761" }, "downloads": -1, "filename": "django-akamai-2.0.0.tar.gz", "has_sig": false, "md5_digest": "1c2c6138dccb687037486996821ae90a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6735, "upload_time": "2017-04-13T15:20:30", "url": "https://files.pythonhosted.org/packages/4d/0c/a3615338ac4727e0fef70bbb4538599ec77677ca6c616744390686355b85/django-akamai-2.0.0.tar.gz" } ] }