{ "info": { "author": "SpectoLabs", "author_email": "shyal@shyal.com", "bugtrack_url": null, "classifiers": [], "description": "HoverPy\n=======\n\nHoverPy speeds up and simplifies Python development and testing that involves downstream HTTP / HTTPS services. It does so by using a high-performance Go caching proxy to capture, simulate, modify and synthesize network traffic.\n\n.. code:: python\n\n from hoverpy import capture, simulate\n import requests\n\n @capture(\"requests.db\")\n def captured_get():\n print(requests.get(\"http://time.jsontest.com\").json())\n\n @simulate(\"requests.db\")\n def simulated_get():\n print(requests.get(\"http://time.jsontest.com\").json())\n\n captured_get()\n simulated_get()\n\nThis grants several benefits:\n\n- Increased development speed\n- Increased test speed\n- Ability to work offline\n- A deterministic test environment\n- Ability to modify traffic\n- Ability to sythesize traffic\n- Ability to simulate network latency\n\n.. code:: python\n\n from hoverpy import capture, modify\n import requests\n\n @simulate(\"requests.db\", delays=[(\"time.json.com\", 1000)])\n def simulated_latency():\n print(requests.get(\"http://time.jsontest.com\").json())\n\n @modify(middleware=\"python middleware.py\")\n def modified_request():\n print(requests.get(\"http://time.jsontest.com\").json())\n\n simulated_latency()\n modified_request()\n\nIf/when the downstream service you are testing against changes, then you can simply delete your db file, and capture the test results again. Or you could have versioned db files for services that use versioning.\n\nHoverPy uses `Hoverfly `__ a Service Virtualisation server written in GoLang. For this reason it is rock solid in terms of speed and reliability.\n\nLibrary Support\n~~~~~~~~~~~~~~~\n\nHoverPy works great with the following HTTP clients out of the box:\n\n- tornado\n- twisted\n- requests\n- urllib2\n- urllib3\n- pysimplesoap\n- etc.\n\nSince HoverPy can act as a proxy or a reverse proxy, it can easily be made to work with any networking library or framework.\n\nSource\n~~~~~~\n\nhttps://github.com/SpectoLabs/hoverpy/\n\n.. image:: hoverpy_logo.png\n\nLicense\n~~~~~~~\n\nHoverPy uses Apache License V2. See LICENSE.txt for more details.\n\n.. |PyPI version| image:: https://badge.fury.io/py/hoverpy.svg\n :target: https://pypi.python.org/pypi/hoverpy\n.. |RTD badget| image:: https://readthedocs.org/projects/hoverpy/badge/?version=latest\n :target: http://hoverpy.readthedocs.io/en/latest/\n.. |Build Status| image:: https://travis-ci.org/SpectoLabs/hoverpy.svg?branch=master\n :target: https://travis-ci.org/SpectoLabs/hoverpy\n\nContents\n========\n\n.. toctree::\n :maxdepth: 3\n\n pages/installation\n pages/introduction\n pages/usage/usage\n\nIndices and tables\n==================\n\n* :ref:`genindex`\n* :ref:`modindex`\n* :ref:`search`\n\n\n|\n\n|PyPI version| |RTD badget| |Build Status|\n\n|", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/SpectoLabs/hoverpy/tarball/0.2.2", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SpectoLabs/hoverpy", "keywords": "testing,rest,caching,ci", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "hoverpy", "package_url": "https://pypi.org/project/hoverpy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/hoverpy/", "project_urls": { "Download": "https://github.com/SpectoLabs/hoverpy/tarball/0.2.2", "Homepage": "https://github.com/SpectoLabs/hoverpy" }, "release_url": "https://pypi.org/project/hoverpy/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "A python library for HoverFly", "version": "0.2.2" }, "last_serial": 2660385, "releases": { "0.1.16": [ { "comment_text": "", "digests": { "md5": "4ea3993ab3106acf78810d4b101443d8", "sha256": "27a17516cfb69c6e70b50126ed05bb981cbb78bc497b6426e732d8a634f5d1fe" }, "downloads": -1, "filename": "hoverpy-0.1.16.tar.gz", "has_sig": false, "md5_digest": "4ea3993ab3106acf78810d4b101443d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6743, "upload_time": "2016-12-13T19:06:28", "url": "https://files.pythonhosted.org/packages/ff/4f/15d834a3bca1f2f97dd5fca567301988b25f1366fbb5cc1d9c12626e91d6/hoverpy-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "48ca7e16451fb8cd9f7c4462d0bb08af", "sha256": "4a9af79b42960f39f0fe8ef289b1c67ab79c439d4a07a3a20afa5d851ebaa452" }, "downloads": -1, "filename": "hoverpy-0.1.17.tar.gz", "has_sig": false, "md5_digest": "48ca7e16451fb8cd9f7c4462d0bb08af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6744, "upload_time": "2016-12-14T10:36:19", "url": "https://files.pythonhosted.org/packages/5f/e1/486ed62dc53bbde4315bef59f1a37fe9601b38cbfadd102e3f5696e19c49/hoverpy-0.1.17.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "67192faedd40a3c212d0fe41c0caf56a", "sha256": "a49da41048ea988218045bb62372c19e23b52e40a9744d94c727ce508673b471" }, "downloads": -1, "filename": "hoverpy-0.1.20.tar.gz", "has_sig": false, "md5_digest": "67192faedd40a3c212d0fe41c0caf56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6787, "upload_time": "2016-12-15T00:14:36", "url": "https://files.pythonhosted.org/packages/20/18/651105053a207aac90bec9490efb560754ad959d061d04831aa6a33644ca/hoverpy-0.1.20.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "ebbc9e785dabb5ffb9c4980fe23cf3d6", "sha256": "23404dbc6cefdfdeb26aca9d5186a508b700c8613aadb63bd49263d8d61350df" }, "downloads": -1, "filename": "hoverpy-0.1.21.tar.gz", "has_sig": false, "md5_digest": "ebbc9e785dabb5ffb9c4980fe23cf3d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7831, "upload_time": "2017-02-21T13:48:10", "url": "https://files.pythonhosted.org/packages/73/9e/989fb58a8964e54967dedfd54a75333163bab805deefb69da555ba45ed52/hoverpy-0.1.21.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7a495888016f3c2fc9dfe664dc3fd4dd", "sha256": "56138fb007f4f9f7502cc22c553d33f5f3cd21dd4ab3333de149ccc89076f1e7" }, "downloads": -1, "filename": "hoverpy-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7a495888016f3c2fc9dfe664dc3fd4dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7888, "upload_time": "2017-02-21T05:17:32", "url": "https://files.pythonhosted.org/packages/85/38/b6fdecfbc9a34a869f108a819ac6cf44d7b84d0220a9903b412f0305743c/hoverpy-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "020efeff1caebe2120025947e3bb09bc", "sha256": "7b01b6c97a09a48e5ed66fb736c73343a511bf97f847ab0f33b15f913bc3c45d" }, "downloads": -1, "filename": "hoverpy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "020efeff1caebe2120025947e3bb09bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7839, "upload_time": "2017-02-21T13:50:25", "url": "https://files.pythonhosted.org/packages/5d/0a/31009b75fc1276e1b9c5201b860622e081fe7981ee50e0907b6f087369c4/hoverpy-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "01d360fe7cca287eea93186729fba7d6", "sha256": "349d84522c00a96211294a97f448bec321c8bf88ad8d95271c1787d9285fdf71" }, "downloads": -1, "filename": "hoverpy-0.2.2.tar.gz", "has_sig": false, "md5_digest": "01d360fe7cca287eea93186729fba7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8467, "upload_time": "2017-02-22T12:30:37", "url": "https://files.pythonhosted.org/packages/8a/a8/757822a872049fb06365d4237c6bfa4ed0d31f49c526d6a72303aff59554/hoverpy-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "01d360fe7cca287eea93186729fba7d6", "sha256": "349d84522c00a96211294a97f448bec321c8bf88ad8d95271c1787d9285fdf71" }, "downloads": -1, "filename": "hoverpy-0.2.2.tar.gz", "has_sig": false, "md5_digest": "01d360fe7cca287eea93186729fba7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8467, "upload_time": "2017-02-22T12:30:37", "url": "https://files.pythonhosted.org/packages/8a/a8/757822a872049fb06365d4237c6bfa4ed0d31f49c526d6a72303aff59554/hoverpy-0.2.2.tar.gz" } ] }