204 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
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]'  # The command line client is an optional dependency.
 | 
						|
```
 | 
						|
 | 
						|
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>
 | 
						|
 | 
						|
## Features
 | 
						|
 | 
						|
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/#wsgi-transport) or [ASGI applications](https://www.python-httpx.org/advanced/transports/#asgi-transport).
 | 
						|
* 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
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
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+.
 | 
						|
 | 
						|
## Documentation
 | 
						|
 | 
						|
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/).
 | 
						|
 | 
						|
## Contribute
 | 
						|
 | 
						|
If you want to contribute with HTTPX check out the [Contributing Guide](https://www.python-httpx.org/contributing/) to learn how to start.
 | 
						|
 | 
						|
## Dependencies
 | 
						|
 | 
						|
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>
 | 
						|
 | 
						|
## Release Information
 | 
						|
 | 
						|
### Fixed
 | 
						|
 | 
						|
* Reintroduced supposedly-private `URLTypes` shortcut. (#2673)
 | 
						|
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
[Full changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
 |