Skip to main content
HoverPy
=======

HoverPy 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.

.. code:: python

from hoverpy import capture, simulate
import requests

@capture("requests.db")
def captured_get():
print(requests.get("http://time.jsontest.com").json())

@simulate("requests.db")
def simulated_get():
print(requests.get("http://time.jsontest.com").json())

captured_get()
simulated_get()

This grants several benefits:

- Increased development speed
- Increased test speed
- Ability to work offline
- A deterministic test environment
- Ability to modify traffic
- Ability to sythesize traffic
- Ability to simulate network latency

.. code:: python

from hoverpy import capture, modify
import requests

@simulate("requests.db", delays=[("time.json.com", 1000)])
def simulated_latency():
print(requests.get("http://time.jsontest.com").json())

@modify(middleware="python middleware.py")
def modified_request():
print(requests.get("http://time.jsontest.com").json())

simulated_latency()
modified_request()

If/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.

HoverPy uses `Hoverfly <http://hoverfly.io>`__ a Service Virtualisation server written in GoLang. For this reason it is rock solid in terms of speed and reliability.

Library Support
~~~~~~~~~~~~~~~

HoverPy works great with the following HTTP clients out of the box:

- tornado
- twisted
- requests
- urllib2
- urllib3
- pysimplesoap
- etc.

Since HoverPy can act as a proxy or a reverse proxy, it can easily be made to work with any networking library or framework.

Source
~~~~~~

https://github.com/SpectoLabs/hoverpy/

.. image:: hoverpy_logo.png

License
~~~~~~~

HoverPy uses Apache License V2. See LICENSE.txt for more details.

.. |PyPI version| image:: https://badge.fury.io/py/hoverpy.svg
:target: https://pypi.python.org/pypi/hoverpy
.. |RTD badget| image:: https://readthedocs.org/projects/hoverpy/badge/?version=latest
:target: http://hoverpy.readthedocs.io/en/latest/
.. |Build Status| image:: https://travis-ci.org/SpectoLabs/hoverpy.svg?branch=master
:target: https://travis-ci.org/SpectoLabs/hoverpy

Contents
========

.. toctree::
:maxdepth: 3

pages/installation
pages/introduction
pages/usage/usage

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`


|

|PyPI version| |RTD badget| |Build Status|

|

Release files for hoverpy 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hoverpy 0.2.2
File Size Uploaded
hoverpy-0.2.2.tar.gz 8.5 kB Details

Release files / hoverpy-0.2.2.tar.gz

Download URL hoverpy-0.2.2.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
349d84522c00a96211294a97f448bec321c8bf88ad8d95271c1787d9285fdf71
BLAKE2b-256 checksum
How to use checksums
8aa8757822a872049fb06365d4237c6bfa4ed0d31f49c526d6a72303aff59554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.21

1 release file

0.1.20

1 release file

0.1.17

1 release file

0.1.16

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page