{ "info": { "author": "Jeong YunWon", "author_email": "ring@youknowone.org", "bugtrack_url": null, "classifiers": [ "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.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9" ], "description": "Ring\n====\n\n.. image:: https://badges.gitter.im/ring-cache/community.svg\n :alt: Join the chat at https://gitter.im/ring-cache/community\n :target: https://gitter.im/ring-cache/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n.. image:: https://github.com/youknowone/ring/actions/workflows/python-package.yml/badge.svg\n.. image:: https://codecov.io/gh/youknowone/ring/graph/badge.svg\n :target: https://codecov.io/gh/youknowone/ring\n\nLet's concentrate on code, not on storages.\n\nRing shows a way to control cache in point of view of code - not about storages.\nRing's decorator is convenient but also keeps fluency for general scenarios.\n\nasyncio support for Python3.5+!\n\nTake advantage of perfectly explicit and fully automated cache interface.\nRing decorators convert your functions to cached version of them, with extra\ncontrol methods.\n\n\nDocumentation\n-------------\n\nFull documentation with examples and references:\n``_\n\n- Function/method support.\n- asyncio support.\n- Django support.\n- Bulk access support.\n\n\nFunction cache\n--------------\n\n.. code:: python\n\n import ring\n import memcache\n import requests\n\n mc = memcache.Client(['127.0.0.1:11211'])\n\n # working for mc, expire in 60sec\n @ring.memcache(mc, time=60)\n def get_url(url):\n return requests.get(url).content\n\n # normal way - it is cached\n data = get_url('http://example.com')\n\nIt is a normal smart cache flow.\n\nBut ring is different when you want to explicitly control it.\n\n\n.. code:: python\n\n # delete the cache\n get_url.delete('http://example.com')\n # get cached data or None\n data_or_none = get_url.get('http://example.com')\n\n # get internal cache key\n key = get_url.key('http://example.com')\n # and access directly to the backend\n direct_data = mc.get(key)\n\n\nMethod cache\n------------\n\n.. code:: python\n\n import ring\n import redis\n\n rc = redis.StrictRedis()\n\n class User(dict):\n def __ring_key__(self):\n return self['id']\n\n # working for rc, no expiration\n # using json coder for non-bytes cache data\n @ring.redis(rc, coder='json')\n def data(self):\n return self.copy()\n\n # parameters are also ok!\n @ring.redis(rc, coder='json')\n def child(self, child_id):\n return {'user_id': self['id'], 'child_id': child_id}\n\n user = User(id=42, name='Ring')\n\n # create and get cache\n user_data = user.data() # cached\n user['name'] = 'Ding'\n # still cached\n cached_data = user.data()\n assert user_data == cached_data\n # refresh\n updated_data = user.data.update()\n assert user_data != updated_data\n\n # id is the cache key so...\n user2 = User(id=42)\n # still hitting the same cache\n assert updated_data == user2.data()\n\n\nInstallation\n------------\n\nPyPI is the recommended way.\n\n.. sourcecode:: shell\n\n $ pip install ring\n\nTo browse versions and tarballs, visit:\n ``_\n\n\nTo use memcached or redis, don't forget to install related libraries.\nFor example: python-memcached, python3-memcached, pylibmc, redis-py, Django etc\n\nIt may require to install and run related services on your system too.\nLook for `memcached` and `redis` for your system.\n\n\nContributors\n------------\n\nSee contributors list on:\n ``_", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/youknowone/ring", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ring", "package_url": "https://pypi.org/project/ring/", "platform": "", "project_url": "https://pypi.org/project/ring/", "project_urls": { "Homepage": "https://github.com/youknowone/ring" }, "release_url": "https://pypi.org/project/ring/0.9.1/", "requires_dist": null, "requires_python": "", "summary": "Function-oriented cache interface with built-in memcache & redis + asyncio support.", "version": "0.9.1", "yanked": false, "yanked_reason": null }, "last_serial": 11580364, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a608f814c835e771f990487c0e648614", "sha256": "2ceefe9c388a5df21d5e3e86f3b78ad202f71643241bd16bd262ebe14c20db38" }, "downloads": -1, "filename": "ring-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a608f814c835e771f990487c0e648614", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10410, "upload_time": "2017-01-23T14:47:29", "upload_time_iso_8601": "2017-01-23T14:47:29.934121Z", "url": "https://files.pythonhosted.org/packages/e8/0b/0cb56dc497bb857822e62fc452759112c0fd072ac1190a1f025d16693262/ring-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e1d9b2c6bce3ba7a55a8d1cf867bf0ae", "sha256": "7976acd6889ec18e8030df1c5d126df9227b00e5fbf0b1b76b38c05bc0504864" }, "downloads": -1, "filename": "ring-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e1d9b2c6bce3ba7a55a8d1cf867bf0ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7271, "upload_time": "2017-01-23T14:43:58", "upload_time_iso_8601": "2017-01-23T14:43:58.653032Z", "url": "https://files.pythonhosted.org/packages/69/e5/4c0546fb49706e552f9b97f19511da4352561a710ee076402115d8575f3e/ring-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0126af750a951f2a68a18d4512bfeb26", "sha256": "8abc1da099ff7a4a382eca7cfc442e08d29157f274f48770eb51d04e9db197b0" }, "downloads": -1, "filename": "ring-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0126af750a951f2a68a18d4512bfeb26", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10407, "upload_time": "2017-01-23T14:49:19", "upload_time_iso_8601": "2017-01-23T14:49:19.073994Z", "url": "https://files.pythonhosted.org/packages/b2/5f/5479eb496b6fc5b3ed9512ce76491137e8455bed539d1caac8560f7849ba/ring-0.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "240c8e4330027bf780c1282b67ed0afd", "sha256": "a111a169db98c883b38aede993e54cb7cbfb5362a7284e983fa87aa37c831c54" }, "downloads": -1, "filename": "ring-0.2.0.tar.gz", "has_sig": false, "md5_digest": "240c8e4330027bf780c1282b67ed0afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7299, "upload_time": "2017-01-23T14:49:16", "upload_time_iso_8601": "2017-01-23T14:49:16.877847Z", "url": "https://files.pythonhosted.org/packages/4d/6f/0939990cff279e1319d0bc81503411b50ecfe46f0e1dfd15a7b15ee5dde5/ring-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c032f8e9ce29323bf84c4507ba1c9964", "sha256": "0def8be91583f8a949db48c36ff2ee722d25238aee35e81f1f157fb7af87c587" }, "downloads": -1, "filename": "ring-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c032f8e9ce29323bf84c4507ba1c9964", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12625, "upload_time": "2017-01-30T17:06:39", "upload_time_iso_8601": "2017-01-30T17:06:39.923411Z", "url": "https://files.pythonhosted.org/packages/32/72/dc4b69dfe482434398610dae12293843ab5229df68772212339de16ee713/ring-0.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3277e16ba1de1f72df97b302fc95931c", "sha256": "720403ac834c6f410a4972ab508d2d87a69797333c59103f86a787baa6b2e8c2" }, "downloads": -1, "filename": "ring-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3277e16ba1de1f72df97b302fc95931c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9428, "upload_time": "2017-01-30T17:06:37", "upload_time_iso_8601": "2017-01-30T17:06:37.790137Z", "url": "https://files.pythonhosted.org/packages/5b/d8/bcace7f2dd637b8c9bd0c8b1b70e6ef6ce4db4a0ff3ffeab1f25bbcf0b91/ring-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c669e4a6564be1af75c4e918d2afa514", "sha256": "8a0892fb155b4299099d5dfab0753d77be4c55842940f63cec6b0733fa9013dc" }, "downloads": -1, "filename": "ring-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "c669e4a6564be1af75c4e918d2afa514", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12757, "upload_time": "2017-03-21T18:49:33", "upload_time_iso_8601": "2017-03-21T18:49:33.424602Z", "url": "https://files.pythonhosted.org/packages/1b/51/67ee4c5d94499d04d2953696f459feea00a64f1a851e1571f84e5139117a/ring-0.2.2-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3406b98f35077535663eccbfa8391afc", "sha256": "0123b514bd41f34969aa7e6b4192f24d279b74fe094481def5aa426d99048b76" }, "downloads": -1, "filename": "ring-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3406b98f35077535663eccbfa8391afc", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12794, "upload_time": "2017-03-21T18:51:52", "upload_time_iso_8601": "2017-03-21T18:51:52.329220Z", "url": "https://files.pythonhosted.org/packages/23/65/c1da416b8ac690448a0c4d45f6a242ae029e61bc1f06ac271a11ff09995c/ring-0.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b748ba34329333b3478aaf846fea4021", "sha256": "c741a28796304729769db5cc6e35051d2020572288b236d76ca518253eaaa5ae" }, "downloads": -1, "filename": "ring-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b748ba34329333b3478aaf846fea4021", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12788, "upload_time": "2017-03-21T18:50:45", "upload_time_iso_8601": "2017-03-21T18:50:45.261289Z", "url": "https://files.pythonhosted.org/packages/6e/c7/45019e020624cb13b8ce81da67f2436f5f239fad4f8e1d694276492bce34/ring-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "31edde3a492fa2f03487e9cab3c04e91", "sha256": "acdc50a8103b4ecd6e7c9ce510e3fa308acff9c4c258ac5bb0debc181acc3d57" }, "downloads": -1, "filename": "ring-0.2.2.tar.gz", "has_sig": false, "md5_digest": "31edde3a492fa2f03487e9cab3c04e91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9515, "upload_time": "2017-03-21T18:49:30", "upload_time_iso_8601": "2017-03-21T18:49:30.819727Z", "url": "https://files.pythonhosted.org/packages/38/05/8c9d48dfa65604a05f715adc57d4eea0e3e9cc8e75ad288db256e2b35afc/ring-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "bd021c8f1f193b458e263a75c1ad04a4", "sha256": "b2a5d7c37bb2d71499f615179f2896cd1a6f0c042912e0d8a8e92db6038644ed" }, "downloads": -1, "filename": "ring-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd021c8f1f193b458e263a75c1ad04a4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12982, "upload_time": "2017-03-27T02:29:04", "upload_time_iso_8601": "2017-03-27T02:29:04.732515Z", "url": "https://files.pythonhosted.org/packages/38/e2/de610e4f023ae9111baab301742b10699c76c4735b5eb3fc24584158a989/ring-0.2.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c44330c27eda7cceddd5fc0eafdeef27", "sha256": "fe010202e238a32eccb2c2dabe235c1ea017918a61f57ea4b1f5eb3493acefea" }, "downloads": -1, "filename": "ring-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c44330c27eda7cceddd5fc0eafdeef27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9782, "upload_time": "2017-03-27T02:29:01", "upload_time_iso_8601": "2017-03-27T02:29:01.487207Z", "url": "https://files.pythonhosted.org/packages/c7/5e/60d2456ce8e4c5b82c3d0db2fbcfeb278ec0f6ef7427172a705c096a48ea/ring-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3c96fd0cd63227ee0cbdc2204f633c28", "sha256": "65b8d192b108549e380ded77137b225f2f67a7eda6e8a676e3b2648e10e70701" }, "downloads": -1, "filename": "ring-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3c96fd0cd63227ee0cbdc2204f633c28", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13233, "upload_time": "2017-04-06T07:36:31", "upload_time_iso_8601": "2017-04-06T07:36:31.913618Z", "url": "https://files.pythonhosted.org/packages/a0/f4/4f4f0c88c2dbc4ab7b094190f6cf60f89237a5de6a01eafbf5813889d620/ring-0.2.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "191f724a2ba6c133bb3d8ab7639ccbdc", "sha256": "e8c11497b223f076c8588d5a56ff24056fb09a22b954e1ff5e5390c935ffb471" }, "downloads": -1, "filename": "ring-0.2.4.tar.gz", "has_sig": false, "md5_digest": "191f724a2ba6c133bb3d8ab7639ccbdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10108, "upload_time": "2017-04-06T07:36:29", "upload_time_iso_8601": "2017-04-06T07:36:29.295001Z", "url": "https://files.pythonhosted.org/packages/fe/e8/482f979966b65d08fc8d593529658750825642df21f47624cf51a169e3a9/ring-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "55babe8bb6fce7a6cb9d74160287f31a", "sha256": "24b8b3a614427f2a18650576c34d6e66150439bb4df5d16ac289bc92adcda166" }, "downloads": -1, "filename": "ring-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55babe8bb6fce7a6cb9d74160287f31a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13724, "upload_time": "2017-04-14T15:08:33", "upload_time_iso_8601": "2017-04-14T15:08:33.374541Z", "url": "https://files.pythonhosted.org/packages/70/32/94ac03ce00f628bba9d717602a04abd88f5386cc53484cb8dc6f89b219c2/ring-0.2.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "35bdbfc3ecd9ec033e9713cbac37735b", "sha256": "0b26d42e834eeae689a723d81bd436ca4620ee09a5834b3560829badce963f06" }, "downloads": -1, "filename": "ring-0.2.5.tar.gz", "has_sig": false, "md5_digest": "35bdbfc3ecd9ec033e9713cbac37735b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10248, "upload_time": "2017-04-14T15:08:30", "upload_time_iso_8601": "2017-04-14T15:08:30.918532Z", "url": "https://files.pythonhosted.org/packages/9a/d4/d8702b5bc860545e90855e62c4d0633cf9d637897ac0e2120decda4d938d/ring-0.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "9d8d8b22922ebb63831bdedb8da82a82", "sha256": "a97c70180b4fe35abf25fd0e6aff5793da8bb447b9d16cc185587216f2a7b411" }, "downloads": -1, "filename": "ring-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d8d8b22922ebb63831bdedb8da82a82", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13752, "upload_time": "2017-04-14T15:27:20", "upload_time_iso_8601": "2017-04-14T15:27:20.686449Z", "url": "https://files.pythonhosted.org/packages/ca/f8/ed84fc99e6adfdfb56169e3fb633d31d6d4a9a76f3f43796f9f95e6992d7/ring-0.2.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6f4273768dcc04ef85d4e0c24fcdaeca", "sha256": "dec64edf2a8c432482e3ff490a7a6a23e8e8c1802f8d8524fc72ce033ec85edc" }, "downloads": -1, "filename": "ring-0.2.6.tar.gz", "has_sig": false, "md5_digest": "6f4273768dcc04ef85d4e0c24fcdaeca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10307, "upload_time": "2017-04-14T15:27:18", "upload_time_iso_8601": "2017-04-14T15:27:18.190000Z", "url": "https://files.pythonhosted.org/packages/a0/14/539e81a614d9c22a879b8379de185fc4d3aa3cc24237452d78ddf1dfd578/ring-0.2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "74df81d6884179813768dbdb45b7d630", "sha256": "cbca4866de6dea99c823c80f0fcbbfda5de506e777a5d69995e5ee76c763d24d" }, "downloads": -1, "filename": "ring-0.3.0.tar.gz", "has_sig": false, "md5_digest": "74df81d6884179813768dbdb45b7d630", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10150, "upload_time": "2017-04-18T07:07:16", "upload_time_iso_8601": "2017-04-18T07:07:16.775206Z", "url": "https://files.pythonhosted.org/packages/61/21/8ab13b800218c371a082d1b6daa912c13a4ba19c4663bc6034aa92593d46/ring-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "3c23cde0b42dad91054ca223336c4b23", "sha256": "0f2029c61dd2ab1e57ee26318fa27412efd7478ac40e7f0af2e41793fb509762" }, "downloads": -1, "filename": "ring-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3c23cde0b42dad91054ca223336c4b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10159, "upload_time": "2017-04-19T09:10:57", "upload_time_iso_8601": "2017-04-19T09:10:57.057352Z", "url": "https://files.pythonhosted.org/packages/b1/9b/303786fa368ecf91751dc651e9d528032252084a1360f26fd642ca0698ac/ring-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d141304bad17e05ccef3267c2d6cef3c", "sha256": "f4768a7485cae666039b25fdcc73e1dc0e6eab25426e4e13179242dfd637629d" }, "downloads": -1, "filename": "ring-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d141304bad17e05ccef3267c2d6cef3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10620, "upload_time": "2017-07-25T16:05:30", "upload_time_iso_8601": "2017-07-25T16:05:30.301617Z", "url": "https://files.pythonhosted.org/packages/7f/c1/e7ab7cc57081182e503d14288dadb3ff571868d35df8a6bc6b07d8cfd639/ring-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "644e55be3cd412c385722055fdc1b455", "sha256": "d077e77c9db8ab3a69755f1af604c840db5682afb07b779b0e746b033832c17a" }, "downloads": -1, "filename": "ring-0.5.0.tar.gz", "has_sig": false, "md5_digest": "644e55be3cd412c385722055fdc1b455", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13040, "upload_time": "2017-11-27T13:26:24", "upload_time_iso_8601": "2017-11-27T13:26:24.513134Z", "url": "https://files.pythonhosted.org/packages/bb/13/1eec35a54d8d4fe9d2f76c11eab12bce2b996728a91eae28acdcc19cd9bc/ring-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5ce9f56690a3c21c96bde02839b7ee34", "sha256": "ea47c7fa28d07ff3a649ce2df7649d49eb9482e1c26fa7e26a5ea5c969e700b2" }, "downloads": -1, "filename": "ring-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5ce9f56690a3c21c96bde02839b7ee34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13084, "upload_time": "2017-11-27T13:31:48", "upload_time_iso_8601": "2017-11-27T13:31:48.667430Z", "url": "https://files.pythonhosted.org/packages/ae/0e/4efc8f18c1003700763648997b80034ffce35303231228e070ec070873e8/ring-0.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "dd61bf514d5fa179fd3162877f3f0a75", "sha256": "99bc2c3e8f8d42577192b3e01af3ee782c71f0e5a084f2ecc7cff5d3e4ae0249" }, "downloads": -1, "filename": "ring-0.5.2.tar.gz", "has_sig": false, "md5_digest": "dd61bf514d5fa179fd3162877f3f0a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13084, "upload_time": "2017-12-18T06:14:53", "upload_time_iso_8601": "2017-12-18T06:14:53.224245Z", "url": "https://files.pythonhosted.org/packages/05/d0/daa73d70f884317200e1ec42bb573401efaaabe6bf42ee52349495e3e944/ring-0.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "a279deded76f644b63eb601f5fbbecf4", "sha256": "c4ecbc41acef88b9044e1d2f8111144177599b75b101e52d69df80214134743a" }, "downloads": -1, "filename": "ring-0.6.0.tar.gz", "has_sig": false, "md5_digest": "a279deded76f644b63eb601f5fbbecf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13165, "upload_time": "2017-12-23T21:41:06", "upload_time_iso_8601": "2017-12-23T21:41:06.922257Z", "url": "https://files.pythonhosted.org/packages/39/5c/fbf7dcb8b0b151af1da798f9cd2c6b29b553e39c57c19006d6363ce6c6f8/ring-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "39f39124baaf761e9e6b1992ef24b554", "sha256": "53d3c05a830010cfea20793e1ca701c669c1b127cfe423d74f3eadfbf86f0e0c" }, "downloads": -1, "filename": "ring-0.6.1.tar.gz", "has_sig": false, "md5_digest": "39f39124baaf761e9e6b1992ef24b554", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13373, "upload_time": "2018-02-08T05:38:56", "upload_time_iso_8601": "2018-02-08T05:38:56.558399Z", "url": "https://files.pythonhosted.org/packages/9e/bc/274e8e7559ec7fdac8882c73e2ec350799d977f7d7f6533eb81da1dbc732/ring-0.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "786c828f8759e510bc871a14c9731080", "sha256": "a2e5c08344f33c8465858d906df80e158c1b6e011d3de9c9bd455a21c1c469c2" }, "downloads": -1, "filename": "ring-0.7.0.tar.gz", "has_sig": false, "md5_digest": "786c828f8759e510bc871a14c9731080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27137, "upload_time": "2018-06-29T11:56:26", "upload_time_iso_8601": "2018-06-29T11:56:26.028096Z", "url": "https://files.pythonhosted.org/packages/fb/6b/6a9d2ea467a0380966335bbadef86785c8656b3cee89b68348aba3c7634b/ring-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "2d5cc950fd7b2b8d4fded73587c11410", "sha256": "7e7c25d9d89a8a35a8570cceef210de007ffa5bc40b9ca7efda4678a748cf0f6" }, "downloads": -1, "filename": "ring-0.7.1.tar.gz", "has_sig": false, "md5_digest": "2d5cc950fd7b2b8d4fded73587c11410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27327, "upload_time": "2018-07-25T12:51:12", "upload_time_iso_8601": "2018-07-25T12:51:12.225979Z", "url": "https://files.pythonhosted.org/packages/8d/a7/d7218c95e09da85811d1049eacfb01d84f6b6e9a5d15918558f145e6f8a3/ring-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "a3e7563631a5316cd21e3af6aafe9315", "sha256": "8bd806bf3c3b70b25d403f254f1fc4a19155e10f9822c75fa9f74dac665f8b45" }, "downloads": -1, "filename": "ring-0.7.2.tar.gz", "has_sig": false, "md5_digest": "a3e7563631a5316cd21e3af6aafe9315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30484, "upload_time": "2019-05-05T13:11:52", "upload_time_iso_8601": "2019-05-05T13:11:52.259273Z", "url": "https://files.pythonhosted.org/packages/ff/be/065fa28998ee576f516e67b1d5a4f48c37dc8d1550179111dc1ef49fc0c2/ring-0.7.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "8ac23b9fe3e47e695e6cdab1f3375d85", "sha256": "cee547eece9f1b4dd5bf7cfc7ecddd7c730458a0d00d9fc4a949a6604b2207c1" }, "downloads": -1, "filename": "ring-0.7.3.tar.gz", "has_sig": false, "md5_digest": "8ac23b9fe3e47e695e6cdab1f3375d85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30593, "upload_time": "2019-10-24T13:51:45", "upload_time_iso_8601": "2019-10-24T13:51:45.230578Z", "url": "https://files.pythonhosted.org/packages/f4/e2/71aaefd1be0b4f28ac335db086cc72340ed97edf67f235d08610e4e1a8b7/ring-0.7.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "6453cb877cd1a8aaa09d7259fa3a5540", "sha256": "59ec223ca9f2f2e98b5c8a28709ab78217195936c8c42b4d5bb32abed0460b82" }, "downloads": -1, "filename": "ring-0.8.0.tar.gz", "has_sig": false, "md5_digest": "6453cb877cd1a8aaa09d7259fa3a5540", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32320, "upload_time": "2021-05-25T09:58:29", "upload_time_iso_8601": "2021-05-25T09:58:29.427313Z", "url": "https://files.pythonhosted.org/packages/01/28/2251e8a71f6eb7ab97dc92608c5298aeb7348a639102b2eb31e9f3bea528/ring-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "8361e2e311b0bf4654081b4f5fdef949", "sha256": "d668e194d1f061faaab79ba86b2391d1a3fab6d459d50969e53ef0150dc85f67" }, "downloads": -1, "filename": "ring-0.8.1.tar.gz", "has_sig": false, "md5_digest": "8361e2e311b0bf4654081b4f5fdef949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31591, "upload_time": "2021-05-26T05:26:24", "upload_time_iso_8601": "2021-05-26T05:26:24.630303Z", "url": "https://files.pythonhosted.org/packages/c6/90/305285108e6bea6bf1dea73e35f6cc8c0592b3b0d56a743146e5abf18865/ring-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "0cd9315ebcceba1d1b48e8dc7cb6b245", "sha256": "c6b4ea68ab79055fce640e68af4a2e2fddd624a803fac2e4edfa33c8727c9601" }, "downloads": -1, "filename": "ring-0.8.3.tar.gz", "has_sig": false, "md5_digest": "0cd9315ebcceba1d1b48e8dc7cb6b245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33560, "upload_time": "2021-07-08T09:01:23", "upload_time_iso_8601": "2021-07-08T09:01:23.698978Z", "url": "https://files.pythonhosted.org/packages/be/da/c1607d1ed42db48d91541c735740dd3fab439c0830094bd2d1c45210a8c8/ring-0.8.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "297e32b95d7173e3baee00d2f214b11b", "sha256": "36a4d854c41f0b1b0647ad887e492fe71fc983275bcb0126386d1e8fce35a60a" }, "downloads": -1, "filename": "ring-0.8.4.tar.gz", "has_sig": false, "md5_digest": "297e32b95d7173e3baee00d2f214b11b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33598, "upload_time": "2021-07-16T22:32:52", "upload_time_iso_8601": "2021-07-16T22:32:52.823706Z", "url": "https://files.pythonhosted.org/packages/0a/d4/1d73b119577eac418011cef69f2b3ac3480d89a7b1f599ad9098d085cf44/ring-0.8.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "0779141c50bb0e8c177de2cdcebe34ae", "sha256": "f0853e3645a255ecf26291283afd520834ba50d2e0a1d44d930e5bdb944001c4" }, "downloads": -1, "filename": "ring-0.9.0.tar.gz", "has_sig": false, "md5_digest": "0779141c50bb0e8c177de2cdcebe34ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33946, "upload_time": "2021-07-31T19:35:11", "upload_time_iso_8601": "2021-07-31T19:35:11.702697Z", "url": "https://files.pythonhosted.org/packages/56/86/716dc07306b87883d54d8746d69ef2fb76c36098484312c88992b19c190d/ring-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "4ca491b1647bc7eb4cba9779fb1de3c4", "sha256": "b077ec88c2dc179514a8e1fccd37fb1d5a6d2688891bb6e1ed9c33c4970e5424" }, "downloads": -1, "filename": "ring-0.9.1.tar.gz", "has_sig": false, "md5_digest": "4ca491b1647bc7eb4cba9779fb1de3c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33962, "upload_time": "2021-09-29T09:44:20", "upload_time_iso_8601": "2021-09-29T09:44:20.536588Z", "url": "https://files.pythonhosted.org/packages/ba/96/ba25d3b130787211f31444a30c5cd3e0bf2440900049072ff9996bd841d5/ring-0.9.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ca491b1647bc7eb4cba9779fb1de3c4", "sha256": "b077ec88c2dc179514a8e1fccd37fb1d5a6d2688891bb6e1ed9c33c4970e5424" }, "downloads": -1, "filename": "ring-0.9.1.tar.gz", "has_sig": false, "md5_digest": "4ca491b1647bc7eb4cba9779fb1de3c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33962, "upload_time": "2021-09-29T09:44:20", "upload_time_iso_8601": "2021-09-29T09:44:20.536588Z", "url": "https://files.pythonhosted.org/packages/ba/96/ba25d3b130787211f31444a30c5cd3e0bf2440900049072ff9996bd841d5/ring-0.9.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }