{ "info": { "author": "Santiago Suarez Ordonez", "author_email": "santiycr@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "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.3", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=============================\nNameko Cache Tools\n=============================\n\n.. image:: https://badge.fury.io/py/nameko-cachetools.png\n :target: http://badge.fury.io/py/nameko-cachetools\n\n.. image:: https://travis-ci.org/santiycr/nameko-cachetools.png?branch=master\n :target: https://travis-ci.org/santiycr/nameko-cachetools\n\nA few tools to cache interactions between your nameko services, increasing\nresiliency and performance at the expense of consistency, when it makes sense.\n\n\nTo use Nameko Cache Tools in a project::\n\n\n\n from nameko.rpc import rpc\n from nameko_cachetools import CachedRpcProxy\n\n\n class Service(object):\n name = \"demo\"\n\n other_service = CachedRpcProxy('other_service')\n\n @rpc\n def do_something(self, request):\n # this rpc response will be cached first, then use the different\n # cache strategies available in CachedRpcProxy or\n # CacheFirstRpcProxy\n other_service.do_something('hi')\n\n\nCaching strategies:\n-------------------\n\n\nCachedRpcProxy\n^^^^^^^^^^^^^^\n\nIf a cached version of this request exists, a response from the cache is\nsent instead of hangling forever or raising an exception.\n\nIf a cached version doesn't exist, it will behave like a normal rpc,\nand wait indefinitey for a reply. All successful replies are cached.\n\n**WARNING**: Do NOT use this for setters, rpcs meant to modify state in the\ntarget service\n\nArguments:\n\ncache\n the cache to use. This should resemble a dict but can be more\n sophisticated, like the caches provided by the cachetools package.\n\nfailover_timeout\n if a cached version of this query exists, how long\n in seconds should your original request wait until it deems the target\n service as unresponsive and moves on to use a cached response\n\nCacheFirstRpcProxy\n^^^^^^^^^^^^^^^^^^\n\nStores responses from the original services and keeps them cached.\n\nIf further requests come in with the same arguments and found in the cache,\na response from the cache is sent instead of hitting the destination service.\n\n**WARNING**: Do NOT use this for setters, rpcs meant to modify state in the\ntarget service\n\nArguments:\n\ncache\n the cache to use. This should resemble a dict but can be more\n sophisticated, like the caches provided by the cachetools package.\n\n\n\n\nDocumentation\n-------------\n\nThe full documentation is at http://nameko-cachetools.rtfd.org.\n\n\n\nHistory\n-------\n\n0.1.0 (2018-06-10)\n++++++++++++++++++\n\n* First release on PyPI.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/santiycr/nameko-cachetools", "keywords": "nameko-cachetools nameko cachetools cache rpc", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nameko-cachetools", "package_url": "https://pypi.org/project/nameko-cachetools/", "platform": "", "project_url": "https://pypi.org/project/nameko-cachetools/", "project_urls": { "Homepage": "https://github.com/santiycr/nameko-cachetools" }, "release_url": "https://pypi.org/project/nameko-cachetools/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "A few tools to cache interactions between your nameko services, increasing resiliency and performance at the expense of consistency, when it makes sense.", "version": "1.0.0" }, "last_serial": 3948784, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "416f61cc032c208cd4d667b6a97b95aa", "sha256": "3e83b544cbffc174ce84c39d14da79db3a76ba0037132510a076edd8a465cd01" }, "downloads": -1, "filename": "nameko_cachetools-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "416f61cc032c208cd4d667b6a97b95aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3501, "upload_time": "2018-06-10T21:13:59", "url": "https://files.pythonhosted.org/packages/22/a8/0dbb9df1603e6e14251d2b7bfba7703360d488ef5edce9713607adc644d9/nameko_cachetools-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6580125c80dbf1f219fa3b77443ee25", "sha256": "2e29422887b9addde75fb5b34b259110137bf09dd5514c6ecf39313b827adcad" }, "downloads": -1, "filename": "nameko-cachetools-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c6580125c80dbf1f219fa3b77443ee25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5412, "upload_time": "2018-06-10T21:13:54", "url": "https://files.pythonhosted.org/packages/fc/76/953b2474e38c6c0f67f4c67af7cb7760ae58c550e2c6a134f7ac6ac0bab2/nameko-cachetools-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d096f5827d0e3283c0ecb8cefc9f197d", "sha256": "615958d9c8ab1adc86c02186d137619d3b27112b40816c67b84f0bf81bba438c" }, "downloads": -1, "filename": "nameko_cachetools-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d096f5827d0e3283c0ecb8cefc9f197d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3507, "upload_time": "2018-06-10T21:35:11", "url": "https://files.pythonhosted.org/packages/d2/d5/0e8a11547ce25d0ec744613a56722f5474567d52c98e7a0165f1ebf70789/nameko_cachetools-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0fe15741ccae3a58d481d36ec72308ac", "sha256": "08e7f619890232a9c6b46490ce0884920d79c4633e7c1fc16507bda259c74a4b" }, "downloads": -1, "filename": "nameko-cachetools-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0fe15741ccae3a58d481d36ec72308ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5426, "upload_time": "2018-06-10T21:35:08", "url": "https://files.pythonhosted.org/packages/ac/c1/279a434a6655ea0e4ff59549dee12f26440ba609bf7b7eb5ff55966618f3/nameko-cachetools-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "007e1d46c896c17f06707a3f2693610b", "sha256": "dd78a0d276377fd664d7bd57f024fde9e38929ff6816bec6f94d258f33f40a3a" }, "downloads": -1, "filename": "nameko_cachetools-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "007e1d46c896c17f06707a3f2693610b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4234, "upload_time": "2018-06-10T22:14:21", "url": "https://files.pythonhosted.org/packages/ad/d2/b217a4ef929219bd5f0e7b7eb88de9e95566ee865c7b9e46a9aa81fe60b3/nameko_cachetools-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84b905ffc38bdb1ac77a32edcfff956a", "sha256": "3e8700c758f0b4908c638a2a34ce035a429f72a0c3a4dcde26746a46785713c8" }, "downloads": -1, "filename": "nameko-cachetools-0.3.0.tar.gz", "has_sig": false, "md5_digest": "84b905ffc38bdb1ac77a32edcfff956a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5916, "upload_time": "2018-06-10T22:14:18", "url": "https://files.pythonhosted.org/packages/63/17/36a013e1bb095b69d13c548045973c8edf206dc9d8027aea4db82f6d2585/nameko-cachetools-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "df9fc11252ad2deb9510e073f4a22b70", "sha256": "fcea75b54a1bbfa08c32a92911e06b51c7f98fc434eddeaff30a60e964eb7472" }, "downloads": -1, "filename": "nameko_cachetools-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df9fc11252ad2deb9510e073f4a22b70", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4231, "upload_time": "2018-06-10T22:29:24", "url": "https://files.pythonhosted.org/packages/65/d6/1d27db482242fbb359011055f3d82d3de3ca799983f829f280e53d1542e4/nameko_cachetools-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f138f722292ee9ba7048cc7df3b69490", "sha256": "f0d0aeb264fe253bae66a577b3efebfc62da4f64e27096edeeca7ea62fab1924" }, "downloads": -1, "filename": "nameko-cachetools-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f138f722292ee9ba7048cc7df3b69490", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5909, "upload_time": "2018-06-10T22:29:21", "url": "https://files.pythonhosted.org/packages/79/78/2b5d392a7b74972dd5726b70ff84415f3f348c7d6dc984c0d1aba20520c2/nameko-cachetools-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "9e0861071fe13a0b8ccd7eaa188feb77", "sha256": "68aca584179eaee6d81439ec169d6e56c313c74727ef1fa6d2bb7a7dfb4de788" }, "downloads": -1, "filename": "nameko_cachetools-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e0861071fe13a0b8ccd7eaa188feb77", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4244, "upload_time": "2018-06-11T00:26:23", "url": "https://files.pythonhosted.org/packages/fb/f4/4c645f224fbe091e0c4b06440e773e897149c69d374ed9977e5039b776e8/nameko_cachetools-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e3b1f5773b6ac0cbb28f92e1db61b55", "sha256": "aacc20518573641d21fdd1003c0d5f5045b34a824eddcabd41df581cade3c67d" }, "downloads": -1, "filename": "nameko-cachetools-0.5.0.tar.gz", "has_sig": false, "md5_digest": "9e3b1f5773b6ac0cbb28f92e1db61b55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6540, "upload_time": "2018-06-11T00:26:20", "url": "https://files.pythonhosted.org/packages/dd/86/9815aa8258b31a4883d984494356c26f76c183abf92efdad1dac1da99b3a/nameko-cachetools-0.5.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8d9797f9f476a32e3cb04870cf26e9cf", "sha256": "4a94dcc3870837539f45addf152fa216ddeb249d79e1d37f73c14e50e2997cde" }, "downloads": -1, "filename": "nameko_cachetools-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8d9797f9f476a32e3cb04870cf26e9cf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4230, "upload_time": "2018-06-11T04:22:48", "url": "https://files.pythonhosted.org/packages/da/92/c283c7cca334e396c6af8850163bca2eabfecc0f43982d7f441eda1a3cd8/nameko_cachetools-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85395365371cd0076154f188912bbb96", "sha256": "6d1b5b03f78cf081862382f779086c9d0a4d4adaca2ba381ae9096ed7c0908c2" }, "downloads": -1, "filename": "nameko-cachetools-1.0.0.tar.gz", "has_sig": false, "md5_digest": "85395365371cd0076154f188912bbb96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6704, "upload_time": "2018-06-11T04:22:44", "url": "https://files.pythonhosted.org/packages/4b/8c/e5a9ad2f475041ecc7e6be75dbd0e19e18ee113f218496e85b9b92306f24/nameko-cachetools-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8d9797f9f476a32e3cb04870cf26e9cf", "sha256": "4a94dcc3870837539f45addf152fa216ddeb249d79e1d37f73c14e50e2997cde" }, "downloads": -1, "filename": "nameko_cachetools-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8d9797f9f476a32e3cb04870cf26e9cf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4230, "upload_time": "2018-06-11T04:22:48", "url": "https://files.pythonhosted.org/packages/da/92/c283c7cca334e396c6af8850163bca2eabfecc0f43982d7f441eda1a3cd8/nameko_cachetools-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85395365371cd0076154f188912bbb96", "sha256": "6d1b5b03f78cf081862382f779086c9d0a4d4adaca2ba381ae9096ed7c0908c2" }, "downloads": -1, "filename": "nameko-cachetools-1.0.0.tar.gz", "has_sig": false, "md5_digest": "85395365371cd0076154f188912bbb96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6704, "upload_time": "2018-06-11T04:22:44", "url": "https://files.pythonhosted.org/packages/4b/8c/e5a9ad2f475041ecc7e6be75dbd0e19e18ee113f218496e85b9b92306f24/nameko-cachetools-1.0.0.tar.gz" } ] }