{ "info": { "author": "Roman Bulgakov", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Topic :: Database :: Front-Ends", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Redis High Availability Package for asyncio-redis\n=================================================\n\nHigh Availability package and Sentinel client for the `PEP 3156`_ Python event loop.\n\nThis package is a wrapper/plugin for asyncio-redis_ asynchronous, non-blocking client for a\nRedis server. It depends on asyncio (PEP 3156) and therefor it requires Python\n3.3 or 3.4. If you're new to asyncio, it can be helpful to check out\n`the asyncio documentation`_ first.\n\nFeatures\n--------\n\n- Sentinel support ontop of asyncio-redis:\n\n - role\n - sentinels\n - slaves\n - get_master_addr_by_name\n\n- Extended Redis support (versions 3.x)\n\n - role\n\n- Mostly tested\n\n - all tests from asyncio-redis_ are green\n - new functionality covered and guaranteed to run in same conditions\n - failover scenarios tested manually\n\n\nDependencies\n------------\n\nRedis cluster with Sentinel solution requires ``Redis 3.x``\n\nThis package uses and heavily depends on asyncio-redis_,\nbecause of the dependencies on package internals\n(due to required changes to support sentinel operations)\ncurrently requirement fixed at version ``0.14.3``\n\nI will manually update this dependency after ensuring that internals are compatible.\n\nRoadmap\n-------\n\n- implement pool reinitialization on master connection loss\n- add repeat/backoff wrapper as part of the package (coroutine or decorator)\n- provide automated testing for failover scenarios\n- implement preemptive connection reconfiguration\n (instant failover detection based on channel events from Sentinel daemon)\n- hiredis support\n\n\n\nUser Guide\n----------\n\nUsage is the very same as for asyncio-redis_ package Pool object,\nexcept for initialization of an entry point\n\n**Initialize a ConnectionManager**\n\n.. code:: python\n\n c = yield from ConnectionManager.create(\n cluster_name='mymaster',\n sentinels=[\n ('172.17.0.4', 26379),\n ('172.17.0.6', 26379),\n ('172.17.0.7', 26379)\n ],\n poolsize=5\n )\n # start using just like asyncio-redis\n yield from c.set('key', 'value')\n\n\n.. _asyncio-redis: https://github.com/jonathanslenders/asyncio-redis\n.. _the asyncio documentation: http://docs.python.org/dev/library/asyncio.html\n.. _PEP 3156: http://legacy.python.org/dev/peps/pep-3156/", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dikderoy/asyncio_redis_ha", "keywords": "redis sentinel high-availability client asyncio", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "asyncio-redis-ha", "package_url": "https://pypi.org/project/asyncio-redis-ha/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/asyncio-redis-ha/", "project_urls": { "Homepage": "https://github.com/dikderoy/asyncio_redis_ha" }, "release_url": "https://pypi.org/project/asyncio-redis-ha/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Redis/Sentinel High Availability package for asyncio-redis", "version": "0.1.1" }, "last_serial": 2405184, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "0ef7f04326199f858b0a1c45702196a5", "sha256": "60a627b94269c65f7dcd0719da88e1fe9b1ace1b5ff45ef4e1327aab45853371" }, "downloads": -1, "filename": "asyncio_redis_ha-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0ef7f04326199f858b0a1c45702196a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8718, "upload_time": "2016-10-17T22:23:55", "url": "https://files.pythonhosted.org/packages/84/15/1d971d90384fe4d79362a9eaf6dda9552d3c6693f2864c22808eb336d311/asyncio_redis_ha-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0ef7f04326199f858b0a1c45702196a5", "sha256": "60a627b94269c65f7dcd0719da88e1fe9b1ace1b5ff45ef4e1327aab45853371" }, "downloads": -1, "filename": "asyncio_redis_ha-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0ef7f04326199f858b0a1c45702196a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8718, "upload_time": "2016-10-17T22:23:55", "url": "https://files.pythonhosted.org/packages/84/15/1d971d90384fe4d79362a9eaf6dda9552d3c6693f2864c22808eb336d311/asyncio_redis_ha-0.1.1.tar.gz" } ] }