# httpx **Repository Path**: glc_opensource/httpx ## Basic Information - **Project Name**: httpx - **Description**: A next generation HTTP client for Python. 🦋 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-12 - **Last Updated**: 2024-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

HTTPX

HTTPX - A next-generation HTTP client for Python.

Build Status Coverage Package version

**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 >>> r.status_code 200 >>> r.http_version 'HTTP/1.1' >>> r.headers['content-type'] 'text/html; charset=UTF-8' >>> r.text '\n\n\nExample Domain...' ``` ## 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.

— ⭐️ —

HTTPX is BSD licensed code. Designed & built in Brighton, England.