| | Metadata-Version: 2.3 |
| | Name: httpx |
| | Version: 0.28.1 |
| | Summary: The next generation HTTP client. |
| | Project-URL: Changelog, https://github.com/encode/httpx/blob/master/CHANGELOG.md |
| | Project-URL: Documentation, https://www.python-httpx.org |
| | Project-URL: Homepage, https://github.com/encode/httpx |
| | Project-URL: Source, https://github.com/encode/httpx |
| | Author-email: Tom Christie <tom@tomchristie.com> |
| | License: BSD-3-Clause |
| | Classifier: Development Status :: 4 - Beta |
| | Classifier: Environment :: Web Environment |
| | Classifier: Framework :: AsyncIO |
| | Classifier: Framework :: Trio |
| | Classifier: Intended Audience :: Developers |
| | Classifier: License :: OSI Approved :: BSD License |
| | Classifier: Operating System :: OS Independent |
| | Classifier: Programming Language :: Python :: 3 |
| | Classifier: Programming Language :: Python :: 3 :: Only |
| | Classifier: Programming Language :: Python :: 3.8 |
| | Classifier: Programming Language :: Python :: 3.9 |
| | Classifier: Programming Language :: Python :: 3.10 |
| | Classifier: Programming Language :: Python :: 3.11 |
| | Classifier: Programming Language :: Python :: 3.12 |
| | Classifier: Topic :: Internet :: WWW/HTTP |
| | Requires-Python: >=3.8 |
| | Requires-Dist: anyio |
| | Requires-Dist: certifi |
| | Requires-Dist: httpcore==1.* |
| | Requires-Dist: idna |
| | Provides-Extra: brotli |
| | Requires-Dist: brotli; (platform_python_implementation == 'CPython') and extra == 'brotli' |
| | Requires-Dist: brotlicffi; (platform_python_implementation != 'CPython') and extra == 'brotli' |
| | Provides-Extra: cli |
| | Requires-Dist: click==8.*; extra == 'cli' |
| | Requires-Dist: pygments==2.*; extra == 'cli' |
| | Requires-Dist: rich<14,>=10; extra == 'cli' |
| | Provides-Extra: http2 |
| | Requires-Dist: h2<5,>=3; extra == 'http2' |
| | Provides-Extra: socks |
| | Requires-Dist: socksio==1.*; extra == 'socks' |
| | Provides-Extra: zstd |
| | Requires-Dist: zstandard>=0.18.0; extra == 'zstd' |
| | Description-Content-Type: text/markdown |
| |
|
| | <p align="center"> |
| | <a href="https://www.python-httpx.org/"><img width="350" height="208" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/butterfly.png" 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://github.com/encode/httpx/actions"> |
| | <img src="https://github.com/encode/httpx/workflows/Test%20Suite/badge.svg" alt="Test Suite"> |
| | </a> |
| | <a href="https://pypi.org/project/httpx/"> |
| | <img src="https://badge.fury.io/py/httpx.svg" alt="Package version"> |
| | </a> |
| | </p> |
| |
|
| | HTTPX is a fully featured HTTP client library for Python 3. It includes **an integrated command line client**, has support for both **HTTP/1.1 and HTTP/2**, and provides both **sync and async APIs**. |
| |
|
| | --- |
| |
|
| | Install HTTPX using pip: |
| |
|
| | ```shell |
| | $ pip install httpx |
| | ``` |
| |
|
| | Now, let's get started: |
| |
|
| | ```pycon |
| | >>> import httpx |
| | >>> r = httpx.get('https://www.example.org/') |
| | >>> r |
| | <Response [200 OK]> |
| | >>> r.status_code |
| | 200 |
| | >>> r.headers['content-type'] |
| | 'text/html; charset=UTF-8' |
| | >>> r.text |
| | '<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...' |
| | ``` |
| |
|
| | Or, using the command-line client. |
| |
|
| | ```shell |
| | $ pip install 'httpx[cli]' |
| | ``` |
| |
|
| | Which now allows us to use HTTPX directly from the command-line... |
| |
|
| | <p align="center"> |
| | <img width="700" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-help.png" alt='httpx --help'> |
| | </p> |
| |
|
| | Sending a request... |
| |
|
| | <p align="center"> |
| | <img width="700" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-request.png" alt='httpx http://httpbin.org/json'> |
| | </p> |
| |
|
| | |
| |
|
| | HTTPX builds on the well-established usability of `requests`, and gives you: |
| |
|
| | * A broadly [requests-compatible API](https://www.python-httpx.org/compatibility/). |
| | * An integrated command-line client. |
| | * HTTP/1.1 [and HTTP/2 support](https://www.python-httpx.org/http2/). |
| | * Standard synchronous interface, but with [async support if you need it](https://www.python-httpx.org/async/). |
| | * Ability to make requests directly to [WSGI applications](https://www.python-httpx.org/advanced/transports/ |
| | * 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 |
| | * Elegant Key/Value Cookies |
| | * Automatic Decompression |
| | * Automatic Content Decoding |
| | * Unicode Response Bodies |
| | * Multipart File Uploads |
| | * HTTP(S) Proxy Support |
| | * Connection Timeouts |
| | * Streaming Downloads |
| | * .netrc Support |
| | * Chunked Requests |
| |
|
| | |
| |
|
| | Install with pip: |
| |
|
| | ```shell |
| | $ pip install httpx |
| | ``` |
| |
|
| | Or, to include the optional HTTP/2 support, use: |
| |
|
| | ```shell |
| | $ pip install httpx[http2] |
| | ``` |
| |
|
| | HTTPX requires Python 3.8+. |
| |
|
| | |
| |
|
| | Project documentation is available at [https://www.python-httpx.org/](https://www.python-httpx.org/). |
| |
|
| | For a run-through of all the basics, head over to the [QuickStart](https://www.python-httpx.org/quickstart/). |
| |
|
| | For more advanced topics, see the [Advanced Usage](https://www.python-httpx.org/advanced/) section, the [async support](https://www.python-httpx.org/async/) section, or the [HTTP/2](https://www.python-httpx.org/http2/) section. |
| |
|
| | The [Developer Interface](https://www.python-httpx.org/api/) provides a comprehensive API reference. |
| |
|
| | To find out about tools that integrate with HTTPX, see [Third Party Packages](https://www.python-httpx.org/third_party_packages/). |
| |
|
| | |
| |
|
| | If you want to contribute with HTTPX check out the [Contributing Guide](https://www.python-httpx.org/contributing/) to learn how to start. |
| |
|
| | |
| |
|
| | The HTTPX project relies on these excellent libraries: |
| |
|
| | * `httpcore` - The underlying transport implementation for `httpx`. |
| | * `h11` - HTTP/1.1 support. |
| | * `certifi` - SSL certificates. |
| | * `idna` - Internationalized domain name support. |
| | * `sniffio` - Async library autodetection. |
| |
|
| | As well as these optional installs: |
| |
|
| | * `h2` - HTTP/2 support. *(Optional, with `httpx[http2]`)* |
| | * `socksio` - SOCKS proxy support. *(Optional, with `httpx[socks]`)* |
| | * `rich` - Rich terminal support. *(Optional, with `httpx[cli]`)* |
| | * `click` - Command line client support. *(Optional, with `httpx[cli]`)* |
| | * `brotli` or `brotlicffi` - Decoding for "brotli" compressed responses. *(Optional, with `httpx[brotli]`)* |
| | * `zstandard` - Decoding for "zstd" compressed responses. *(Optional, with `httpx[zstd]`)* |
| |
|
| | 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"><i>HTTPX is <a href="https://github.com/encode/httpx/blob/master/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i><br/>— 🦋 —</p> |
| |
|
| | |
| |
|
| | |
| |
|
| | * Reintroduced supposedly-private `URLTypes` shortcut. ( |
| |
|
| |
|
| | --- |
| |
|
| | [Full changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md) |
| |
|