{
"info": {
"author": "Ryan Castner",
"author_email": "castner.rr@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Framework :: Django",
"Framework :: Django :: 1.11",
"Framework :: Django :: 1.8",
"Framework :: Django :: 2.0",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "=============================\ndjango-groups-cache\n=============================\n\n.. image:: https://badge.fury.io/py/django-groups-cache.svg\n :target: https://badge.fury.io/py/django-groups-cache\n\n.. image:: https://travis-ci.org/audiolion/django-groups-cache.svg?branch=master\n :target: https://travis-ci.org/audiolion/django-groups-cache\n\n.. image:: https://codecov.io/gh/audiolion/django-groups-cache/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/audiolion/django-groups-cache\n\nCaches the groups a user is in so requests don't have to make calls to the database to check group status.\n\nSupport\n-------\n\nCurrently supporting Django 1.8, 1.11, and 2.0 with Python 2.7/Python 3 where support for versions aligns with\nDjango's support. See the `tox.ini` file for specific Python and Django version pairings.\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-groups-cache.readthedocs.io.\n\nQuickstart\n----------\n\nInstall django-groups-cache::\n\n pip install django-groups-cache\n\nAdd it to your `INSTALLED_APPS`:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'groups_cache.apps.GroupsCacheConfig',\n ...\n )\n\nAdd the middleware to your `MIDDLEWARE_CLASSES`:\n\n.. code-block:: python\n\n MIDDLEWARE_CLASSES = (\n 'django.contrib.sessions.middleware.SessionMiddleware',\n 'django.contrib.auth.middleware.AuthenticationMiddleware',\n ...\n 'groups_cache.middleware.GroupsCacheMiddleware',\n )\n\nChecking in a Django Template if the user is in a group name:\n\n.. code-block:: python\n\n {% if \"admins\" in request.groups_cache %}\n Admin Panel\n {% endif %}\n\n # or use templatetag, note that templatetag is slower\n\n {% load has_group %}\n\n {% if request.user|has_group:\"admins\" %}\n Admin Panel\n {% endif %}\n\nTurn on caching:\n\n.. code-block:: python\n\n CACHES = {\n 'default': {\n 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',\n 'LOCATION': '127.0.0.1:11211',\n }\n }\n\nSee https://docs.djangoproject.com/en/1.10/topics/cache/#memcached for more details on setting\nup memcached.\n\nNote**\n\nUsing `django.core.cache.backends.locmem.LocMemCache` is not safe for production unless you are\nonly running a single process (and odds are you aren't).\n\nSee https://docs.djangoproject.com/en/1.10/topics/cache/#local-memory-caching for more details.\n\nFeatures\n--------\n\n* Adds `groups_cache` property to `request` object\n* Provides templatetag `has_group`\n* Invalidates cache on `User` or `Group` model changes and on m2m `groups` ManyToManyField changes\n* Fully tested with high coverage\n\n\nRunning Tests\n-------------\n\n::\n\n source /bin/activate\n (myenv) $ pip install tox\n (myenv) $ tox\n\nCredits\n-------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n\n\n\n\nHistory\n-------\n\n0.5.5 (2017-01-13)\n++++++++++++++++++\n\n* Bug fix for templatetag `has_group`\n* Tests added for 100% coverage of templatetag folder\n\n0.5.5 (2017-01-12)\n++++++++++++++++++\n\n* Omit urls.py from coverage report (not used but needed for django package)\n* Omit apps.py from coverage report (default apps file)\n\n0.5.4 (2017-01-12)\n++++++++++++++++++\n\n* Removal of py32/django1.8 support from Travis CI build\n\n0.5.3 (2017-01-12)\n++++++++++++++++++\n\n* Fixing .travis.yml file and CI builds\n\n0.5.2 (2017-01-12)\n++++++++++++++++++\n\n* Typo in README.rst\n\n0.5.1 (2017-01-12)\n++++++++++++++++++\n\n* Add codecov.io support\n* Documentation updates\n\n0.5.0 (2017-01-12)\n++++++++++++++++++\n\n* Add requirements.txt to tox.ini so tests can run\n* Fix broken compatibility with Django 1.8/1.9 due to backwards incompatible changes in 1.9/1.10 code\n\n0.4.0 (2017-01-12)\n++++++++++++++++++\n\n* Add test suite that generates 100% coverage\n* Fixed a bug found by test suite with cache not invalidating on the `groups` ManyToManyField changing\n\n0.3.1 (2017-01-11)\n++++++++++++++++++\n\n* Documentation updates\n\n0.3.0 (2017-01-11)\n++++++++++++++++++\n\n* First stable and working release on PyPI.\n\n0.1.0 (2017-01-11)\n++++++++++++++++++\n\n* First release on PyPI.\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/audiolion/django-groups-cache",
"keywords": "django-groups-cache",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "django-groups-cache",
"package_url": "https://pypi.org/project/django-groups-cache/",
"platform": "",
"project_url": "https://pypi.org/project/django-groups-cache/",
"project_urls": {
"Homepage": "https://github.com/audiolion/django-groups-cache"
},
"release_url": "https://pypi.org/project/django-groups-cache/1.0.2/",
"requires_dist": null,
"requires_python": "",
"summary": "Caches the groups a user is in so requests don't have to make calls to the database to check group status.",
"version": "1.0.2"
},
"last_serial": 3466978,
"releases": {
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "15032eb5ea056033acf678ac84b99031",
"sha256": "9b09db9072b64c14b4a512ba1c649f7a3654c2f17860de3edd966c9b6cd34112"
},
"downloads": -1,
"filename": "django-groups-cache-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "15032eb5ea056033acf678ac84b99031",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6206,
"upload_time": "2017-01-11T21:49:06",
"url": "https://files.pythonhosted.org/packages/ec/d1/cb1427ba8f0472e41d829864f84da800d3486ea09ff450600acad51dddfd/django-groups-cache-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "b60f59b165e60711a9b9337c1d4af953",
"sha256": "1d19fc12256a41e7f3149fc6c1c76212e667c344b3b03677269fbbf888a6d5ab"
},
"downloads": -1,
"filename": "django-groups-cache-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "b60f59b165e60711a9b9337c1d4af953",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6299,
"upload_time": "2017-01-11T21:56:26",
"url": "https://files.pythonhosted.org/packages/ed/9d/734cae697a2ec836a23d3d3b835bd03fa5f38f8f0d6977bc63ff46c9b42b/django-groups-cache-0.1.2.tar.gz"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "df9f16eda8e2bdafe0c4a6ca56438c38",
"sha256": "f60f0be1314909167bfd110ec9c9ae74d9bbf324f0a81135147ec6c99db89321"
},
"downloads": -1,
"filename": "django-groups-cache-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "df9f16eda8e2bdafe0c4a6ca56438c38",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6295,
"upload_time": "2017-01-11T22:01:36",
"url": "https://files.pythonhosted.org/packages/e0/91/120b3d892c6f8d1d562a422152c875105fb6fca26103ccb47e07cb1ef5a1/django-groups-cache-0.1.3.tar.gz"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "d162a27d80152cefc332e3acda175c91",
"sha256": "440122ca260b08b7debaaf7779e57d3ad76bb1fdda087b08a849d802de0e70cc"
},
"downloads": -1,
"filename": "django-groups-cache-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "d162a27d80152cefc332e3acda175c91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6374,
"upload_time": "2017-01-11T22:22:56",
"url": "https://files.pythonhosted.org/packages/a7/0e/b3b84801bcf464fdd234890bdeff2085604a0a76d157e224e9df6866e30f/django-groups-cache-0.1.4.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "b3a5bd599cd714649019ec825d8b19e9",
"sha256": "b5deca5e840440720992465b3ac5cfdacab7a9d1c074942aa50f9e40669e7c33"
},
"downloads": -1,
"filename": "django-groups-cache-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b3a5bd599cd714649019ec825d8b19e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6942,
"upload_time": "2017-01-12T04:51:12",
"url": "https://files.pythonhosted.org/packages/a6/de/52feff27ef3a4330283169a1764acbc5ab355e3f10aeee292187bc19adb5/django-groups-cache-0.3.1.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "9590ab80a117b27a357e99be5f48822e",
"sha256": "ede08427251b7e9fd12b0f7659cf17f30fcd4c0ccc3e0bf0be8953f3a3c5a379"
},
"downloads": -1,
"filename": "django-groups-cache-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "9590ab80a117b27a357e99be5f48822e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7947,
"upload_time": "2017-01-13T05:10:06",
"url": "https://files.pythonhosted.org/packages/fe/3d/2d50a5351323336b37ed008025233cf590cabe112f8a66aef44c2910c3ca/django-groups-cache-1.0.0.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "ba4d92d5632b36989191c6a98e0245ee",
"sha256": "349e03fc1371f7292f70682792d8d0d8f8731765e2dd8ffdfb4888d161238cec"
},
"downloads": -1,
"filename": "django_groups_cache-1.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba4d92d5632b36989191c6a98e0245ee",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 10374,
"upload_time": "2018-01-06T13:57:36",
"url": "https://files.pythonhosted.org/packages/c1/d5/c72d95a2b649357c1f779a23dc6872494112aacb89fbafaf9d71cb3a3873/django_groups_cache-1.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4dc51b97f7e1c2fe3d10dda198df5318",
"sha256": "a5b8621c2e18f5067cdbb289f9a35616539a351794cc27dbc8b6bf8dd34ac856"
},
"downloads": -1,
"filename": "django-groups-cache-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "4dc51b97f7e1c2fe3d10dda198df5318",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8121,
"upload_time": "2018-01-06T13:57:35",
"url": "https://files.pythonhosted.org/packages/c9/26/2c6fc2d80de0c1a84591e470edab2bc8d739bdfc68cc2d24d375ae195150/django-groups-cache-1.0.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "ba4d92d5632b36989191c6a98e0245ee",
"sha256": "349e03fc1371f7292f70682792d8d0d8f8731765e2dd8ffdfb4888d161238cec"
},
"downloads": -1,
"filename": "django_groups_cache-1.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba4d92d5632b36989191c6a98e0245ee",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 10374,
"upload_time": "2018-01-06T13:57:36",
"url": "https://files.pythonhosted.org/packages/c1/d5/c72d95a2b649357c1f779a23dc6872494112aacb89fbafaf9d71cb3a3873/django_groups_cache-1.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4dc51b97f7e1c2fe3d10dda198df5318",
"sha256": "a5b8621c2e18f5067cdbb289f9a35616539a351794cc27dbc8b6bf8dd34ac856"
},
"downloads": -1,
"filename": "django-groups-cache-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "4dc51b97f7e1c2fe3d10dda198df5318",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8121,
"upload_time": "2018-01-06T13:57:35",
"url": "https://files.pythonhosted.org/packages/c9/26/2c6fc2d80de0c1a84591e470edab2bc8d739bdfc68cc2d24d375ae195150/django-groups-cache-1.0.2.tar.gz"
}
]
}