{
"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": []
}