{ "info": { "author": "Internap Hosting", "author_email": "opensource@internap.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Testing", "Topic :: System :: Emulators" ], "description": "[![Build Status](https://travis-ci.org/internap/fake-switches.svg?branch=master)](https://travis-ci.org/internap/fake-switches)\n[![PyPI version](https://badge.fury.io/py/fake-switches.svg)](http://badge.fury.io/py/fake-switches)\n\nFake-switches\n=============\n\n![Commandline Demo](demo-cli.gif)\n\nFake-switches is a pluggable switch/router command-line simulator. It is meant\nto help running integrated tests against network equipment without the burden\nof having devices in a lab. This helps testing the communication with the\nequipment along with all of its layers for more robust high level tests. Since\nit is meant to be used by other systems and not humans, error handling on\nincomplete commands and fail-proofing has been mostly left out and only\nrelevant errors are shown. \n\nThe library can easily be extended to react to some changes in the fake switch\nconfiguration and control an actual set of tools to have an environment\nbehaving like a real one driven by a switch. For example, you could hook\nyourself to the VLAN creation and use vconfig to create an actual vlan on a\nmachine for some network testing.\n\nThis library is NOT supported by any vendor, it was built by\nreverse-engineering network equipment.\n\n\nActual supported commands\n=========================\n\nCommand support has been added in a as-needed manner for the purpose of what\nwas tested and how. So see which commands may be used and their supported\nbehavior, please see the tests section for each model.\n\n| Model | Protocols | Test location |\n| ------- | ---------------- | ------------- |\n| Cisco | ssh and telnet | [tests/cisco/test_cisco_switch_protocol.py](tests/cisco/test_cisco_switch_protocol.py) | \n| Brocade | ssh | [tests/brocade/test_brocade_switch_protocol.py](tests/brocade/test_brocade_switch_protocol.py) |\n| Juniper | netconf over ssh | [tests/juniper/juniper_base_protocol_test.py](tests/juniper/juniper_base_protocol_test.py) |\n| Dell | ssh and telnet | [tests/dell/](tests/dell/) |\n\nUsing it with Docker\n====================\n\n```shell\n$ docker run -P -d internap/fake-switches\n$ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n6eec86849561 internap/fake-switches \"/bin/sh -c 'fake-swi\" 35 seconds ago Up 13 seconds 0.0.0.0:32776->22/tcp boring_thompson\n$ ssh 127.0.0.1 -p 32776 -l root\nroot@127.0.0.1's password: # root\nmy_switch>enable\nPassword: # press \nmy_switch#show run\nBuilding configuration...\n\nCurrent configuration : 164 bytes\nversion 12.1\n!\nhostname my_switch\n!\n!\nvlan 1\n!\ninterface FastEthernet0/1\n!\ninterface FastEthernet0/2\n!\ninterface FastEthernet0/3\n!\ninterface FastEthernet0/4\n!\nend\n\nmy_switch#\n\n```\n\nLaunching with custom parameters\n--------------------------------\n\n```shell\n$ docker run -P -d -e SWITCH_MODEL=\"another_model\" internap/fake-switches\n```\n\nSupported parameters\n--------------------\n\n| Name | Default value |\n| ----------------- | ----------------- |\n| SWITCH_MODEL \t\t| cisco_generic \t|\n| SWITCH_HOSTNAME \t| switch \t\t\t|\n| SWITCH_USERNAME \t| root \t\t\t\t|\n| SWITCH_PASSWORD \t| root \t\t\t\t|\n| LISTEN_HOST \t\t| 0.0.0.0 \t\t\t|\n| LISTEN_PORT \t\t| 22 \t\t\t\t|\n\n\nBuilding image from source\n--------------------------\n\n```shell\n$ docker build -t fake-switches .\n$ docker run -P -d fake-switches\n```\n\nExtending functionality\n=======================\n\nThe SwitchConfiguration class can be extended and given an object factory with\ncustom classes that can act upon resources changes. For example :\n\n```python\n\nfrom twisted.internet import reactor\nfrom fake_switches.switch_configuration import SwitchConfiguration, Port\nfrom fake_switches.transports.ssh_service import SwitchSshService\nfrom fake_switches.cisco.cisco_core import CiscoSwitchCore\n\nclass MySwitchConfiguration(SwitchConfiguration):\n def __init__(self, *args, **kwargs):\n super(MySwitchConfiguration, self).__init__(objects_overrides={\"Port\": MyPort}, *args, **kwargs)\n\n\nclass MyPort(Port):\n def __init__(self, name):\n self._access_vlan = None\n\n super(MyPort, self).__init__(name)\n\n @property\n def access_vlan(self):\n return self._access_vlan\n\n @access_vlan.setter\n def access_vlan(self, value):\n if self._access_vlan != value:\n self._access_vlan = value\n print \"This could add vlan to eth0\"\n\n\nif __name__ == '__main__':\n ssh_service = SwitchSshService(\n ip=\"127.0.0.1\",\n ssh_port=11001,\n switch_core=CiscoSwitchCore(MySwitchConfiguration(\"127.0.0.1\", \"my_switch\", ports=[MyPort(\"FastEthernet0/1\")])))\n ssh_service.hook_to_reactor(reactor)\n reactor.run()\n```\n\nThen, if you connect to the switch and do\n\n```\n ssh root@127.0.0.1 -p 11001\n password : root\n > enable\n password:\n # configure terminal\n # vlan 1000\n # interface FastEthernet0/1\n # switchport access vlan 1000\n```\n\nYour program should say \"This could add vlan to eth0\" or do anything you would\nwant it to do :)\n\n\nStarting a switch from the command line\n=======================================\n\n```shell\n pip install fake-switches\n \n fake-switches\n\n # On a different shell, type the following:\n ssh root@127.0.0.1 -p 22222\n```\n\nCommand line help\n-----------------\n\nThe --help flag is supported.\n\n fake-switches --help\n usage: fake-switches [-h] [--model MODEL] [--hostname HOSTNAME]\n [--username USERNAME] [--password PASSWORD]\n [--listen-host LISTEN_HOST] [--listen-port LISTEN_PORT]\n\n Fake-switch simulator launcher\n\n optional arguments:\n -h, --help show this help message and exit\n --model MODEL Switch model, allowed values are\n juniper_qfx_copper_generic, cisco_2960_24TT_L,\n dell_generic, dell10g_generic, juniper_generic,\n cisco_2960_48TT_L, cisco_generic, brocade_generic\n (default: cisco_generic)\n --hostname HOSTNAME Switch hostname (default: switch)\n --username USERNAME Switch username (default: root)\n --password PASSWORD Switch password (default: root)\n --listen-host LISTEN_HOST\n Listen host (default: 0.0.0.0)\n --listen-port LISTEN_PORT\n Listen port (default: 2222)\n\n\nAvailable switch models\n-----------------------\n\nAt time of writing this document, the following models are available:\n \n * brocade_generic\n * cisco_generic\n * cisco_2960_24TT_L\n * cisco_2960_48TT_L\n * dell_generic\n * dell10g_generic\n * juniper_generic\n * juniper_qfx_copper_generic\n\nUse the --help flag to find the available models.\n\nThe generic models are mainly for test purposes. They usually have less ports than a proper switch\nmodel but behave the same otherwise. Once a \"core\" is available, more specific models can be very\neasily added. Send your pull requests :)\n\n\nContributing\n============\n\nFeel free raise issues and send some pull request,\nwe'll be happy to look at them!", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/internap/fake-switches", "keywords": "", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "fake-switches", "package_url": "https://pypi.org/project/fake-switches/", "platform": "", "project_url": "https://pypi.org/project/fake-switches/", "project_urls": { "Homepage": "https://github.com/internap/fake-switches" }, "release_url": "https://pypi.org/project/fake-switches/1.3.9/", "requires_dist": null, "requires_python": "", "summary": "A pluggable switch/router command-line simulator", "version": "1.3.9" }, "last_serial": 4969575, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1abadf79e63e47982fcfd34520d74f20", "sha256": "2143cbf43e3800a626835084ed8cc1b138dacca6d3d43de5ec8c93d062a8525b" }, "downloads": -1, "filename": "fake-switches-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1abadf79e63e47982fcfd34520d74f20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58474, "upload_time": "2015-09-08T12:34:33", "url": "https://files.pythonhosted.org/packages/92/ec/1e0e7254940e546f015d05534bedba3f1093d37c15300951c243fef9aa41/fake-switches-1.0.0.tar.gz" } ], "1.0.1.dev2": [ { "comment_text": "", "digests": { "md5": "6ae77b05daeb75a0ec26a5fe86406adb", "sha256": "f90b5c142020bfa38360d514bf732c77a5359e19805644145ec1d3ba29ac86bc" }, "downloads": -1, "filename": "fake-switches-1.0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "6ae77b05daeb75a0ec26a5fe86406adb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59341, "upload_time": "2015-09-08T20:20:30", "url": "https://files.pythonhosted.org/packages/d0/42/51642ef5f4322787b4667686912af31808b334fe0dbe15d7ed175a194709/fake-switches-1.0.1.dev2.tar.gz" } ], "1.0.1.dev3": [ { "comment_text": "", "digests": { "md5": "4eba9e1b32e21f8f60e3703d940d7058", "sha256": "0edc6f136a37e48b20b6565b43111df6792f249e9393b7c72f21fb489fce9166" }, "downloads": -1, "filename": "fake-switches-1.0.1.dev3.tar.gz", "has_sig": false, "md5_digest": "4eba9e1b32e21f8f60e3703d940d7058", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59964, "upload_time": "2015-09-08T20:51:00", "url": "https://files.pythonhosted.org/packages/30/a6/b34cdf1955804fd732e245efb668ddcb9a8d139108313455353e6cb53639/fake-switches-1.0.1.dev3.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "0d442a333aeb0c9afb9ee03a488e6b9f", "sha256": "fbc0cdd3f059ad9243971ca7df42f692f7ba3c20deea2d34e43bbfb48f47be04" }, "downloads": -1, "filename": "fake-switches-1.0.10.tar.gz", "has_sig": false, "md5_digest": "0d442a333aeb0c9afb9ee03a488e6b9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72357, "upload_time": "2015-11-11T15:53:58", "url": "https://files.pythonhosted.org/packages/72/30/f5d8fcfdfbe164fc1dcf3361eb14bab8cd2a56b252dce20029ab4b47aafd/fake-switches-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "fafb6b36e0721fa10802b43f84a1f73f", "sha256": "c86bc817ef47375bfcd5cc48abf94da41f626216de259bdc58c83df258c1cd0d" }, "downloads": -1, "filename": "fake-switches-1.0.11.tar.gz", "has_sig": false, "md5_digest": "fafb6b36e0721fa10802b43f84a1f73f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72403, "upload_time": "2015-11-11T20:58:41", "url": "https://files.pythonhosted.org/packages/9f/3f/3edf59392137af3e0923ef418d84abc27135086b9b6809e3e38ff1d3c49c/fake-switches-1.0.11.tar.gz" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "4eb178cb0f2de86cc558f6f99a0180ac", "sha256": "fd415320dceb1d6d7926271d99db4fe5904382b344b005d5637abc05ab616f8f" }, "downloads": -1, "filename": "fake-switches-1.0.13.tar.gz", "has_sig": false, "md5_digest": "4eb178cb0f2de86cc558f6f99a0180ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76651, "upload_time": "2016-01-11T16:51:32", "url": "https://files.pythonhosted.org/packages/1f/96/b279a7bd824370dd75bbd2ac3c5b5c948eec25d46e5cb5ed733a68a8692f/fake-switches-1.0.13.tar.gz" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "44b04202f243d680222e57f25840e9b3", "sha256": "9747eac30af1f5edaec03b2af0d7c85e9029f349439d41fb1c97a88e8b1d7dcd" }, "downloads": -1, "filename": "fake-switches-1.0.14.tar.gz", "has_sig": false, "md5_digest": "44b04202f243d680222e57f25840e9b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76677, "upload_time": "2016-01-14T15:31:59", "url": "https://files.pythonhosted.org/packages/93/ea/191299c3412fbc42b20ab9adfcc3cc992a794adbd70ea84e56bd1a26b8be/fake-switches-1.0.14.tar.gz" } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "adc72ee1111d9a9277051f44721debf5", "sha256": "9c4f168e7eadad54b5bf0c8b750285f6d7ccf41f66a9888a8f768f34f9933778" }, "downloads": -1, "filename": "fake-switches-1.0.15.tar.gz", "has_sig": false, "md5_digest": "adc72ee1111d9a9277051f44721debf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76719, "upload_time": "2016-02-03T19:55:15", "url": "https://files.pythonhosted.org/packages/c1/b1/62efe360cd8ad97da278d2e84bdfd12238e6dd662e93170e654e92da1ccc/fake-switches-1.0.15.tar.gz" } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "ebd23482b42783f0022bc4ce72584b27", "sha256": "a341ba801a9bc411f14c9b73f1b7f52450a7903320cb592616b6c85d50d5690f" }, "downloads": -1, "filename": "fake-switches-1.0.16.tar.gz", "has_sig": false, "md5_digest": "ebd23482b42783f0022bc4ce72584b27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78674, "upload_time": "2016-02-18T19:31:43", "url": "https://files.pythonhosted.org/packages/1c/76/5f253c8f9c9d886cf14ca8cfe2b4c19d6430622fc01940d4470bf73bc3bf/fake-switches-1.0.16.tar.gz" } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "bd5fdb1611bf87fa81569779d5208e30", "sha256": "2d5b1e40369bf04974cfaa19af0ca5ffc462d4ab5b56f49e784ee41c81cee2d5" }, "downloads": -1, "filename": "fake-switches-1.0.17.tar.gz", "has_sig": false, "md5_digest": "bd5fdb1611bf87fa81569779d5208e30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78835, "upload_time": "2016-02-18T19:56:57", "url": "https://files.pythonhosted.org/packages/07/8e/7d57766429cfb16e3ebef802a5b6bb232f2b8c56c1c9d51f0269c7b940df/fake-switches-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "8b23404f433776a8fb35da53182c6557", "sha256": "bef7722c41b7ee8a6b83445e1a102f8847014a31b561e0456270dc539495b565" }, "downloads": -1, "filename": "fake-switches-1.0.18.tar.gz", "has_sig": false, "md5_digest": "8b23404f433776a8fb35da53182c6557", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84807, "upload_time": "2016-02-24T22:24:55", "url": "https://files.pythonhosted.org/packages/b8/cf/b78cecc2629ac104432967c55341ae8434213a97e580ed20ba71c7701f85/fake-switches-1.0.18.tar.gz" } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "2fbca3fd67e9fc52ed77b18652ee0f40", "sha256": "fd311dfea445bc90121b6fd8dddb07b80e0cd0f817b5f0c6d8bbef6c4314f29c" }, "downloads": -1, "filename": "fake-switches-1.0.19.tar.gz", "has_sig": false, "md5_digest": "2fbca3fd67e9fc52ed77b18652ee0f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86082, "upload_time": "2016-02-26T18:18:50", "url": "https://files.pythonhosted.org/packages/11/5a/71301795a5c5ee5bc96c11e91a3646b5762f28e2bd3490b3795f263a9c20/fake-switches-1.0.19.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b22dee632466e43f8eadebdd5008cdce", "sha256": "652f39e059addc98038f2629181519f91bb82c4ed81cbac67f8101cd78c90639" }, "downloads": -1, "filename": "fake-switches-1.0.2.tar.gz", "has_sig": false, "md5_digest": "b22dee632466e43f8eadebdd5008cdce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59972, "upload_time": "2015-09-10T14:30:20", "url": "https://files.pythonhosted.org/packages/d5/9d/6dd8194500b79f3ba74406e84d9bc8c7f80aa43c2161cd96f27b6259520a/fake-switches-1.0.2.tar.gz" } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "31afc2c9a120fcf33a348c3fc8513cff", "sha256": "86ae0506eff0a775c87f2cf06cbf8c70dd44effd63000b1c9df63670b8fe9911" }, "downloads": -1, "filename": "fake-switches-1.0.20.tar.gz", "has_sig": false, "md5_digest": "31afc2c9a120fcf33a348c3fc8513cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87195, "upload_time": "2016-03-03T20:32:23", "url": "https://files.pythonhosted.org/packages/66/f7/ce172ad31896057b3cd2bda3a6fc97a2da20716b694c136d7fdcd9c0d586/fake-switches-1.0.20.tar.gz" } ], "1.0.21": [ { "comment_text": "", "digests": { "md5": "2a879491b14a6810e94fef234092765f", "sha256": "81ad726d944bae9fd8d708b45de92f164762139ab05ebcf0212864cb6e7818a7" }, "downloads": -1, "filename": "fake-switches-1.0.21.tar.gz", "has_sig": false, "md5_digest": "2a879491b14a6810e94fef234092765f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87210, "upload_time": "2016-03-07T15:56:14", "url": "https://files.pythonhosted.org/packages/a8/73/4a251454fa825d7d9e5e8d1b16dcd6e105f10555738b925a7e5ed8f499e3/fake-switches-1.0.21.tar.gz" } ], "1.0.22": [ { "comment_text": "", "digests": { "md5": "3d0cbedc430e175998ef3fd0295d42ba", "sha256": "19f305d7e9f4115aad1265539925dae9dbfb13554a57344de8508cdb0fc518f3" }, "downloads": -1, "filename": "fake-switches-1.0.22.tar.gz", "has_sig": false, "md5_digest": "3d0cbedc430e175998ef3fd0295d42ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87849, "upload_time": "2016-03-07T18:16:42", "url": "https://files.pythonhosted.org/packages/79/33/3266dc80773ac32e4d06d187b18099fde06e7856b26f3a4124a8dc810d26/fake-switches-1.0.22.tar.gz" } ], "1.0.23": [ { "comment_text": "", "digests": { "md5": "eb71667f4450f9c576ac5ece2c90fac5", "sha256": "6615847241d7b463832441eb5b57d7af26d64ea66bb8e91a59012c121d91a747" }, "downloads": -1, "filename": "fake-switches-1.0.23.tar.gz", "has_sig": false, "md5_digest": "eb71667f4450f9c576ac5ece2c90fac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88028, "upload_time": "2016-03-11T17:12:03", "url": "https://files.pythonhosted.org/packages/35/16/e1f77096c91882a6c1da6ba5760e36b09a2f07c9565ba6cfdb8e0c388af9/fake-switches-1.0.23.tar.gz" } ], "1.0.24": [ { "comment_text": "", "digests": { "md5": "c5c61ce1ea519be1ac079f4340f0908e", "sha256": "1c8e4e27fd1991b7c5faa138fc3cb1d4397cfca15727115000dfcf87cc0ce55d" }, "downloads": -1, "filename": "fake-switches-1.0.24.tar.gz", "has_sig": false, "md5_digest": "c5c61ce1ea519be1ac079f4340f0908e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88037, "upload_time": "2016-03-16T00:29:53", "url": "https://files.pythonhosted.org/packages/70/f9/f269b46dcacc1bd2bc3e2996108e553a93e1d48235631765118a2e8484bf/fake-switches-1.0.24.tar.gz" } ], "1.0.25": [ { "comment_text": "", "digests": { "md5": "f6f1ffd6b6544399cee9a68377da2dce", "sha256": "8e1b7dbb5952b8ba871d268d980b7fc3fc8481834bb8c85ac68b9c8ffe0c255b" }, "downloads": -1, "filename": "fake-switches-1.0.25.tar.gz", "has_sig": false, "md5_digest": "f6f1ffd6b6544399cee9a68377da2dce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88150, "upload_time": "2016-03-18T19:46:12", "url": "https://files.pythonhosted.org/packages/c1/d2/e770c4ec0db75c13668149f28e32c26012f34a493ca482ed59756ea733d2/fake-switches-1.0.25.tar.gz" } ], "1.0.26": [ { "comment_text": "", "digests": { "md5": "5fa855fb42bb99b2e6467f51b7dadc3f", "sha256": "2e5052117e0766d629cecefae58cde56b1992ca662774083cbcb51039f011372" }, "downloads": -1, "filename": "fake-switches-1.0.26.tar.gz", "has_sig": false, "md5_digest": "5fa855fb42bb99b2e6467f51b7dadc3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88347, "upload_time": "2016-06-08T18:48:29", "url": "https://files.pythonhosted.org/packages/29/9c/3b26978a7dfe1e254ba8cd207cf1747c69a690c21ed022e7df8085027cc5/fake-switches-1.0.26.tar.gz" } ], "1.0.27": [ { "comment_text": "", "digests": { "md5": "7eb1da493245a95a6e66a6f37331dfb6", "sha256": "143968d589f38cf5a056ba7631197083e85aaf66d72bf7bd3fcfe26473f2f48a" }, "downloads": -1, "filename": "fake-switches-1.0.27.tar.gz", "has_sig": false, "md5_digest": "7eb1da493245a95a6e66a6f37331dfb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88530, "upload_time": "2016-06-22T18:29:41", "url": "https://files.pythonhosted.org/packages/0b/ad/cfc8b1b1043c727ae6f1c74b168401ea4ab6b7762ecb5afa1e78d532f034/fake-switches-1.0.27.tar.gz" } ], "1.0.28": [ { "comment_text": "", "digests": { "md5": "f8f9c6854e6f03b980604bc972be9522", "sha256": "2302f6ce821eca7ce1b3019793e0e011fc6c6f9b1ae73b9a14eb449bd77f7b71" }, "downloads": -1, "filename": "fake-switches-1.0.28.tar.gz", "has_sig": false, "md5_digest": "f8f9c6854e6f03b980604bc972be9522", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90887, "upload_time": "2016-06-30T19:31:30", "url": "https://files.pythonhosted.org/packages/df/e9/e9ea595f0116ca310e15855690170a455705567c544b196224526ed071ab/fake-switches-1.0.28.tar.gz" } ], "1.0.29": [ { "comment_text": "", "digests": { "md5": "6b9e4b77f57dca7771bdff8b00453450", "sha256": "9fde0c689d9391c3d3de15b059c99cff7980181861470f3b1b530ceb7a4c6c6a" }, "downloads": -1, "filename": "fake-switches-1.0.29.tar.gz", "has_sig": false, "md5_digest": "6b9e4b77f57dca7771bdff8b00453450", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91017, "upload_time": "2016-07-04T17:56:18", "url": "https://files.pythonhosted.org/packages/9c/1b/1e107f60f6c0e4e9854d346cd864ea7cd23ceb5b79e5d9717fb4f3f7e813/fake-switches-1.0.29.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d854949954b99517e1017b8c2d784d5e", "sha256": "f923c538822c7d6a777f0d3f270febf5d93d80d7531500acbbb3181097489465" }, "downloads": -1, "filename": "fake-switches-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d854949954b99517e1017b8c2d784d5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60605, "upload_time": "2015-09-21T15:21:17", "url": "https://files.pythonhosted.org/packages/6d/58/51656dd9f3e2ef914e34b0afe633ad9ab3050004ed9bab088aaeed052b08/fake-switches-1.0.3.tar.gz" } ], "1.0.30": [ { "comment_text": "", "digests": { "md5": "054c0c27bcbe69a32a34323a0ad38dc3", "sha256": "e571d67c209d69927cf36a00710ffdeeb837e32cd569e684a3b5c633fa6930dd" }, "downloads": -1, "filename": "fake-switches-1.0.30.tar.gz", "has_sig": false, "md5_digest": "054c0c27bcbe69a32a34323a0ad38dc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91847, "upload_time": "2016-07-05T15:18:50", "url": "https://files.pythonhosted.org/packages/9f/ae/ee03507c3f8745490e3c0b5c61fa37fdadceb48b9344590019dd00bde493/fake-switches-1.0.30.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "9258bfefcd050f003267d8571710a12b", "sha256": "3e1dd2f927e9630a9dbf00cd67b35cef708e15669288e6ce437f03212e4f9d8c" }, "downloads": -1, "filename": "fake-switches-1.0.4.tar.gz", "has_sig": false, "md5_digest": "9258bfefcd050f003267d8571710a12b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62899, "upload_time": "2015-09-22T17:33:11", "url": "https://files.pythonhosted.org/packages/d2/0c/95df79c2cefea825a45245adbf284ebf4308257e345d9c0e05e73c9566b8/fake-switches-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "ad1d1d1a2f08dd05470d2e574a884a76", "sha256": "f0e2668afa93ee163a44ac7454682ad8b45a0994ddb6c132e6d0517441d42d5f" }, "downloads": -1, "filename": "fake-switches-1.0.5.tar.gz", "has_sig": false, "md5_digest": "ad1d1d1a2f08dd05470d2e574a884a76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63126, "upload_time": "2015-09-23T21:59:41", "url": "https://files.pythonhosted.org/packages/c4/37/39b179da473bda99e7a6b73d6c1c33a3afd82909c1f95a8404623dda2ac6/fake-switches-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "f3deb59635e0003db5a2272f550e1314", "sha256": "fb40eaf22fef90201adc412c56a226f334a4235dc578e844c643f1f7198082d3" }, "downloads": -1, "filename": "fake-switches-1.0.6.tar.gz", "has_sig": false, "md5_digest": "f3deb59635e0003db5a2272f550e1314", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64005, "upload_time": "2015-09-29T20:29:03", "url": "https://files.pythonhosted.org/packages/af/88/9afa5855cba2a2c18d0532beace8b032de519c8b2853357ed9fd102d89fa/fake-switches-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "10e540af3ebef586fac24c843c6274ee", "sha256": "5f43cb0e01e6f40d6a679ea9001dedb940e4d58b83a2e793e46032ea07cf3ad0" }, "downloads": -1, "filename": "fake-switches-1.0.7.tar.gz", "has_sig": false, "md5_digest": "10e540af3ebef586fac24c843c6274ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69334, "upload_time": "2015-10-07T18:36:54", "url": "https://files.pythonhosted.org/packages/20/55/4eb9df071e86c8d0abc741a279a3e775a21ab0794ec42b8e949931d23837/fake-switches-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "9cbca4d9a01de80cedbd7a61ea5d7ca0", "sha256": "40a49c9dbf542b9de715fcd84edede6740733875c675a5ae4ced377740fe8c46" }, "downloads": -1, "filename": "fake-switches-1.0.8.tar.gz", "has_sig": false, "md5_digest": "9cbca4d9a01de80cedbd7a61ea5d7ca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70830, "upload_time": "2015-10-23T08:17:47", "url": "https://files.pythonhosted.org/packages/04/f7/40ab5956e6125c9ae166a01fbd60e5ba81beff5e7721b7483a1aa5f37bb6/fake-switches-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "a635d67432fee7c028cb58ac7716404e", "sha256": "dac0f741f29e1c030c85402775c070afacd69ec887ddf8129c7621646c58700a" }, "downloads": -1, "filename": "fake-switches-1.0.9.tar.gz", "has_sig": false, "md5_digest": "a635d67432fee7c028cb58ac7716404e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71488, "upload_time": "2015-11-03T19:41:13", "url": "https://files.pythonhosted.org/packages/c1/ee/b640ce267831a28feada4215419110b57f3ce664a361d2eb100aa40225a7/fake-switches-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "015c4c1d0d2937b6d02a6e93c37ba8da", "sha256": "b341cc62c8e691fc04cea7bd1a164250204e12db4bc4caab07de10ab80e55777" }, "downloads": -1, "filename": "fake-switches-1.1.0.tar.gz", "has_sig": false, "md5_digest": "015c4c1d0d2937b6d02a6e93c37ba8da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92745, "upload_time": "2016-07-06T17:48:35", "url": "https://files.pythonhosted.org/packages/57/7f/8f678a0cb5e1a59f1402ecfe9b077bdb41d570cca35f389ec895d0838225/fake-switches-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "ca427e29399821f68f4cfa82d66e6b8f", "sha256": "34199f284151a8361d1902b52e54322c000b9c4f98d0d8192594fd53845afaca" }, "downloads": -1, "filename": "fake-switches-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ca427e29399821f68f4cfa82d66e6b8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92986, "upload_time": "2016-07-07T20:42:29", "url": "https://files.pythonhosted.org/packages/eb/bd/de13a8bfde6f212ac7fc5f792114d8a53878c92183ca5bd59727781d5dfa/fake-switches-1.1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "f80704c7247ce7de9d16d07b3c17f6d8", "sha256": "1c07399be8ffaa32ed77093028ed0f785e524309894781c60c01d89aa8b343ac" }, "downloads": -1, "filename": "fake-switches-1.1.10.tar.gz", "has_sig": false, "md5_digest": "f80704c7247ce7de9d16d07b3c17f6d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 229166, "upload_time": "2017-03-01T21:38:36", "url": "https://files.pythonhosted.org/packages/af/f7/0bbb58c741d377c0da15df357a35f5a0446c93ca971ce05e2e72f37dfbfa/fake-switches-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "8668c3fde4168bdcca17edcb36e53835", "sha256": "a316b5cf02cd3303dbd04c5cafde60a4f65da98fe256ecf5c86c724110b7de30" }, "downloads": -1, "filename": "fake-switches-1.1.11.tar.gz", "has_sig": false, "md5_digest": "8668c3fde4168bdcca17edcb36e53835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 230554, "upload_time": "2017-03-17T20:06:41", "url": "https://files.pythonhosted.org/packages/b9/b0/7a8f8721e6cb215c206442f75543d36785b02c69d33abc0f3d9aa8ce1015/fake-switches-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "e519250c40535bbed93d077478d4e58f", "sha256": "75a6c92187d6452fe421e4d7e0133341c5d4e2afe46d571e2f3e8cc101636daf" }, "downloads": -1, "filename": "fake-switches-1.1.12.tar.gz", "has_sig": false, "md5_digest": "e519250c40535bbed93d077478d4e58f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 228728, "upload_time": "2017-09-20T14:37:26", "url": "https://files.pythonhosted.org/packages/8c/7e/cec76ca4c457e796980667a75d6eaf5c829c0ffc5300c334cb4f4c9cf030/fake-switches-1.1.12.tar.gz" } ], "1.1.13": [ { "comment_text": "", "digests": { "md5": "f0469ab3ae3bdc1d82442d79c6b22d13", "sha256": "e76919c3ba93a77bbde5667084b39415440f4a746f3a7b6f3abd59e2735b506b" }, "downloads": -1, "filename": "fake-switches-1.1.13.tar.gz", "has_sig": false, "md5_digest": "f0469ab3ae3bdc1d82442d79c6b22d13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 244025, "upload_time": "2018-02-20T15:40:28", "url": "https://files.pythonhosted.org/packages/d9/e1/cd76f613d7cd12c1e2595c5b20b5e3db92c5207b553e0e041e0bf6cc0a8f/fake-switches-1.1.13.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "f40687d19cad3def216091356df70798", "sha256": "ae0e58e7ed885b78161463e58006cc734b5d7f0939a7c79f2523b3fea4723385" }, "downloads": -1, "filename": "fake-switches-1.1.2.tar.gz", "has_sig": false, "md5_digest": "f40687d19cad3def216091356df70798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92975, "upload_time": "2016-07-13T15:58:06", "url": "https://files.pythonhosted.org/packages/a3/f0/0807dce1f3ccbc46980bd36be85f49566604f14b4ad6457cee2080af25ba/fake-switches-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "f5a06bdab7cf513831ff90182e9fd9da", "sha256": "d06ac87f0538d3cc807ccc75d39309fb79e71ca277b71ed0ff47243dbbdbe357" }, "downloads": -1, "filename": "fake-switches-1.1.3.tar.gz", "has_sig": false, "md5_digest": "f5a06bdab7cf513831ff90182e9fd9da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93754, "upload_time": "2016-07-15T15:47:52", "url": "https://files.pythonhosted.org/packages/6b/05/44da2735bd36d380230988bcbcb33a9627c7d9e6c91c0619bb7046a72701/fake-switches-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "e999dde5178f04fbeab81e578a4ca4c3", "sha256": "6b5e41436cc76fab2e599d8de3abdc5c40768fa2c83e14852b858166129dc326" }, "downloads": -1, "filename": "fake-switches-1.1.4.tar.gz", "has_sig": false, "md5_digest": "e999dde5178f04fbeab81e578a4ca4c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93865, "upload_time": "2016-07-18T20:16:55", "url": "https://files.pythonhosted.org/packages/58/ba/0629339d90ae5387b68f24186674cfe32f27b3fd0c41faf46eabd18d1785/fake-switches-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "d3e5de129ed2f8f30a3b92b29af580a0", "sha256": "2b83c7109cd0dc8280be98db9665620bdc39b426b79e064f95e25a26ebe01412" }, "downloads": -1, "filename": "fake-switches-1.1.5.tar.gz", "has_sig": false, "md5_digest": "d3e5de129ed2f8f30a3b92b29af580a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95194, "upload_time": "2016-08-17T15:35:18", "url": "https://files.pythonhosted.org/packages/87/11/977427b6478523e84170e6b6a4cdf88933de417a48de79ac4079288f3a8e/fake-switches-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "cef8ebe644ba0351ba87b7576454cd69", "sha256": "60df67e5e977b77db60cb999fa2924c74e994a0ccac9307d2a60d5a0ec5e7159" }, "downloads": -1, "filename": "fake-switches-1.1.6.tar.gz", "has_sig": false, "md5_digest": "cef8ebe644ba0351ba87b7576454cd69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96001, "upload_time": "2016-08-24T15:55:42", "url": "https://files.pythonhosted.org/packages/86/7c/ee776c3febe9444af9bf692f5efdbce836f32a5300b0dff853c4dda8e21c/fake-switches-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "8b5c24726d0730dfe304cf477b1d13bb", "sha256": "06aff100419fb16d24cf5869311b83841ef16563b838823b521abe8ce31fb989" }, "downloads": -1, "filename": "fake-switches-1.1.7.tar.gz", "has_sig": false, "md5_digest": "8b5c24726d0730dfe304cf477b1d13bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100500, "upload_time": "2017-01-20T11:29:46", "url": "https://files.pythonhosted.org/packages/51/3c/f37f6f77b56cade6d95af6bae4132edc864be277e11f821c5f86111a8163/fake-switches-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "da9efadba3397b808dc2518560ee0cd8", "sha256": "48044a8b0bd655a336398a8427eb2604a0cad84d7d0e54c0a10084b2e76e7325" }, "downloads": -1, "filename": "fake-switches-1.1.8.tar.gz", "has_sig": false, "md5_digest": "da9efadba3397b808dc2518560ee0cd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100447, "upload_time": "2017-01-23T15:20:55", "url": "https://files.pythonhosted.org/packages/e1/0f/cbc2ceccdcb010d744cf464fe5320aadbf5d1cbac5822dcc2300dca3e071/fake-switches-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "bee49b37a3d0ec93c01b69f0a2ad4d9f", "sha256": "3117a38499bc958142bc9c5fac4e07f2ef0bd06207067b57cb02c7e7bb6b3e41" }, "downloads": -1, "filename": "fake-switches-1.1.9.tar.gz", "has_sig": false, "md5_digest": "bee49b37a3d0ec93c01b69f0a2ad4d9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 228907, "upload_time": "2017-02-20T22:16:28", "url": "https://files.pythonhosted.org/packages/d5/78/467ca8e362ba51d4d9280126a0ad5a15cf19b9b9872c7e6157a53f234cc2/fake-switches-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d8e558c8d7e03d82eb373ef854fd6400", "sha256": "7ac2970d586386ca0ad6388517765485c19261366958c8d15e3a812bda58a6a9" }, "downloads": -1, "filename": "fake-switches-1.2.0.tar.gz", "has_sig": false, "md5_digest": "d8e558c8d7e03d82eb373ef854fd6400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 245715, "upload_time": "2018-02-22T20:07:09", "url": "https://files.pythonhosted.org/packages/94/99/d3f219ec097c22555aca5be3563270ba450644e7934414aea6a0cdca3008/fake-switches-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "630c573b8175fea393757b2c6c7cc487", "sha256": "e1acf456d567b5d4b589dc11476eba771484fceea6b5008562ac604ee9122a51" }, "downloads": -1, "filename": "fake-switches-1.2.1.tar.gz", "has_sig": false, "md5_digest": "630c573b8175fea393757b2c6c7cc487", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 246467, "upload_time": "2018-03-12T21:08:03", "url": "https://files.pythonhosted.org/packages/08/d7/007ea5e8a540670a30f38a3fd8d5bf13bbeac82ef609e776eea14c6ca39c/fake-switches-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "cba2f311bee50e0a5127806856842245", "sha256": "7ebf2c8c8215e906916de67382af5d520e67ebda164902728b5bd971f6594d32" }, "downloads": -1, "filename": "fake-switches-1.2.2.tar.gz", "has_sig": false, "md5_digest": "cba2f311bee50e0a5127806856842245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 246782, "upload_time": "2018-03-20T17:21:22", "url": "https://files.pythonhosted.org/packages/51/57/ed70bd570dab2cbf960fdb7287c54123016a3c8303da4313e711239a7d07/fake-switches-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "546143f8e9a3ad7c2e8eb458fc24efbe", "sha256": "56e7115cd41eef8fd09b1ccacff8b32af511c792c291aad16fc1125d29fcc8ba" }, "downloads": -1, "filename": "fake-switches-1.2.3.tar.gz", "has_sig": false, "md5_digest": "546143f8e9a3ad7c2e8eb458fc24efbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 246950, "upload_time": "2018-03-22T14:12:10", "url": "https://files.pythonhosted.org/packages/db/33/19b439411b5e14c61de6f62fb7f7a46968a6901206ec8fe7356ebec90599/fake-switches-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "b39f286ddf9e642a4b0893a7456aa1ab", "sha256": "d62a17a82623e84c508fa627eca1ca8aee337eb2e78229be0e5120a5d07b08ee" }, "downloads": -1, "filename": "fake-switches-1.2.4.tar.gz", "has_sig": false, "md5_digest": "b39f286ddf9e642a4b0893a7456aa1ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 246823, "upload_time": "2018-03-23T15:39:36", "url": "https://files.pythonhosted.org/packages/f6/39/11170da8a89fccbc9f313e89d1e36a3c6e91f38705277b820ec11cef886a/fake-switches-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "24031bf791a830c1b9d7b7630956b563", "sha256": "16d0056ee862d00dc73731791cf9b31e84d5f144ad97031ba45c9686668f5cf5" }, "downloads": -1, "filename": "fake-switches-1.2.5.tar.gz", "has_sig": false, "md5_digest": "24031bf791a830c1b9d7b7630956b563", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 247656, "upload_time": "2018-09-04T17:42:28", "url": "https://files.pythonhosted.org/packages/e9/61/5e6e96d8192de579b60de68e8cc342b11bc93246fda7b18852727de0f133/fake-switches-1.2.5.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "2fcaff55add59d0dca6f336970b5017b", "sha256": "0052333d0c306b8e78401edc23a502bd190e4c0148222b98b50b6d5fcdcebdfc" }, "downloads": -1, "filename": "fake-switches-1.3.0.tar.gz", "has_sig": false, "md5_digest": "2fcaff55add59d0dca6f336970b5017b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 255561, "upload_time": "2018-10-18T17:40:15", "url": "https://files.pythonhosted.org/packages/0c/0a/1ad4d22aeb26a8cc44dabc66dd87d0bda230546c1a045ec4c8ccbc33ac34/fake-switches-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "42d7671b4501d37a3d12ff4c05de2d5a", "sha256": "bbf4c65ed5f40fb0269e7b65a3c1f462372f8bbeac2019ee54139147ef338377" }, "downloads": -1, "filename": "fake-switches-1.3.1.tar.gz", "has_sig": false, "md5_digest": "42d7671b4501d37a3d12ff4c05de2d5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 255777, "upload_time": "2018-10-18T21:58:52", "url": "https://files.pythonhosted.org/packages/be/c8/4b696705d277f36a43fa5bb1ca21e68454e27570c70353e2faf8c574696e/fake-switches-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "02b0c38cf373037880d2cde6ea197af1", "sha256": "c31a560d775c64109edc0348e3cd152b3b2ea55f10361e15d0b8947f3abdcde4" }, "downloads": -1, "filename": "fake-switches-1.3.2.tar.gz", "has_sig": false, "md5_digest": "02b0c38cf373037880d2cde6ea197af1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 259654, "upload_time": "2018-10-25T18:13:06", "url": "https://files.pythonhosted.org/packages/72/f9/6d212a61d49299f9488692ccf044d54f888a4499b21677aaf34cfa958d8e/fake-switches-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "c7eca54f7c32dee8eec7e26d7799ee67", "sha256": "57ca0a391d12dbd86cc984f156f5e2e77ee4a17eef9f28b7135fcc67aa4c0cf2" }, "downloads": -1, "filename": "fake-switches-1.3.3.tar.gz", "has_sig": false, "md5_digest": "c7eca54f7c32dee8eec7e26d7799ee67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 259889, "upload_time": "2018-10-25T19:03:29", "url": "https://files.pythonhosted.org/packages/be/20/be46d68f98697fc461f34a65e910df2f133ce395a0e2b96be19148877beb/fake-switches-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "59c3a95837bde3f852929a0b415787e1", "sha256": "e55fb8f2e19bc57ec363e862579ca1c79c3059220ac7fd613dcc403a914ce20c" }, "downloads": -1, "filename": "fake-switches-1.3.4.tar.gz", "has_sig": false, "md5_digest": "59c3a95837bde3f852929a0b415787e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262222, "upload_time": "2018-11-01T15:16:31", "url": "https://files.pythonhosted.org/packages/3c/a8/b3c3181291740b65fa3d7888eaf62496cf4854037775062a71140c78e04f/fake-switches-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "3f6510a467214f82f16aa66255ad6676", "sha256": "b9262a3833109181df0896c8bbb06c4eb9cbfdcaca82c64d9e0ecfda60538392" }, "downloads": -1, "filename": "fake-switches-1.3.5.tar.gz", "has_sig": false, "md5_digest": "3f6510a467214f82f16aa66255ad6676", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 265936, "upload_time": "2018-11-05T16:00:07", "url": "https://files.pythonhosted.org/packages/e5/6a/4e652aaf5141faf5ddb480ba5ac582e5f783954ecff7cae060eb87511ec2/fake-switches-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "2cc5fe257b441fd1c1fb30b677b23d4b", "sha256": "c56782b9a32779bc215a24c0abe1d8e086407de7822fe1a6b0ebdf45594a069d" }, "downloads": -1, "filename": "fake-switches-1.3.6.tar.gz", "has_sig": false, "md5_digest": "2cc5fe257b441fd1c1fb30b677b23d4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 266326, "upload_time": "2018-11-07T21:08:27", "url": "https://files.pythonhosted.org/packages/0c/b8/7ea18729723440db446125b670af436414cf421a1a4c3c423bd4acd9f521/fake-switches-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "13009132e40bd439a2c873f11aed686c", "sha256": "c59a3b4027dfa71ad4153ab4c224948269e170ce6520b409eeafaebbb1f1ce37" }, "downloads": -1, "filename": "fake-switches-1.3.7.tar.gz", "has_sig": false, "md5_digest": "13009132e40bd439a2c873f11aed686c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 266780, "upload_time": "2019-01-08T19:28:56", "url": "https://files.pythonhosted.org/packages/b7/e8/edd9edde822ded6f2852f2dac6ec789c39b5cc01ea235805a4dd208d9017/fake-switches-1.3.7.tar.gz" } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "301b00c8cf0c800fb6ff7547e37d6471", "sha256": "97957e5435f7d5afa0a754dcf751905fdee10f8532918c8b91351ad6e573631f" }, "downloads": -1, "filename": "fake-switches-1.3.8.tar.gz", "has_sig": false, "md5_digest": "301b00c8cf0c800fb6ff7547e37d6471", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267086, "upload_time": "2019-01-09T20:07:53", "url": "https://files.pythonhosted.org/packages/ee/d2/593badff25d4e7c5bf68f9b137fcaf4d28a7bd624f2cc6d8985aa37acb98/fake-switches-1.3.8.tar.gz" } ], "1.3.9": [ { "comment_text": "", "digests": { "md5": "23159da6bf1512a70056971b929b8d41", "sha256": "fa21cc0dee51a0c437c8f62d2a883f1b0311e3dc3aa79f3dbe3a9221fcb7a556" }, "downloads": -1, "filename": "fake-switches-1.3.9.tar.gz", "has_sig": false, "md5_digest": "23159da6bf1512a70056971b929b8d41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267042, "upload_time": "2019-03-21T19:20:30", "url": "https://files.pythonhosted.org/packages/3c/87/b935106c977582ddc22acba942eb1ac1f37393a4f91a9d0375a31b7fb7e2/fake-switches-1.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23159da6bf1512a70056971b929b8d41", "sha256": "fa21cc0dee51a0c437c8f62d2a883f1b0311e3dc3aa79f3dbe3a9221fcb7a556" }, "downloads": -1, "filename": "fake-switches-1.3.9.tar.gz", "has_sig": false, "md5_digest": "23159da6bf1512a70056971b929b8d41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267042, "upload_time": "2019-03-21T19:20:30", "url": "https://files.pythonhosted.org/packages/3c/87/b935106c977582ddc22acba942eb1ac1f37393a4f91a9d0375a31b7fb7e2/fake-switches-1.3.9.tar.gz" } ] }