METADATA 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. Metadata-Version: 2.3
  2. Name: httpx
  3. Version: 0.28.1
  4. Summary: The next generation HTTP client.
  5. Project-URL: Changelog, https://github.com/encode/httpx/blob/master/CHANGELOG.md
  6. Project-URL: Documentation, https://www.python-httpx.org
  7. Project-URL: Homepage, https://github.com/encode/httpx
  8. Project-URL: Source, https://github.com/encode/httpx
  9. Author-email: Tom Christie <tom@tomchristie.com>
  10. License: BSD-3-Clause
  11. Classifier: Development Status :: 4 - Beta
  12. Classifier: Environment :: Web Environment
  13. Classifier: Framework :: AsyncIO
  14. Classifier: Framework :: Trio
  15. Classifier: Intended Audience :: Developers
  16. Classifier: License :: OSI Approved :: BSD License
  17. Classifier: Operating System :: OS Independent
  18. Classifier: Programming Language :: Python :: 3
  19. Classifier: Programming Language :: Python :: 3 :: Only
  20. Classifier: Programming Language :: Python :: 3.8
  21. Classifier: Programming Language :: Python :: 3.9
  22. Classifier: Programming Language :: Python :: 3.10
  23. Classifier: Programming Language :: Python :: 3.11
  24. Classifier: Programming Language :: Python :: 3.12
  25. Classifier: Topic :: Internet :: WWW/HTTP
  26. Requires-Python: >=3.8
  27. Requires-Dist: anyio
  28. Requires-Dist: certifi
  29. Requires-Dist: httpcore==1.*
  30. Requires-Dist: idna
  31. Provides-Extra: brotli
  32. Requires-Dist: brotli; (platform_python_implementation == 'CPython') and extra == 'brotli'
  33. Requires-Dist: brotlicffi; (platform_python_implementation != 'CPython') and extra == 'brotli'
  34. Provides-Extra: cli
  35. Requires-Dist: click==8.*; extra == 'cli'
  36. Requires-Dist: pygments==2.*; extra == 'cli'
  37. Requires-Dist: rich<14,>=10; extra == 'cli'
  38. Provides-Extra: http2
  39. Requires-Dist: h2<5,>=3; extra == 'http2'
  40. Provides-Extra: socks
  41. Requires-Dist: socksio==1.*; extra == 'socks'
  42. Provides-Extra: zstd
  43. Requires-Dist: zstandard>=0.18.0; extra == 'zstd'
  44. Description-Content-Type: text/markdown
  45. <p align="center">
  46. <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>
  47. </p>
  48. <p align="center"><strong>HTTPX</strong> <em>- A next-generation HTTP client for Python.</em></p>
  49. <p align="center">
  50. <a href="https://github.com/encode/httpx/actions">
  51. <img src="https://github.com/encode/httpx/workflows/Test%20Suite/badge.svg" alt="Test Suite">
  52. </a>
  53. <a href="https://pypi.org/project/httpx/">
  54. <img src="https://badge.fury.io/py/httpx.svg" alt="Package version">
  55. </a>
  56. </p>
  57. 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**.
  58. ---
  59. Install HTTPX using pip:
  60. ```shell
  61. $ pip install httpx
  62. ```
  63. Now, let's get started:
  64. ```pycon
  65. >>> import httpx
  66. >>> r = httpx.get('https://www.example.org/')
  67. >>> r
  68. <Response [200 OK]>
  69. >>> r.status_code
  70. 200
  71. >>> r.headers['content-type']
  72. 'text/html; charset=UTF-8'
  73. >>> r.text
  74. '<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
  75. ```
  76. Or, using the command-line client.
  77. ```shell
  78. $ pip install 'httpx[cli]' # The command line client is an optional dependency.
  79. ```
  80. Which now allows us to use HTTPX directly from the command-line...
  81. <p align="center">
  82. <img width="700" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-help.png" alt='httpx --help'>
  83. </p>
  84. Sending a request...
  85. <p align="center">
  86. <img width="700" src="https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-request.png" alt='httpx http://httpbin.org/json'>
  87. </p>
  88. ## Features
  89. HTTPX builds on the well-established usability of `requests`, and gives you:
  90. * A broadly [requests-compatible API](https://www.python-httpx.org/compatibility/).
  91. * An integrated command-line client.
  92. * HTTP/1.1 [and HTTP/2 support](https://www.python-httpx.org/http2/).
  93. * Standard synchronous interface, but with [async support if you need it](https://www.python-httpx.org/async/).
  94. * 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).
  95. * Strict timeouts everywhere.
  96. * Fully type annotated.
  97. * 100% test coverage.
  98. Plus all the standard features of `requests`...
  99. * International Domains and URLs
  100. * Keep-Alive & Connection Pooling
  101. * Sessions with Cookie Persistence
  102. * Browser-style SSL Verification
  103. * Basic/Digest Authentication
  104. * Elegant Key/Value Cookies
  105. * Automatic Decompression
  106. * Automatic Content Decoding
  107. * Unicode Response Bodies
  108. * Multipart File Uploads
  109. * HTTP(S) Proxy Support
  110. * Connection Timeouts
  111. * Streaming Downloads
  112. * .netrc Support
  113. * Chunked Requests
  114. ## Installation
  115. Install with pip:
  116. ```shell
  117. $ pip install httpx
  118. ```
  119. Or, to include the optional HTTP/2 support, use:
  120. ```shell
  121. $ pip install httpx[http2]
  122. ```
  123. HTTPX requires Python 3.8+.
  124. ## Documentation
  125. Project documentation is available at [https://www.python-httpx.org/](https://www.python-httpx.org/).
  126. For a run-through of all the basics, head over to the [QuickStart](https://www.python-httpx.org/quickstart/).
  127. 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.
  128. The [Developer Interface](https://www.python-httpx.org/api/) provides a comprehensive API reference.
  129. To find out about tools that integrate with HTTPX, see [Third Party Packages](https://www.python-httpx.org/third_party_packages/).
  130. ## Contribute
  131. If you want to contribute with HTTPX check out the [Contributing Guide](https://www.python-httpx.org/contributing/) to learn how to start.
  132. ## Dependencies
  133. The HTTPX project relies on these excellent libraries:
  134. * `httpcore` - The underlying transport implementation for `httpx`.
  135. * `h11` - HTTP/1.1 support.
  136. * `certifi` - SSL certificates.
  137. * `idna` - Internationalized domain name support.
  138. * `sniffio` - Async library autodetection.
  139. As well as these optional installs:
  140. * `h2` - HTTP/2 support. *(Optional, with `httpx[http2]`)*
  141. * `socksio` - SOCKS proxy support. *(Optional, with `httpx[socks]`)*
  142. * `rich` - Rich terminal support. *(Optional, with `httpx[cli]`)*
  143. * `click` - Command line client support. *(Optional, with `httpx[cli]`)*
  144. * `brotli` or `brotlicffi` - Decoding for "brotli" compressed responses. *(Optional, with `httpx[brotli]`)*
  145. * `zstandard` - Decoding for "zstd" compressed responses. *(Optional, with `httpx[zstd]`)*
  146. A huge amount of credit is due to `requests` for the API layout that
  147. much of this work follows, as well as to `urllib3` for plenty of design
  148. inspiration around the lower-level networking details.
  149. ---
  150. <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/>&mdash; 🦋 &mdash;</p>
  151. ## Release Information
  152. ### Fixed
  153. * Reintroduced supposedly-private `URLTypes` shortcut. (#2673)
  154. ---
  155. [Full changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)