Metadata-Version: 2.1
Name: httpx
Version: 0.7.0
Summary: The next generation HTTP client.
Home-page: https://github.com/encode/httpx
Author: Tom Christie
Author-email: tom@tomchristie.com
License: BSD
Description: <p align="center">
          <a href="https://www.encode.io/httpx/"><img width="350" height="208" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/logo.jpg" alt='HTTPX'></a>
        </p>
        
        <p align="center"><strong>HTTPX</strong> <em>- A next-generation HTTP client for Python.</em></p>
        
        <p align="center">
        <a href="https://travis-ci.org/encode/httpx">
            <img src="https://travis-ci.org/encode/httpx.svg?branch=master" alt="Build Status">
        </a>
        <a href="https://codecov.io/gh/encode/httpx">
            <img src="https://codecov.io/gh/encode/httpx/branch/master/graph/badge.svg" alt="Coverage">
        </a>
        <a href="https://pypi.org/project/httpx/">
            <img src="https://badge.fury.io/py/httpx.svg" alt="Package version">
        </a>
        </p>
        
        **Note**: *This project should be considered as an "alpha" release. It is substantially API complete, but there are still some areas that need more work.*
        
        ---
        
        Let's get started...
        
        ```python
        >>> import httpx
        >>> r = httpx.get('https://www.example.org/')
        >>> r
        <Response [200 OK]>
        >>> r.status_code
        200
        >>> r.protocol
        'HTTP/2'
        >>> r.headers['content-type']
        'text/html; charset=UTF-8'
        >>> r.text
        '<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
        ```
        
        ## Features
        
        HTTPX builds on the well-established usability of `requests`, and gives you:
        
        * A requests-compatible API.
        * HTTP/2 and HTTP/1.1 support.
        * Support for [issuing HTTP requests in parallel](https://www.encode.io/httpx/parallel/). *(Coming soon)*
        * Standard synchronous interface, but [with `async`/`await` support if you need it](https://www.encode.io/httpx/async/).
        * Ability to [make requests directly to WSGI or ASGI applications](https://www.encode.io/httpx/advanced/#calling-into-python-web-apps).
        * Strict timeouts everywhere.
        * Fully type annotated.
        * 100% test coverage.
        
        Plus all the standard features of `requests`...
        
        * International Domains and URLs
        * Keep-Alive & Connection Pooling
        * Sessions with Cookie Persistence
        * Browser-style SSL Verification
        * Basic/Digest Authentication *(Digest is still TODO)*
        * Elegant Key/Value Cookies
        * Automatic Decompression
        * Automatic Content Decoding
        * Unicode Response Bodies
        * Multipart File Uploads
        * HTTP(S) Proxy Support *(TODO)*
        * Connection Timeouts
        * Streaming Downloads
        * .netrc Support
        * Chunked Requests
        
        ## Installation
        
        Install with pip:
        
        ```shell
        $ pip install httpx
        ```
        
        httpx requires Python 3.6+
        
        ## Documentation
        
        Project documentation is available at [www.encode.io/httpx/](https://www.encode.io/httpx/).
        
        For a run-through of all the basics, head over to the [QuickStart](https://www.encode.io/httpx/quickstart/).
        
        For more advanced topics, see the [Advanced Usage](https://www.encode.io/httpx/advanced/) section, or
        the specific topics on making [Parallel Requests](https://www.encode.io/httpx/parallel/) or using the
        [Async Client](https://www.encode.io/httpx/async/).
        
        The [Developer Interface](https://www.encode.io/httpx/api/) provides a comprehensive API reference.
        
        ## Contribute
        
        If you want to contribute with HTTPX check out the [Contributing Guide](https://www.encode.io/httpx/contributing/) to learn how to start.
        
        ## Dependencies
        
        The httpx project relies on these excellent libraries:
        
        * `h2` - HTTP/2 support.
        * `h11` - HTTP/1.1 support.
        * `certifi` - SSL certificates.
        * `chardet` - Fallback auto-detection for response encoding.
        * `idna` - Internationalized domain name support.
        * `rfc3986` - URL parsing & normalization.
        * `brotlipy` - Decoding for "brotli" compressed responses. *(Optional)*
        
        A huge amount of credit is due to `requests` for the API layout that
        much of this work follows, as well as to `urllib3` for plenty of design
        inspiration around the lower level networking details.
        
        <p align="center">&mdash; ⭐️ &mdash;</p>
        <p align="center"><i>HTTPX is <a href="https://github.com/encode/httpx/blob/master/LICENSE.md">BSD licensed</a> code. Designed & built in Brighton, England.</i></p>
        
        
        # Changelog
        
        ## 0.7.0 (August 17, 2019)
        
        - Add the `trust_env` property to `BaseClient`. (Pull #187)
        - Add the `links` property to `BaseResponse`. (Pull #211)
        - Accept `ssl.SSLContext` instances into `SSLConfig(verify=...)`. (Pull #215)
        - Add `Response.stream_text()` with incremental encoding detection. (Pull #183)
        - Properly updated the `Host` header when a redirect changes the origin. (Pull #199)
        - Ignore invalid `Content-Encoding` headers. (Pull #196)
        - Use `~/.netrc` and `~/_netrc` files by default when `trust_env=True`. (Pull #189)
        - Create exception base class `HTTPError` with `request` and `response` properties. (Pull #162)
        - Add HSTS preload list checking within `BaseClient` to upgrade HTTP URLs to HTTPS. (Pull #184)
        - Switch IDNA encoding from IDNA 2003 to IDNA 2008. (Pull #161)
        - Expose base classes for alternate concurrency backends. (Pull #178)
        - Improve Multipart parameter encoding. (Pull #167)
        - Add the `headers` proeprty to `BaseClient`. (Pull #159)
        - Add support for Google's `brotli` library. (Pull #156)
        - Remove deprecated TLS versions (TLSv1 and TLSv1.1) from default `SSLConfig`. (Pull #155)
        - Fix `URL.join(...)` to work similarly to RFC 3986 URL joining. (Pull #144)
        
        ## 0.6.8 (July 25, 2019)
        
        - Check for disconnections when searching for an available
          connection in `ConnectionPool.keepalive_connections` (Pull #145)
        - Allow string comparison for `URL` objects (Pull #139)
        - Add HTTP status codes 418 and 451 (Pull #135)
        - Add support for client certificate passwords (Pull #118)
        - Enable post-handshake client cert authentication for TLSv1.3 (Pull #118)
        - Disable using `commonName` for hostname checking for OpenSSL 1.1.0+ (Pull #118)
        - Detect encoding for `Response.json()` (Pull #116)
        
        ## 0.6.7 (July 8, 2019)
        
        - Check for connection aliveness on re-acquiry (Pull #111)
        
        ## 0.6.6 (July 3, 2019)
        
        - Improve `USER_AGENT` (Pull #110)
        - Add `Connection: keep-alive` by default to HTTP/1.1 connections. (Pull #110)
        
        ## 0.6.5 (June 27, 2019)
        
        - Include `Host` header by default. (Pull #109)
        - Improve HTTP protocol detection. (Pull #107)
        
        ## 0.6.4 (June 25, 2019)
        
        - Implement read and write timeouts (Pull #104)
        
        ## 0.6.3 (June 24, 2019)
        
        - Handle early connection closes (Pull #103)
        
        ## 0.6.2 (June 23, 2019)
        
        - Use urllib3's `DEFAULT_CIPHERS` for the `SSLConfig` object. (Pull #100)
        
        ## 0.6.1 (June 21, 2019)
        
        - Add support for setting a `base_url` on the `Client`.
        
        ## 0.6.0 (June 21, 2019)
        
        - Honor `local_flow_control_window` for HTTP/2 connections (Pull #98)
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
