{ "info": { "author": "Louis Taylor", "author_email": "louis@kragniz.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "============\npython-etcd3\n============\n\n\n.. image:: https://img.shields.io/pypi/v/etcd3.svg\n :target: https://pypi.python.org/pypi/etcd3\n\n.. image:: https://img.shields.io/travis/kragniz/python-etcd3.svg\n :target: https://travis-ci.org/kragniz/python-etcd3\n\n.. image:: https://readthedocs.org/projects/python-etcd3/badge/?version=latest\n :target: https://python-etcd3.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/kragniz/python-etcd3/shield.svg\n :target: https://pyup.io/repos/github/kragniz/python-etcd3/\n :alt: Updates\n\n.. image:: https://codecov.io/github/kragniz/python-etcd3/coverage.svg?branch=master\n :target: https://codecov.io/github/kragniz/python-etcd3?branch=master\n\n\nPython client for the etcd API v3, supported under python 2.7, 3.4 and 3.5.\n\n**Warning: the API is mostly stable, but may change in the future**\n\nIf you're interested in using this library, please get involved.\n\n* Free software: Apache Software License 2.0\n* Documentation: https://python-etcd3.readthedocs.io.\n\nBasic usage:\n\n.. code-block:: python\n\n import etcd3\n\n etcd = etcd3.client()\n\n etcd.get('foo')\n etcd.put('bar', 'doot')\n etcd.delete('bar')\n\n # locks\n lock = etcd.lock('thing')\n # do something\n lock.release()\n\n with etcd.lock('doot-machine') as lock:\n # do something\n\n # transactions\n etcd.transaction(\n compare=[\n etcd.transactions.value('/doot/testing') == 'doot',\n etcd.transactions.version('/doot/testing') > 0,\n ],\n success=[\n etcd.transactions.put('/doot/testing', 'success'),\n ],\n failure=[\n etcd.transactions.put('/doot/testing', 'failure'),\n ]\n )\n\n # watch key\n watch_count = 0\n events_iterator, cancel = etcd.watch(\"/doot/watch\")\n for event in events_iterator:\n print(event)\n watch_count += 1\n if watch_count > 10:\n cancel()\n\n # watch prefix\n watch_count = 0\n events_iterator, cancel = etcd.watch_prefix(\"/doot/watch/prefix/\")\n for event in events_iterator:\n print(event)\n watch_count += 1\n if watch_count > 10:\n cancel()\n\n # recieve watch events via callback function\n def watch_callback(event):\n print(event)\n\n watch_id = etcd.add_watch_callback(\"/anotherkey\", watch_callback)\n\n # cancel watch\n etcd.cancel_watch(watch_id)\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-09-30)\n------------------\n\n* First release on PyPI.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kragniz/python-etcd3", "keywords": "etcd3", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "etcd3", "package_url": "https://pypi.org/project/etcd3/", "platform": "", "project_url": "https://pypi.org/project/etcd3/", "project_urls": { "Homepage": "https://github.com/kragniz/python-etcd3" }, "release_url": "https://pypi.org/project/etcd3/0.10.0/", "requires_dist": null, "requires_python": "", "summary": "Python client for the etcd3 API", "version": "0.10.0" }, "last_serial": 5130156, "releases": { "0.1.0": [], "0.10.0": [ { "comment_text": "", "digests": { "md5": "566843f709584ec06a56fb3f2aad6ccf", "sha256": "25a524b9f032c6631ff0097532907dea81243eaa63c3744510fd1598cc4e0e87" }, "downloads": -1, "filename": "etcd3-0.10.0.tar.gz", "has_sig": false, "md5_digest": "566843f709584ec06a56fb3f2aad6ccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60257, "upload_time": "2019-04-11T17:47:31", "url": "https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "47301d4a8e267593ed5cf5b696a69c0c", "sha256": "c092be49e17a85871d06e5c4a0d4910baf7b5281ad4e2549515df62dc7c5e074" }, "downloads": -1, "filename": "etcd3-0.2.0.tar.gz", "has_sig": false, "md5_digest": "47301d4a8e267593ed5cf5b696a69c0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21360, "upload_time": "2016-10-16T17:16:23", "url": "https://files.pythonhosted.org/packages/5e/45/aaa2e99fb8d2cd9fa153322d6e8d30c0614b03b0a25e4866fb7616c04ab2/etcd3-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6c7d433ca3ac5dc16a9a5414467158a5", "sha256": "5aa0e9eb2cc8c72fa82726c8ceb3df1322740a6058abfb6c28a0fd82b46be87e" }, "downloads": -1, "filename": "etcd3-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6c7d433ca3ac5dc16a9a5414467158a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21387, "upload_time": "2016-10-20T10:24:58", "url": "https://files.pythonhosted.org/packages/d4/95/e5a4e3aeef57ff3f09c5e14f3ad4b42da234a442d4719dfda3f0b8ec73b4/etcd3-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d54317c311bdb4edca4fcfc69e1c6978", "sha256": "f4aaca7445b677785c693508a38c3b7adbc670edfcb7c89af41ef0c915c74b5b" }, "downloads": -1, "filename": "etcd3-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d54317c311bdb4edca4fcfc69e1c6978", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40169, "upload_time": "2016-10-20T10:35:00", "url": "https://files.pythonhosted.org/packages/aa/82/d30fba99f393f70a605e8f8694c2fd345fa40a50890e566fc197dc498eb8/etcd3-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e1c34add153c01df8fadee17aae9111e", "sha256": "3d7be53f4de4751bdfab1d765aa1b24d698ab8af514cf9320ef33f645212e09c" }, "downloads": -1, "filename": "etcd3-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e1c34add153c01df8fadee17aae9111e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43164, "upload_time": "2016-10-26T17:12:15", "url": "https://files.pythonhosted.org/packages/d6/fa/a8a960709f474d31b5832c53f066b5f1e1e10c3552359883b54858aeb47c/etcd3-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "c79d283de8f8e7e3a1a7984700c7d43f", "sha256": "98317ed17ec11ce956b33a066c1c1cf52b09b49c492cbdb0fc4137250a739f46" }, "downloads": -1, "filename": "etcd3-0.3.1.tar.gz", "has_sig": false, "md5_digest": "c79d283de8f8e7e3a1a7984700c7d43f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43196, "upload_time": "2016-10-27T16:25:10", "url": "https://files.pythonhosted.org/packages/6b/e2/09a6deabfc52291fb376f0d1cc373b9a7e66a85e59e88a857254a5a49494/etcd3-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "52fb17557ace51a6fa9ea65880e8c3ec", "sha256": "498a84789cea7c403380e2968bd35d4f4e69c1ae7bda245e8970b2c408ce4383" }, "downloads": -1, "filename": "etcd3-0.4.0.tar.gz", "has_sig": false, "md5_digest": "52fb17557ace51a6fa9ea65880e8c3ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52244, "upload_time": "2016-12-05T11:13:19", "url": "https://files.pythonhosted.org/packages/43/05/454d8da9c773eb8590580c8ace854b9b523aa1e702d8fc4f6a3ab035aea7/etcd3-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "909ca7547eb671aeee9573678ff40516", "sha256": "6e5ef01a83e9ac8df50bd2de9054ac611fa3c3753a4be8d17e8610c693ab22a5" }, "downloads": -1, "filename": "etcd3-0.5.0.tar.gz", "has_sig": false, "md5_digest": "909ca7547eb671aeee9573678ff40516", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52815, "upload_time": "2017-01-05T15:58:24", "url": "https://files.pythonhosted.org/packages/44/36/2d72e13e10784836568697c04bb642b0a581898553aac0e2c7ea552d59e4/etcd3-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "ec0cf4a5640c9c032f9507cc0bc4ef41", "sha256": "37497c58db384cda8bc3f0e1087bbc9e4539b7d9be4d6ad2b05762217b563c2e" }, "downloads": -1, "filename": "etcd3-0.5.1.tar.gz", "has_sig": false, "md5_digest": "ec0cf4a5640c9c032f9507cc0bc4ef41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53150, "upload_time": "2017-03-16T20:47:13", "url": "https://files.pythonhosted.org/packages/e4/ec/f74803ed4c32ccd948b474f272d42759de3fcb9e5a4507f42e4d8e43ff4b/etcd3-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "b2d767afa60db3f8d7b288cb777c5b9a", "sha256": "17b040bcd1860465adf94fbed4f446814bfa8ac8b0c6847bf6430df91cbe889e" }, "downloads": -1, "filename": "etcd3-0.5.2.tar.gz", "has_sig": false, "md5_digest": "b2d767afa60db3f8d7b288cb777c5b9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54442, "upload_time": "2017-03-24T16:56:43", "url": "https://files.pythonhosted.org/packages/14/8a/f35d0932284d51a3dda11ab453f1b68ce4a55a6e0204e5d0cb644916780b/etcd3-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "b5672d5119df40af202f7011eec062d1", "sha256": "aeb7ad8e16a7bb93947427f38fb5031ad483f3716b833e33d20e86401c61b409" }, "downloads": -1, "filename": "etcd3-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b5672d5119df40af202f7011eec062d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56595, "upload_time": "2017-06-13T00:43:35", "url": "https://files.pythonhosted.org/packages/ee/c0/9e9aaaa4acdd73675aed647d4302026e327d0fac5be0105dd6853d7e8e49/etcd3-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "77a3b388d4e823c24bd82cfc047fad1c", "sha256": "ad69dddb00e35788b244304fc4f2c01c55bb050a4601842f365197b2ba9e76cb" }, "downloads": -1, "filename": "etcd3-0.6.1.tar.gz", "has_sig": false, "md5_digest": "77a3b388d4e823c24bd82cfc047fad1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56608, "upload_time": "2017-06-21T14:14:08", "url": "https://files.pythonhosted.org/packages/a2/f0/910647ec71c147e19c635f822fd599aecf6a21f50ad275d8f3a8d3c45a41/etcd3-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "7efbfa03ab78455cbf82194107a61919", "sha256": "fdb30e6d73a6ea46d6d3f4bae08e0a07a83bb757d8a46ed2d4a8ae8e637e23a2" }, "downloads": -1, "filename": "etcd3-0.6.2.tar.gz", "has_sig": false, "md5_digest": "7efbfa03ab78455cbf82194107a61919", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56947, "upload_time": "2017-06-22T16:03:45", "url": "https://files.pythonhosted.org/packages/25/91/fbda28c16739438da1648f8a5a486c638ac156c62979361f8974504cd57c/etcd3-0.6.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "20b7a5db2683357d66d762ee8133d05b", "sha256": "338bc4ec8e930707ae5a879911a86e78def11be10bc4e81fdf0eadf88da16b6d" }, "downloads": -1, "filename": "etcd3-0.7.0.tar.gz", "has_sig": false, "md5_digest": "20b7a5db2683357d66d762ee8133d05b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59026, "upload_time": "2017-10-04T20:01:04", "url": "https://files.pythonhosted.org/packages/8d/db/2e60cf8f4a1f75728d43700387092531107ab71c903df03b712c83d19c86/etcd3-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "2c05a3ebe8493306635ea0aef50721e1", "sha256": "e70b11e8c5769e4acc4e357358f15ae25897771c125c633a2f45e14af4c6abcb" }, "downloads": -1, "filename": "etcd3-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c05a3ebe8493306635ea0aef50721e1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 38854, "upload_time": "2018-05-07T12:53:39", "url": "https://files.pythonhosted.org/packages/6f/85/410d53cf2a6132d3bc1ff9d0a32380a85aa0ea9df0ef081002c10e7ae318/etcd3-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82a25c3dd553bfefb476e943781a104e", "sha256": "896a1a529727798d8d20978a62532fd5e7bb5e4b9c5c00d50531132bcdabefac" }, "downloads": -1, "filename": "etcd3-0.8.0.tar.gz", "has_sig": false, "md5_digest": "82a25c3dd553bfefb476e943781a104e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60013, "upload_time": "2018-05-07T12:53:36", "url": "https://files.pythonhosted.org/packages/88/68/341618eea2ce45d401d0d03180b01c1dc856a754a944ef4579cbbee8af24/etcd3-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "fa084ff0b02a695af339ae70e9153802", "sha256": "30fa20b41456aca7da985b127750438d372850e262e305769fc493cb9bdb8931" }, "downloads": -1, "filename": "etcd3-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa084ff0b02a695af339ae70e9153802", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 38870, "upload_time": "2018-06-18T08:28:56", "url": "https://files.pythonhosted.org/packages/1c/dc/8eeb5f704a92ed0bdec323a9d99780e898c9cceb68089d6569f45a8330f7/etcd3-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55884979c8129028c38b765af7dd087d", "sha256": "0c8bc21dfa878df39450a019b1c4aed2e6680e679f8d8b0ec6f3a00906259c86" }, "downloads": -1, "filename": "etcd3-0.8.1.tar.gz", "has_sig": false, "md5_digest": "55884979c8129028c38b765af7dd087d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60072, "upload_time": "2018-06-18T08:28:53", "url": "https://files.pythonhosted.org/packages/7f/b4/76fceee000dcf4cdf1050d6923bcb2171e181d5a9ff3bd6fbdbcc800fbfb/etcd3-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "8bd74e98ff92d3cb0b9147a49fd92220", "sha256": "8623a6432cb2c4e84bb40dcc51691ec30692c992b266543c3dc307fbad8a4c80" }, "downloads": -1, "filename": "etcd3-0.9.0.tar.gz", "has_sig": false, "md5_digest": "8bd74e98ff92d3cb0b9147a49fd92220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60208, "upload_time": "2019-04-10T21:10:23", "url": "https://files.pythonhosted.org/packages/6f/2a/a782f994265880ff84196ce8e2c991c99bd7f01d7f1002e29e1fc275e29a/etcd3-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "566843f709584ec06a56fb3f2aad6ccf", "sha256": "25a524b9f032c6631ff0097532907dea81243eaa63c3744510fd1598cc4e0e87" }, "downloads": -1, "filename": "etcd3-0.10.0.tar.gz", "has_sig": false, "md5_digest": "566843f709584ec06a56fb3f2aad6ccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60257, "upload_time": "2019-04-11T17:47:31", "url": "https://files.pythonhosted.org/packages/09/f1/93603a26daf7a993a0acbbcfd32afce8b2fdf30a765d5651571ab635969b/etcd3-0.10.0.tar.gz" } ] }