{ "info": { "author": "Kevin", "author_email": "dgt_x@foxmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# aiossdb\naiossdb is a library for accessing an ssdb database from AsyncIO\n\n[![Coverage Status](https://coveralls.io/repos/github/Microndgt/aiossdb/badge.svg?branch=master)](https://coveralls.io/github/Microndgt/aiossdb?branch=master)\n![https://travis-ci.org/Microndgt/aiossdb.svg?branch=master](https://travis-ci.org/Microndgt/aiossdb.svg?branch=master)\n\nRequirements\n------------\n\n- Python 3.6+\n\nDONE and TODO\n-------------\n\n- [x] base async ssdb connection\n- [x] async ssdb parser\n- [x] async ssdb connection pool\n- [x] easy using ssdb async client\n- [x] tests\n- [ ] detailed docs\n- [ ] suppress ReplyError as a choice\n- [ ] releasing...\n- [ ] and more...\n\nQuick Start\n-----------\n\n- Client\n\nClient will create a connection pool, each time you execute the command will be from the available connection pool to get the connection, and then execute the command, and then release \nClient\u4f1a\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u6c60\uff0c\u5728\u6bcf\u6b21\u6267\u884c\u547d\u4ee4\u7684\u65f6\u5019\u90fd\u4f1a\u53bb\u4ece\u53ef\u7528\u8fde\u63a5\u6c60\u4e2d\u62ff\u5230\u8fde\u63a5\uff0c\u7136\u540e\u6267\u884c\u547d\u4ee4\uff0c\u7136\u540e\u91ca\u653e\n\n```\nloop = asyncio.new_event_loop()\nasyncio.set_event_loop(loop)\n\n\nasync def just_look():\n c = Client(loop=loop)\n await c.set('a', 1)\n res = await c.get('a')\n print(res)\n await c.close()\n return res\n\nloop.run_until_complete(just_look())\nloop.close()\n```\n\n- ConnectionPool\n\n```\nimport asyncio\nfrom aiossdb import create_pool\n\nloop = asyncio.get_event_loop()\n\n\nasync def connect_tcp():\n pool = await create_pool(('localhost', 8888), loop=loop, minsize=5, maxsize=10)\n\n # Use the direct implementation of the command pool\n # \u4f7f\u7528pool\u76f4\u63a5\u6267\u884c\u547d\u4ee4\n await pool.execute('set', 'a', 2)\n val = await pool.execute('hget', 'hash_name', 'hash_key')\n print(val)\n\n # Use the pool to get the connection\n # \u4f7f\u7528pool\u83b7\u53d6\u8fde\u63a5\n conn, addr = await pool.get_connection()\n await conn.execute('set', 'a', 2)\n val = await conn.execute('hget', 'hash_name', 'hash_key')\n print(val)\n\n # Get the final connection to be released\n # \u83b7\u53d6\u7684\u8fde\u63a5\u6700\u540e\u4e00\u5b9a\u8981release\n await pool.release(conn)\n\n pool.close()\n await pool.wait_closed()\n\nloop.run_until_complete(connect_tcp())\nloop.close()\n```\n\nIf you request a non-existent key, a `ReplyError` will be raised and the type of error may be: `not_found`, `error`, `fail`, `client_error` \n\u5982\u679c\u83b7\u53d6\u4e0d\u5b58\u5728\u7684\u952e\u7b49\u60c5\u51b5\u4f1a\u5f15\u53d1`ReplyError`, \u9519\u8bef\u7c7b\u578b\u53ef\u80fd\u6709: `not_found`, `error`, `fail`, `client_error`\n\n```\ntry:\n val = await conn.execute('hget', 'hash_name', 'hash_key')\nexcept ReplyError as e:\n print(\"Error type: {}\".format(e.etype))\n print(\"Executed command: {}\".format(e.command))\n```\n\n- Connection\n\n```\nimport asyncio\nfrom aiossdb import create_connection, ReplyError\n\n\nloop = asyncio.get_event_loop()\n\n\nasync def connect_tcp():\n conn = await create_connection(('localhost', 8888), loop=loop)\n await conn.execute('set', 'a', 2)\n val = await conn.execute('hget', 'hash_name', 'hash_key')\n print(val)\n\n conn.close()\n await conn.wait_closed()\n\nloop.run_until_complete(connect_tcp())\nloop.close()\n```\n\nExceptions\n----------\n\n- SSDBError\n - ConnectionClosedError\n - ReplyError\n - ProtocolError\n - PoolClosedError\n\nNOTES\n-----\n\n- The preliminary test shows that `aiossdb` is 25 times fast than [pyssdb](https://github.com/ifduyue/pyssdb)\n\nContributor\n===========\n\nKevin Du\n--------\n\n- Email: `dgt_x@foxmail.com`\n- Site: `http://skyrover.me`\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "aiossdb", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aiossdb", "package_url": "https://pypi.org/project/aiossdb/", "platform": "", "project_url": "https://pypi.org/project/aiossdb/", "project_urls": null, "release_url": "https://pypi.org/project/aiossdb/0.0.5/", "requires_dist": [ "pytest-cov; extra == 'tests'", "pytest-asyncio; extra == 'tests'", "pytest; extra == 'tests'" ], "requires_python": "", "summary": "aiossdb is a library for accessing a ssdb database from the asyncio", "version": "0.0.5" }, "last_serial": 3885370, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "40bce110796e7f0bea3289de14657c5d", "sha256": "967db7923d4ff31d13722ea3f88113a04a9c56481b0beb6ace11798b71a594d4" }, "downloads": -1, "filename": "aiossdb-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "40bce110796e7f0bea3289de14657c5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15266, "upload_time": "2018-02-22T05:55:52", "url": "https://files.pythonhosted.org/packages/15/b8/c3af29f80b6c5801612cd6155036bcaec5e4367ad82d818ed1185ff18637/aiossdb-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3604812ebd6c23079d7396ebb44f231b", "sha256": "2041189ee6d06980397a088a0344948391f61a1adb2dadd127c951d47ba6bf93" }, "downloads": -1, "filename": "aiossdb-0.0.2.tar.gz", "has_sig": false, "md5_digest": "3604812ebd6c23079d7396ebb44f231b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10783, "upload_time": "2018-02-22T05:55:54", "url": "https://files.pythonhosted.org/packages/fd/ee/358baee205a775fb8aa8a6578e6e96cd93546e76a119aa5b8552c81fe0ca/aiossdb-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7610c29f1e689af2eea2a614dd47486a", "sha256": "474df12f7d1f3a25bb98b9f7969d29a0f18446c4a46d1a554fe28f5e23a42641" }, "downloads": -1, "filename": "aiossdb-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7610c29f1e689af2eea2a614dd47486a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13899, "upload_time": "2018-05-21T01:20:15", "url": "https://files.pythonhosted.org/packages/51/8a/427606bad1c62df1c97e23ba3bde6989ee10b1401a2e7cc38e9a6897c629/aiossdb-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74d18d853e925647742a1c2be18e81ed", "sha256": "8cb04ce1d215a11d6cdc891c8dcc4038015aa1a9be520d72e5a93c7fd9d42637" }, "downloads": -1, "filename": "aiossdb-0.0.3.tar.gz", "has_sig": false, "md5_digest": "74d18d853e925647742a1c2be18e81ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11576, "upload_time": "2018-05-21T01:20:16", "url": "https://files.pythonhosted.org/packages/72/c6/e1cc0a73bbbb8a16ff643339da7182ae31da0eab464180ffe7414efffa44/aiossdb-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "703521b83d1b123a4823248ccb5677d5", "sha256": "bfb33e17f12184d1a8e4b6c0106c5873384bbbc13d54f2806dbb33d6137069c3" }, "downloads": -1, "filename": "aiossdb-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "703521b83d1b123a4823248ccb5677d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13913, "upload_time": "2018-05-22T00:00:42", "url": "https://files.pythonhosted.org/packages/99/61/6bc858db8b8b60284df053ac3c473648386139effb11a184ce5aa6cec53b/aiossdb-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b32633c4d559ceac05b548d50e3932bb", "sha256": "df9c09dbe0496b94bc3d6a26ac6ec5ecdd2b6abcad9363d7ec839a4d674bb54f" }, "downloads": -1, "filename": "aiossdb-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b32633c4d559ceac05b548d50e3932bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11595, "upload_time": "2018-05-22T00:00:44", "url": "https://files.pythonhosted.org/packages/e4/b8/a247c02dddec44289ea6bcf30d6894edb33bcb497fa978388b8e5d4913d0/aiossdb-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4436fce318a5fc20543a69039898e379", "sha256": "3bf00a6059ee318f2ac2c8b5d3d2a6cc5e67d99fff74fe7143dd54e2de74f7ee" }, "downloads": -1, "filename": "aiossdb-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "4436fce318a5fc20543a69039898e379", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13910, "upload_time": "2018-05-22T00:04:29", "url": "https://files.pythonhosted.org/packages/03/ee/850be94f4bde02ed7fe637a337c35c691ecf34bc1e6eff7fc87b29d9fbc3/aiossdb-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44581545cbcb9099789d9cab1bc607f1", "sha256": "c01ca10729e8f7e5fa9fe783f7262e7bf8fa7a32451a47bc545949c4e4124bdb" }, "downloads": -1, "filename": "aiossdb-0.0.5.tar.gz", "has_sig": false, "md5_digest": "44581545cbcb9099789d9cab1bc607f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11593, "upload_time": "2018-05-22T00:04:31", "url": "https://files.pythonhosted.org/packages/cb/5b/3ea09f0232397559c86cba54848c1b763b74d878afdeed324197d3ef946f/aiossdb-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4436fce318a5fc20543a69039898e379", "sha256": "3bf00a6059ee318f2ac2c8b5d3d2a6cc5e67d99fff74fe7143dd54e2de74f7ee" }, "downloads": -1, "filename": "aiossdb-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "4436fce318a5fc20543a69039898e379", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13910, "upload_time": "2018-05-22T00:04:29", "url": "https://files.pythonhosted.org/packages/03/ee/850be94f4bde02ed7fe637a337c35c691ecf34bc1e6eff7fc87b29d9fbc3/aiossdb-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44581545cbcb9099789d9cab1bc607f1", "sha256": "c01ca10729e8f7e5fa9fe783f7262e7bf8fa7a32451a47bc545949c4e4124bdb" }, "downloads": -1, "filename": "aiossdb-0.0.5.tar.gz", "has_sig": false, "md5_digest": "44581545cbcb9099789d9cab1bc607f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11593, "upload_time": "2018-05-22T00:04:31", "url": "https://files.pythonhosted.org/packages/cb/5b/3ea09f0232397559c86cba54848c1b763b74d878afdeed324197d3ef946f/aiossdb-0.0.5.tar.gz" } ] }