{ "info": { "author": "Jeff Balogh", "author_email": "jbalogh@mozilla.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Environment :: Web Environment :: Mozilla", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "================================\npylibmc cache backend for Django\n================================\n\n.. image:: https://travis-ci.org/django-pylibmc/django-pylibmc.svg\n :target: https://travis-ci.org/django-pylibmc/django-pylibmc\n\nThis package provides a memcached cache backend for Django using\n`pylibmc `_. You want to use pylibmc because\nit's fast.\n\nDo you need django-pylibmc?\n---------------------------\nDjango has direct support for pylibmc. To use it, set you cache backend::\n\n CACHES = {\n 'default': {\n 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',\n 'LOCATION': '127.0.0.1.11211',\n }\n }\n\nSee the\n`Django documentation `_\nfor details about using this cache backend.\n\nTwo reasons to use django-pylibmc instead are:\n\n- You need to use the binary protocol\n- You need to use a username and password to access the memcached server (such as\n with `Memcachier on Heroku `_).\n\n\nRequirements\n------------\n\ndjango-pylibmc requires pylibmc 1.4.1 or above. It supports Django 1.7 through\n1.9, and Python versions 2.7, 3.4, and 3.5.\n\nInstallation\n------------\n\nGet it from `pypi `_::\n\n pip install django-pylibmc\n\nor `github `_::\n\n pip install -e git://github.com/django-pylibmc/django-pylibmc.git#egg=django-pylibmc\n\n\nUsage\n-----\n\nYour cache backend should look something like this::\n\n CACHES = {\n 'default': {\n 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',\n 'LOCATION': 'localhost:11211',\n 'TIMEOUT': 500,\n 'BINARY': True,\n 'OPTIONS': { # Maps to pylibmc \"behaviors\"\n 'tcp_nodelay': True,\n 'ketama': True\n }\n }\n }\n\nTo use a `memcached local socket connection\n`_,\nset ``LOCATION`` to the path to the file, i.e. ``'/var/run/memcached/memcached.sock'``.\n\nIf you want to use the memcached binary protocol, set the ``BINARY`` key's\nvalue to ``True`` as shown above. ``BINARY`` is ``False`` by default.\n\nIf you want to control `pylibmc behaviors\n`_, use the\n``OPTIONS``. ``OPTIONS`` is an empty dict by default.\n\nPylibmc supports `compression\n`_ and the\nminimum size (in bytes) of values to compress can be set via the Django\nsetting ``PYLIBMC_MIN_COMPRESS_LEN``. The default is ``0``, which is disabled.\n\nPylibmc 1.3.0 and above allows to configure compression level, which can\nbe set via the Django setting ``PYLIBMC_COMPRESS_LEVEL``. It accepts the\nsame values as the Python `zlib `_\nmodule. Please note that pylibmc changed the default from ``1`` (``Z_BEST_SPEED``)\nto ``-1`` (``Z_DEFAULT_COMPRESSION``) in 1.3.0.\n\n\nConfiguration with Environment Variables\n----------------------------------------\n\nOptionally, the memcached connection can be configured with environment\nvariables (on platforms like Heroku). To do so, declare the following\nvariables:\n\n* ``MEMCACHE_SERVERS``\n* ``MEMCACHE_USERNAME``\n* ``MEMCACHE_PASSWORD``\n\n\nCaching Timouts\n---------------\nWhen setting a cache value, memcache allows you to set an expiration for the\nvalue. Commonly, the value is set to a timeout in seconds. However, other\nvalues are allowed including Unix timestamps and 0 for \"never expire\". The\nhighest number of seconds is 30 days - more than that, and the value is\ntreated like a timestamp.\n\nDjango instead tries to work with cache timeouts in seconds after the current\ntime. 0 is treated as 0 seconds, meaning the item should expire immediately.\nA timeout of None signals that the item should not expire. There is some\nsupport for memcache-style Unix timestamps as well.\n\nIn the distant past (Django 1.3?), a timeout of 0 was converted to the default\ntimeout.\n\nThe current django-pylibmc behaviour is to pass 0 to the backend, which should\nbe interpreted as \"never expire\". Omiting the timeout will get the Django\ndefault.\n\nIn the future, django-pylibmc will adopt the latest Django behaviour.\nThe safest solution for your own code is to omit the timeout parameter (and\nget the default timeout), or set it to a timeout in seconds (less than 30\ndays). This way, your code will work when the Django behaviour is adopted.\nAvoid using a timeout of 0, None, or a negative number.\n\nTesting\n-------\n\nInstall `tox `_::\n\n pip install tox\n\nRun the tests like this::\n\n tox\n\nChangelog\n=========\n\n0.6.1 - 2015-12-28\n------------------\n- Supports Django 1.7 through 1.9\n- Supports Python 2.7, 3.4, and 3.5\n\n0.6.0 - 2015-04-01\n------------------\n- Requires pylibmc 1.4.1 or greater\n- Supports Django 1.4 through 1.8.\n- Supports Python 2.5 through 2.7, and Python 3.3 through 3.4\n- In Django 1.6 and higher, when the timeout is omitted, the default\n timeout is used, rather than set to \"never expire\".", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/django-pylibmc/django-pylibmc", "keywords": "django cache pylibmc memcached", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-pylibmc", "package_url": "https://pypi.org/project/django-pylibmc/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-pylibmc/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/django-pylibmc/django-pylibmc" }, "release_url": "https://pypi.org/project/django-pylibmc/0.6.1/", "requires_dist": null, "requires_python": null, "summary": "Django cache backend using pylibmc", "version": "0.6.1" }, "last_serial": 1880502, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "99e9d0960a12defe58fa2fd6a17ffd0d", "sha256": "265737cd96cfc06892830633093cce06e05f5ced928ffa5099315f3374d6dd93" }, "downloads": -1, "filename": "django-pylibmc-0.2.tar.gz", "has_sig": false, "md5_digest": "99e9d0960a12defe58fa2fd6a17ffd0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3908, "upload_time": "2010-05-18T16:38:41", "url": "https://files.pythonhosted.org/packages/3c/31/a9d38f7e52c3dbdae8ad8c86b2de237247b198b4855d70f8a8914e6cc3f6/django-pylibmc-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f886f99866cafa11ab322171d589af9f", "sha256": "8f6e05dea4000347da86543402b4c564395dfbd04b8a27019994b352e7e3b33a" }, "downloads": -1, "filename": "django-pylibmc-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f886f99866cafa11ab322171d589af9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4181, "upload_time": "2010-05-19T00:26:41", "url": "https://files.pythonhosted.org/packages/78/bc/e56fe7da63c1ac7d525fa296b1ce369d3c1dd619ae2a21fc6a825b1566fa/django-pylibmc-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "be33c4d594313d333369ccaad69ea6d1", "sha256": "1586a6979ddf3d2a5d2f4d0edc5c91b32f31efb8f724a13aea65dcd12764ad82" }, "downloads": -1, "filename": "django-pylibmc-0.2.3.tar.gz", "has_sig": false, "md5_digest": "be33c4d594313d333369ccaad69ea6d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4363, "upload_time": "2012-06-29T01:13:00", "url": "https://files.pythonhosted.org/packages/8d/2b/cf7e2485ad323b08d2108da9bdff785ee771b7339b63b48a9687970d5b0d/django-pylibmc-0.2.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "df603f3314909117b0bc36fe360a7e3d", "sha256": "a78f2975b7b5cb61cc15f7241da514b282fda4543c6346602a2fc275499df1f2" }, "downloads": -1, "filename": "django-pylibmc-0.5.0.tar.gz", "has_sig": false, "md5_digest": "df603f3314909117b0bc36fe360a7e3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4662, "upload_time": "2013-03-25T17:29:57", "url": "https://files.pythonhosted.org/packages/6d/73/6887e5b3be4fae35ce6c30d2ca8fa9e939d273a952ce13dd1054ab755d20/django-pylibmc-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "edff678b9bdc2f87a0b14df8ba79b0f2", "sha256": "62137d53b5aca2fba424744ba1bb30e92a115d9a8681cbe6a6411db241b1d1ad" }, "downloads": -1, "filename": "django_pylibmc-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edff678b9bdc2f87a0b14df8ba79b0f2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8676, "upload_time": "2015-04-03T03:34:42", "url": "https://files.pythonhosted.org/packages/3f/98/c05a58e901adaa802562a00830f2ad6ba5e3b3c8ed37fa6b191314df5544/django_pylibmc-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c46576b825be942307d16145095824e7", "sha256": "559c424728e40420da8c998b13c3c4f0861b475269a0a876fb1718fff276d106" }, "downloads": -1, "filename": "django-pylibmc-0.6.0.tar.gz", "has_sig": false, "md5_digest": "c46576b825be942307d16145095824e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10560, "upload_time": "2015-04-03T03:34:39", "url": "https://files.pythonhosted.org/packages/27/27/82f926197cf80b274eb98d78cfe5cbfd0fc2fa9f34a35dfd41a4f7351f76/django-pylibmc-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "11d23fef9f39670c924495b2975fd1bf", "sha256": "9cffdee703aaf9ebc029d9dbdee8abdd0723564b95e4b2ac59e4a668b8e58f93" }, "downloads": -1, "filename": "django_pylibmc-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11d23fef9f39670c924495b2975fd1bf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8823, "upload_time": "2015-12-28T21:30:34", "url": "https://files.pythonhosted.org/packages/1b/2b/cbc55be77062f783b2a28dcc0aa6bb8f55ebbbf2c186b76e58ea79e25ee5/django_pylibmc-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01b07be465ac124c19bd463d5ea4d093", "sha256": "02b591933a029eb552388cced713028f3c6cbb021639fc8de388bd1ca87981d4" }, "downloads": -1, "filename": "django-pylibmc-0.6.1.tar.gz", "has_sig": false, "md5_digest": "01b07be465ac124c19bd463d5ea4d093", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10240, "upload_time": "2015-12-28T21:30:10", "url": "https://files.pythonhosted.org/packages/6d/35/0cd2c2b72f6690aa0563544e11e9d121e31af343f828ce7d14622aa087d6/django-pylibmc-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "11d23fef9f39670c924495b2975fd1bf", "sha256": "9cffdee703aaf9ebc029d9dbdee8abdd0723564b95e4b2ac59e4a668b8e58f93" }, "downloads": -1, "filename": "django_pylibmc-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11d23fef9f39670c924495b2975fd1bf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8823, "upload_time": "2015-12-28T21:30:34", "url": "https://files.pythonhosted.org/packages/1b/2b/cbc55be77062f783b2a28dcc0aa6bb8f55ebbbf2c186b76e58ea79e25ee5/django_pylibmc-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01b07be465ac124c19bd463d5ea4d093", "sha256": "02b591933a029eb552388cced713028f3c6cbb021639fc8de388bd1ca87981d4" }, "downloads": -1, "filename": "django-pylibmc-0.6.1.tar.gz", "has_sig": false, "md5_digest": "01b07be465ac124c19bd463d5ea4d093", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10240, "upload_time": "2015-12-28T21:30:10", "url": "https://files.pythonhosted.org/packages/6d/35/0cd2c2b72f6690aa0563544e11e9d121e31af343f828ce7d14622aa087d6/django-pylibmc-0.6.1.tar.gz" } ] }