{ "info": { "author": "Marco Masetti", "author_email": "marco.masetti@sky.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: Freely Distributable", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "# Chaos Toolkit tokiproxy driver\n\n\n[![pypi](https://img.shields.io/pypi/v/sky-chaostoolkit-toxiproxy.svg)](https://pypi.python.org/pypi/sky-chaostoolkit-toxiproxy) [![travis](https://img.shields.io/travis/grubert65/chaostp.svg)](https://travis-ci.org/grubert65/chaostp) [![readthedocs](https://readthedocs.org/projects/chaostp/badge/?version=latest)](https://chaostp.readthedocs.io/en/latest/?badge=latest)\n\n\nThis module provides actions to configure toxiproxy proxies and toxies.\n\nWARNING: This module exposes actions that have rather strong impacts on your\ncluster. While Chaos Engineering is all about disrupting and weaknesses,\nit is important to take the time to fully appreciate what those actions\ndo and how they do it.\n\n## Install\n\nTo be used from your experiment, this package must be installed in the Python\nenvironment where [chaostoolkit][] already lives.\n\n[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit\n\n```\n$ pip install sky-chaostoolkit-toxiproxy\n```\n\n## Usage\n\n\n### Configuration\nIn your experiment configuration section you can set the toxiproxy server\naddress if different from localhost:\n\n```json\n \"configuration\":{\n \"toxiproxy_host\": \"\",\n \"toxiproxy_port\": 1234 \n }\n```\n\nIf more than one toxiproxy server needs to be addressed, you can set the list\nusing the \"toxiproxy\" configuration key:\n\n```json\n \"configuration\":{\n \"toxiproxy\": [\n {\n \"host\": \"\",\n \"port\": \"\"\n },\n ]\n```\n\n### Exported actions\n\n#### Adding a toxic\n\n```\n add_toxic(\n server: Dict = {'host': 'localhost', 'port': 8474}, \n random_server: bool = False, \n proxy_name: str = None, \n toxic_name: str = None, \n type: str = None, \n stream: str = 'downstream', \n toxicity: float = 1.0, \n attributes: str = None \n )\n```\nAdd a toxic to a proxy\n\nThe server can be specifically passed as parameter. Alternatively,\nif the \"toxiproxy\" configuration section is present, a random\nserver is picked setting the \"random_server\" parameter to True.\n\nThe name of the proxy to add the toxic to can be specified,\notherwise a random proxy for the server is picked up\n\n#### Creating a new proxy\n\n```\n create_proxy(\n proxy_name, \n upstream, \n listen, \n enabled: bool = True, \n server: Dict = {'host': 'localhost', 'port': 8474}\n```\n\n#### Deleting all proxies attached to a server\n```\n delete_all_proxies(\n server: Dict = {'host': 'localhost', 'port': 8474}\n )\n```\n\n#### Deleting all toxic attached to a proxy\n```\n delete_all_toxics(\n server: Dict = {'host': 'localhost', 'port': 8474}, \n proxy_name: str = None\n )\n```\n\n#### Deleting a proxy\n```\n delete_proxy(\n proxy_name: str, \n server: Dict = {'host': 'localhost', 'port': 8474}\n )\n```\n\n#### Deleting a toxic\n```\n delete_toxic(\n server: Dict = {'host': 'localhost', 'port': 8474}, \n proxy_name: str = None, \n stream: str = 'downstream', \n type: str = None\n )\n```\n\n#### Disabling a proxy\n```\n disable_proxy(\n server: Dict = {'host': 'localhost', 'port': 8474}, \n proxy_name: str = None\n )\n```\n\n#### Enabling a proxy\n```\n enable_proxy(\n server: Dict = {'host': 'localhost', 'port': 8474}, \n proxy_name: str = None\n )\n```\n\n#### Populating a server\n\n```\n populate(\n proxies, \n server: Dict = {'host': 'localhost', 'port': 8474}\n )\n```\n\n#### Resetting all servers\n```\n reset_all()\n```\nEnable all proxies and remove all active toxics for all servers\n\n#### Resetting a server\n```\n reset_server(\n server: Dict = {'host': 'localhost', 'port': 8474}\n )\n```\nEnable all proxies and remove all active toxics\n\n\n\n### Sample experiment\n\n```json\n{\n \"version\": \"1.0.0\",\n \"title\": \"What happens if a latency is introduced on a proxy for cassandra\",\n \"description\": \"We introduce a 400 ms latency on a single cassandra node\",\n \"tags\": [\"proxy\"],\n \"steady-state-hypothesis\": {\n \"title\": \"Proxy is found\",\n \"probes\": [\n {\n \"type\": \"probe\",\n \"name\": \"proxy-is-found\",\n \"tolerance\": \"c1\",\n \"provider\": {\n \"type\": \"python\",\n \"module\": \"chaostp.proxy.probes\",\n \"func\": \"get_proxy\",\n \"arguments\": {\n \"name\": \"c1\"\n }\n }\n }\n ]\n },\n \"method\": [\n {\n \"type\": \"action\",\n \"name\": \"delete_all_toxics\",\n \"provider\": {\n \"type\": \"python\",\n \"module\": \"chaostp.proxy.actions\",\n \"func\": \"delete_all_toxics\",\n \"arguments\": {\n \"proxy_name\": \"localhost\",\n \"name\": \"c1\"\n }\n }\n },\n {\n \"type\": \"action\",\n \"name\": \"add-a-latency-toxic\",\n \"provider\": {\n \"type\": \"python\",\n \"module\": \"chaostp.proxy.actions\",\n \"func\": \"add_toxic\",\n \"arguments\": {\n \"proxy_name\": \"c1\",\n \"toxic_name\": \"t1\",\n \"type\": \"latency\",\n \"stream\": \"upstream\",\n \"toxicity\": 0.5,\n \"attributes\": {\"latency\": 100}\n }\n },\n \"pauses\": {\n \"before\": 10,\n \"after\": 40\n }\n },\n {\n \"type\": \"action\",\n \"name\": \"add-a-bandwidth-degradation-toxic\",\n \"provider\": {\n \"type\": \"python\",\n \"module\": \"chaostp.proxy.actions\",\n \"func\": \"add_toxic\",\n \"arguments\": {\n \"proxy_name\": \"c1\",\n \"toxic_name\": \"bandwidth_degradation_toxic\",\n \"type\": \"bandwidth\",\n \"stream\": \"upstream\",\n \"toxicity\": 0.5,\n \"attributes\": {\"rate\": 400}\n }\n },\n \"pauses\": {\n \"before\": 10,\n \"after\": 40\n }\n },\n {\n \"type\": \"action\",\n \"name\": \"delete_all_toxics\", \"provider\": {\n \"type\": \"python\",\n \"module\": \"chaostp.proxy.actions\",\n \"func\": \"delete_all_toxics\",\n \"arguments\": {\n \"name\": \"c1\"\n }\n }\n }\n ],\n \"rollbacks\": []\n}\n```\n\nPlease explore the code to see existing probes and actions.\n\n### Discovery\n\nYou may use the Chaos Toolkit to discover the capabilities of this extension:\n\n```\n$ chaos discover sky-chaostoolkit-toxiproxy --no-install\n```\n\n## Configuration\n\nThe module expects a toxiproxy-server running and listening on the default port 8474,\nthere is currently no way to configure another server address.\n\n## Contribute\n\nIf you wish to contribute more functions to this package, you are more than\nwelcome to do so. Please fork this project, make your changes following the\nusual [PEP 8][pep8] code style, add appropriate tests and submit a PR for\nreview.\n\n[pep8]: https://pycodestyle.readthedocs.io/en/latest/\n\nThe Chaos Toolkit projects require all contributors must sign a\n[Developer Certificate of Origin][dco] on each commit they would like to merge\ninto the master branch of the repository. Please, make sure you can abide by\nthe rules of the DCO before submitting a PR.\n\n[dco]: https://github.com/probot/dco#how-it-works\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://chaostoolkit.org", "keywords": "", "license": "Apache License Version 2.0", "maintainer": "", "maintainer_email": "", "name": "sky-chaostoolkit-toxiproxy", "package_url": "https://pypi.org/project/sky-chaostoolkit-toxiproxy/", "platform": "", "project_url": "https://pypi.org/project/sky-chaostoolkit-toxiproxy/", "project_urls": { "Homepage": "http://chaostoolkit.org" }, "release_url": "https://pypi.org/project/sky-chaostoolkit-toxiproxy/0.1.3/", "requires_dist": [ "toxiproxy-python", "logzero", "chaostoolkit-lib", "pyyaml", "requests" ], "requires_python": ">=3.5.*", "summary": "Chaos Toolkit toxiproxy support by SKY", "version": "0.1.3" }, "last_serial": 5471930, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "b6acb27b1b84eda1fe86efa8a076e9ff", "sha256": "5fb87788f019d7412fde2d1e1d51f2eecbaf6d0852e8fd3da7d1d4e31d9680f0" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6acb27b1b84eda1fe86efa8a076e9ff", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 7475, "upload_time": "2019-02-15T14:51:37", "url": "https://files.pythonhosted.org/packages/49/75/5bac94a6e240a3f8674fcb5485fd198e4f70d263ad9803993de218012bac/sky_chaostoolkit_toxiproxy-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b1f8fa507550dd24001f20875d1a634", "sha256": "0aabce061fbf44bc6ca34e12bc39df204e482292256b75d9bc8a371495214386" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.10-py3.6.egg", "has_sig": false, "md5_digest": "1b1f8fa507550dd24001f20875d1a634", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.5.*", "size": 10110, "upload_time": "2019-01-24T15:57:20", "url": "https://files.pythonhosted.org/packages/5d/0e/a38f01ea9b8b7a6205ebd3567924c9a5b0f58890e7fd1f33282262c392a5/sky_chaostoolkit_toxiproxy-0.0.10-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "c5c596c5b5ce827d1fe687530951ae75", "sha256": "a5052040a22565a0f8dccae1ba72d18733e28e032dec664fe59f5664b16c33ec" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "c5c596c5b5ce827d1fe687530951ae75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.*", "size": 6668, "upload_time": "2019-01-24T15:57:15", "url": "https://files.pythonhosted.org/packages/87/02/61823b98f80640ae64c8ea25ddd54ea6fb44096a4a77856b2ecb760aaa35/sky_chaostoolkit_toxiproxy-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f82dc6a8d64d287eac43a57e5bd30a4", "sha256": "8bf2ebb265fb7864bb3936662326e4b0bd59553d58d8cba4b65c6cc287c5d299" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.10.tar.gz", "has_sig": false, "md5_digest": "9f82dc6a8d64d287eac43a57e5bd30a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 6396, "upload_time": "2019-01-24T15:57:18", "url": "https://files.pythonhosted.org/packages/20/4a/45a30dc39d81c88c91adef39159f20586057d8236d45a66412327580c98d/sky-chaostoolkit-toxiproxy-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "38fc9db5738cd9f195fb0cea2fd9b2bc", "sha256": "bec39303cbd4d00420aeb93b06f9c824b264882ff2e09f7eeb7dd8f1cc6a6c46" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38fc9db5738cd9f195fb0cea2fd9b2bc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 7871, "upload_time": "2019-02-15T16:13:57", "url": "https://files.pythonhosted.org/packages/51/c7/dca89b9887bee43593a9b5218b1069a6b409f65143767cdd8f031c93ccb6/sky_chaostoolkit_toxiproxy-0.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc57c5d52994cf03d401f703cdbf2ea2", "sha256": "40ad409060931fdacfb13d2b0ed6c50c92e7e4b42026642be78af984fc94b085" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.11.tar.gz", "has_sig": false, "md5_digest": "fc57c5d52994cf03d401f703cdbf2ea2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 16668, "upload_time": "2019-02-15T16:13:58", "url": "https://files.pythonhosted.org/packages/a9/83/5eb968f67fe47fb4e956568abb75fa76f587d61194ada64b57b553bee440/sky-chaostoolkit-toxiproxy-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "15b87d89882b0055767c05207155b010", "sha256": "f6dde2b9def6450b3ccc9fe591fd47f44b965bc4cc30cef303801fda907e2ef0" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15b87d89882b0055767c05207155b010", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 7889, "upload_time": "2019-02-15T16:35:30", "url": "https://files.pythonhosted.org/packages/be/76/0b8fe908ccc124fe06d2b06a3f1dab922c1b38767c795b807f1b8b84ad7c/sky_chaostoolkit_toxiproxy-0.0.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c912b38f47f69443ce720c608818f90e", "sha256": "ed5058e1545d280001365cf731c8237c53183a020506e6d9ae40685dc5dbd2f2" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.12.tar.gz", "has_sig": false, "md5_digest": "c912b38f47f69443ce720c608818f90e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 16853, "upload_time": "2019-02-15T16:35:32", "url": "https://files.pythonhosted.org/packages/5e/38/2dc6a3085e5ea055e5bb45914bda2ae2274d2656b15ad4b9debd71538046/sky-chaostoolkit-toxiproxy-0.0.12.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2fa2616a6c74ebd36e6dc353070ac227", "sha256": "2d9a636773d0fe711594edf182f85252c8feaa2779a0fb87ceaf43c899e86584" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2fa2616a6c74ebd36e6dc353070ac227", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.*", "size": 6362, "upload_time": "2019-01-23T10:58:12", "url": "https://files.pythonhosted.org/packages/f4/e4/5258919e1fb074acaabe45ca8fb622a8be59692f2b365a0f6f8d978e5d59/sky_chaostoolkit_toxiproxy-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f651aed52974ca86808fa48e157c488", "sha256": "4e034a99acff57b551949bb911f93d15c33bae0abd0ade90e601230f3edbb780" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7f651aed52974ca86808fa48e157c488", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 6209, "upload_time": "2019-01-23T10:58:14", "url": "https://files.pythonhosted.org/packages/fa/1f/530186ad1f3216df0fcbd1c6f77fa310b02b20c95d0a7d8fad7aa2b6659e/sky-chaostoolkit-toxiproxy-0.0.3.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "fb86185bbac43154401e016d67ab0c57", "sha256": "2d80c745b644053d62c1a1f3429ae99cf1189a3eae9953b067155f888bf162a5" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.8-py3.6.egg", "has_sig": false, "md5_digest": "fb86185bbac43154401e016d67ab0c57", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.5.*", "size": 10106, "upload_time": "2019-01-24T14:46:51", "url": "https://files.pythonhosted.org/packages/b4/1a/27416de67dc7d7ccba022d6934f6bc73dbbf259a07e6b7ad2e0c327887b8/sky_chaostoolkit_toxiproxy-0.0.8-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "970f4c8dbbf433e9b19d6c0bdb5f244f", "sha256": "58f9be81d92cdd5d9c8ca3b28276dcdbcbe69268171dfce84fa0ea105e6fc38f" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "970f4c8dbbf433e9b19d6c0bdb5f244f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.*", "size": 6631, "upload_time": "2019-01-24T11:39:24", "url": "https://files.pythonhosted.org/packages/36/a4/9da5bb820d9fd4d1c40b4bfc7a25ff60358110e22d8e8f2c1d68215fc112/sky_chaostoolkit_toxiproxy-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f37a7ca161514e680d0e2340616b0821", "sha256": "3aa3f6e077feb4cf115d1f6bafb722eb0d62812ad37435edfaa382dc1d72029f" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.8.tar.gz", "has_sig": false, "md5_digest": "f37a7ca161514e680d0e2340616b0821", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 6386, "upload_time": "2019-01-24T11:39:25", "url": "https://files.pythonhosted.org/packages/cf/ee/0d377e2a48129fe3135f253e14cd3ac104cc0899f87020c28bc39f8c4d1a/sky-chaostoolkit-toxiproxy-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "0a859b6d5b735f7c2f89703eed433971", "sha256": "640201d0de56496d6065bd7be839e9bdc04e8fb92d3a90db3a5d7d9cefa0e0b7" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.9-py3.6.egg", "has_sig": false, "md5_digest": "0a859b6d5b735f7c2f89703eed433971", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.5.*", "size": 10110, "upload_time": "2019-01-24T14:46:52", "url": "https://files.pythonhosted.org/packages/64/5c/4874e1a2e850afaafa577927a1a32522b0338c168dcb4f3ed80e074fe2dd/sky_chaostoolkit_toxiproxy-0.0.9-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "2b83790caaf052dd9f35f6aef264cccb", "sha256": "e58b62da79114270d089552dbcdbc7a9c4feac3d340df4cfb3047561f60f0670" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "2b83790caaf052dd9f35f6aef264cccb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.*", "size": 6655, "upload_time": "2019-01-24T14:46:48", "url": "https://files.pythonhosted.org/packages/b3/24/a66c80e4b2014491132c6743c3b268cd22f36a1e589135219dc803d42b46/sky_chaostoolkit_toxiproxy-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "268bc5a4c7eb66b3c274eafd9f71c0c0", "sha256": "0c1a5a14adaeae36b997a7882605642e1902fe3e892d9cd899e81e484954145f" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.0.9.tar.gz", "has_sig": false, "md5_digest": "268bc5a4c7eb66b3c274eafd9f71c0c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 6385, "upload_time": "2019-01-24T14:46:50", "url": "https://files.pythonhosted.org/packages/dd/94/22870ca506ceb3eac33878c654b3387dce16ae8c923a4c3e72be90312e65/sky-chaostoolkit-toxiproxy-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "71b18e983c8eaaf1a76e23f7679ccc90", "sha256": "56c41a733dab1416f8277e1dd320ae0ca5e11c3834d992a357245242d6f5c9e2" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "71b18e983c8eaaf1a76e23f7679ccc90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 8551, "upload_time": "2019-05-13T12:42:47", "url": "https://files.pythonhosted.org/packages/ef/5a/9b0f1b49b59a890eb61d294600617fec968ebf6d70331eab0576eeeca76e/sky_chaostoolkit_toxiproxy-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "638a67fb6295fd5ca17bc2f5c1ee3d4f", "sha256": "c22dc451e705fb60edcdc6c71b7b35594a7e2cf80df1874221720edb91ffa27a" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "638a67fb6295fd5ca17bc2f5c1ee3d4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 18491, "upload_time": "2019-05-13T12:42:49", "url": "https://files.pythonhosted.org/packages/26/3d/e9bba3a59d3292974932ac71373b609e4b308d7352bb29cf849846b79b74/sky-chaostoolkit-toxiproxy-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "98c94e1aa36ded14d840974ba5d76025", "sha256": "b577678a07d79d38ee4c7d9c0d8e6a49909053025460c0cd0ea6c49dffb3f3c2" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "98c94e1aa36ded14d840974ba5d76025", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 8779, "upload_time": "2019-05-15T13:44:46", "url": "https://files.pythonhosted.org/packages/47/12/8f6e75aa1f2329970cfb13a06580af96a74bfcc876891727ec3563240e82/sky_chaostoolkit_toxiproxy-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15f0de5a65fddd581f8f700d01eabd96", "sha256": "a591b0603b2b415d5f3afd222691440ac8f545b21f96577926274cdb3767d3be" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "15f0de5a65fddd581f8f700d01eabd96", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 16795, "upload_time": "2019-05-15T13:44:47", "url": "https://files.pythonhosted.org/packages/3f/55/32181345209e7af70ea469295c7bfe314d42318d533365437f598c2a25e6/sky-chaostoolkit-toxiproxy-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1337a6955c0f01e0519f7dec2b3b6654", "sha256": "74adde3ec4805795ffa2e1b30e0172922a228b1aaed3aa3e3f87e336541217b4" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1337a6955c0f01e0519f7dec2b3b6654", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 9191, "upload_time": "2019-05-15T15:54:17", "url": "https://files.pythonhosted.org/packages/0d/d1/9fb7ecb57766665aeac417c4095e81d7113444ac873caa8494844ff93970/sky_chaostoolkit_toxiproxy-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1ec7cd3e6044bb3ad815a83f003083d", "sha256": "8c50f6b043dd84ae18858730e10d0f99635f8c6eb55ae3436ad1167c5e402662" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c1ec7cd3e6044bb3ad815a83f003083d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 17554, "upload_time": "2019-05-15T15:54:19", "url": "https://files.pythonhosted.org/packages/8d/05/472416c1bc4a95e0d27237849042c56b53b82367868dcb9486dec5f01eaf/sky-chaostoolkit-toxiproxy-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9a332f03da555d894bc819ae1f3950bf", "sha256": "eaef70867dfa1135ae2bf098f07376b690541fe01e84b7fbc08c7b90fd440530" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a332f03da555d894bc819ae1f3950bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 9252, "upload_time": "2019-07-01T16:24:26", "url": "https://files.pythonhosted.org/packages/68/5a/1330062083ac436642d7b24144640862d84ad3647d6825a375f954ed9c14/sky_chaostoolkit_toxiproxy-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c3a4044bd343130bb9a775159956fab", "sha256": "50867da370ed02dc27289a52f62edbf38283d2ee212ecb81d72100b0ad363eee" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2c3a4044bd343130bb9a775159956fab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 17681, "upload_time": "2019-07-01T16:24:28", "url": "https://files.pythonhosted.org/packages/01/1a/65efdcf7ba111581a79597ac9dac289b663b6252f3f89848626a59e31d34/sky-chaostoolkit-toxiproxy-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9a332f03da555d894bc819ae1f3950bf", "sha256": "eaef70867dfa1135ae2bf098f07376b690541fe01e84b7fbc08c7b90fd440530" }, "downloads": -1, "filename": "sky_chaostoolkit_toxiproxy-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a332f03da555d894bc819ae1f3950bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.*", "size": 9252, "upload_time": "2019-07-01T16:24:26", "url": "https://files.pythonhosted.org/packages/68/5a/1330062083ac436642d7b24144640862d84ad3647d6825a375f954ed9c14/sky_chaostoolkit_toxiproxy-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c3a4044bd343130bb9a775159956fab", "sha256": "50867da370ed02dc27289a52f62edbf38283d2ee212ecb81d72100b0ad363eee" }, "downloads": -1, "filename": "sky-chaostoolkit-toxiproxy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2c3a4044bd343130bb9a775159956fab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.*", "size": 17681, "upload_time": "2019-07-01T16:24:28", "url": "https://files.pythonhosted.org/packages/01/1a/65efdcf7ba111581a79597ac9dac289b663b6252f3f89848626a59e31d34/sky-chaostoolkit-toxiproxy-0.1.3.tar.gz" } ] }