Metadata-Version: 2.1
Name: respx
Version: 0.19.2
Summary: A utility for mocking out the Python HTTPX and HTTP Core libraries.
Home-page: https://lundberg.github.io/respx/
Author: Jonas Lundberg
Author-email: jonas@5monkeys.se
License: BSD-3-Clause
Project-URL: GitHub, https://github.com/lundberg/respx
Project-URL: Changelog, https://github.com/lundberg/respx/blob/master/CHANGELOG.md
Project-URL: Issues, https://github.com/lundberg/respx/issues
Description: <p align="center">
          <a href="https://lundberg.github.io/respx/"><img width="350" height="208" src="https://raw.githubusercontent.com/lundberg/respx/master/docs/img/respx.png" alt='RESPX'></a>
        </p>
        <p align="center">
          <strong>RESPX</strong> <em>- Mock HTTPX with awesome request patterns and response side effects.</em>
        </p>
        
        ---
        
        [![tests](https://img.shields.io/github/workflow/status/lundberg/respx/test?label=tests&logo=github&logoColor=white&style=for-the-badge)](https://github.com/lundberg/respx/actions/workflows/test.yml) [![codecov](https://img.shields.io/codecov/c/github/lundberg/respx?logo=codecov&logoColor=white&style=for-the-badge)](https://codecov.io/gh/lundberg/respx) [![PyPi Version](https://img.shields.io/pypi/v/respx?logo=pypi&logoColor=white&style=for-the-badge)](https://pypi.org/project/respx/) [![Python Versions](https://img.shields.io/pypi/pyversions/respx?logo=python&logoColor=white&style=for-the-badge)](https://pypi.org/project/respx/)
        
        ## Documentation
        
        Full documentation is available at [lundberg.github.io/respx](https://lundberg.github.io/respx/)
        
        ## QuickStart
        
        RESPX is a simple, *yet powerful*, utility for mocking out the [HTTPX](https://www.python-httpx.org/), *and [HTTP Core](https://www.encode.io/httpcore/)*, libraries.
        
        Start by [patching](https://lundberg.github.io/respx/guide/#mock-httpx) `HTTPX`, using `respx.mock`, then add request [routes](https://lundberg.github.io/respx/guide/#routing-requests) to mock [responses](https://lundberg.github.io/respx/guide/#mocking-responses).
        
        ``` python
        import httpx
        import respx
        
        from httpx import Response
        
        
        @respx.mock
        def test_example():
            my_route = respx.get("https://example.org/").mock(return_value=Response(204))
            response = httpx.get("https://example.org/")
            assert my_route.called
            assert response.status_code == 204
        ```
        
        > Read the [User Guide](https://lundberg.github.io/respx/guide/) for a complete walk-through.
        
        
        ### pytest + httpx
        
        For a neater `pytest` experience, RESPX includes a `respx_mock` *fixture* for easy `HTTPX` mocking, along with an optional `respx` *marker* to fine-tune the mock [settings](https://lundberg.github.io/respx/api/#configuration).
        
        ``` python
        import httpx
        import pytest
        
        
        def test_default(respx_mock):
            respx_mock.get("https://foo.bar/").mock(return_value=httpx.Response(204))
            response = httpx.get("https://foo.bar/")
            assert response.status_code == 204
        
        
        @pytest.mark.respx(base_url="https://foo.bar")
        def test_with_marker(respx_mock):
            respx_mock.get("/baz/").mock(return_value=httpx.Response(204))
            response = httpx.get("https://foo.bar/baz/")
            assert response.status_code == 204
        ```
        
        
        ## Installation
        
        Install with pip:
        
        ``` console
        $ pip install respx
        ```
        
        Requires Python 3.6+ and HTTPX 0.21+.
        See [Changelog](https://github.com/lundberg/respx/blob/master/CHANGELOG.md) for older HTTPX compatibility.
        
Keywords: httpx,httpcore,mock,responses,requests,async,http
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.6
Description-Content-Type: text/markdown
