{"name":"httpx","version":"0.28.1","summary":"The next generation HTTP client.","description":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.python-httpx.org/\"\u003e\u003cimg width=\"350\" height=\"208\" src=\"https://raw.githubusercontent.com/encode/httpx/master/docs/img/butterfly.png\" alt='HTTPX'\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eHTTPX\u003c/strong\u003e \u003cem\u003e- A next-generation HTTP client for Python.\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/encode/httpx/actions\"\u003e\n    \u003cimg src=\"https://github.com/encode/httpx/workflows/Test%20Suite/badge.svg\" alt=\"Test Suite\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/httpx/\"\u003e\n    \u003cimg src=\"https://badge.fury.io/py/httpx.svg\" alt=\"Package version\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\nHTTPX 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**.\n\n---\n\nInstall HTTPX using pip:\n\n```shell\n$ pip install httpx\n```\n\nNow, let's get started:\n\n```pycon\n\u003e\u003e\u003e import httpx\n\u003e\u003e\u003e r = httpx.get('https://www.example.org/')\n\u003e\u003e\u003e r\n\u003cResponse [200 OK]\u003e\n\u003e\u003e\u003e r.status_code\n200\n\u003e\u003e\u003e r.headers['content-type']\n'text/html; charset=UTF-8'\n\u003e\u003e\u003e r.text\n'\u003c!doctype html\u003e\\n\u003chtml\u003e\\n\u003chead\u003e\\n\u003ctitle\u003eExample Domain\u003c/title\u003e...'\n```\n\nOr, using the command-line client.\n\n```shell\n$ pip install 'httpx[cli]'  # The command line client is an optional dependency.\n```\n\nWhich now allows us to use HTTPX directly from the command-line...\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"700\" src=\"https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-help.png\" alt='httpx --help'\u003e\n\u003c/p\u003e\n\nSending a request...\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"700\" src=\"https://raw.githubusercontent.com/encode/httpx/master/docs/img/httpx-request.png\" alt='httpx http://httpbin.org/json'\u003e\n\u003c/p\u003e\n\n## Features\n\nHTTPX builds on the well-established usability of `requests`, and gives you:\n\n* A broadly [requests-compatible API](https://www.python-httpx.org/compatibility/).\n* An integrated command-line client.\n* HTTP/1.1 [and HTTP/2 support](https://www.python-httpx.org/http2/).\n* Standard synchronous interface, but with [async support if you need it](https://www.python-httpx.org/async/).\n* 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).\n* Strict timeouts everywhere.\n* Fully type annotated.\n* 100% test coverage.\n\nPlus all the standard features of `requests`...\n\n* International Domains and URLs\n* Keep-Alive \u0026 Connection Pooling\n* Sessions with Cookie Persistence\n* Browser-style SSL Verification\n* Basic/Digest Authentication\n* Elegant Key/Value Cookies\n* Automatic Decompression\n* Automatic Content Decoding\n* Unicode Response Bodies\n* Multipart File Uploads\n* HTTP(S) Proxy Support\n* Connection Timeouts\n* Streaming Downloads\n* .netrc Support\n* Chunked Requests\n\n## Installation\n\nInstall with pip:\n\n```shell\n$ pip install httpx\n```\n\nOr, to include the optional HTTP/2 support, use:\n\n```shell\n$ pip install httpx[http2]\n```\n\nHTTPX requires Python 3.8+.\n\n## Documentation\n\nProject documentation is available at [https://www.python-httpx.org/](https://www.python-httpx.org/).\n\nFor a run-through of all the basics, head over to the [QuickStart](https://www.python-httpx.org/quickstart/).\n\nFor 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.\n\nThe [Developer Interface](https://www.python-httpx.org/api/) provides a comprehensive API reference.\n\nTo find out about tools that integrate with HTTPX, see [Third Party Packages](https://www.python-httpx.org/third_party_packages/).\n\n## Contribute\n\nIf you want to contribute with HTTPX check out the [Contributing Guide](https://www.python-httpx.org/contributing/) to learn how to start.\n\n## Dependencies\n\nThe HTTPX project relies on these excellent libraries:\n\n* `httpcore` - The underlying transport implementation for `httpx`.\n  * `h11` - HTTP/1.1 support.\n* `certifi` - SSL certificates.\n* `idna` - Internationalized domain name support.\n* `sniffio` - Async library autodetection.\n\nAs well as these optional installs:\n\n* `h2` - HTTP/2 support. *(Optional, with `httpx[http2]`)*\n* `socksio` - SOCKS proxy support. *(Optional, with `httpx[socks]`)*\n* `rich` - Rich terminal support. *(Optional, with `httpx[cli]`)*\n* `click` - Command line client support. *(Optional, with `httpx[cli]`)*\n* `brotli` or `brotlicffi` - Decoding for \"brotli\" compressed responses. *(Optional, with `httpx[brotli]`)*\n* `zstandard` - Decoding for \"zstd\" compressed responses. *(Optional, with `httpx[zstd]`)*\n\nA huge amount of credit is due to `requests` for the API layout that\nmuch of this work follows, as well as to `urllib3` for plenty of design\ninspiration around the lower-level networking details.\n\n---\n\n\u003cp align=\"center\"\u003e\u003ci\u003eHTTPX is \u003ca href=\"https://github.com/encode/httpx/blob/master/LICENSE.md\"\u003eBSD licensed\u003c/a\u003e code.\u003cbr/\u003eDesigned \u0026 crafted with care.\u003c/i\u003e\u003cbr/\u003e\u0026mdash; 🦋 \u0026mdash;\u003c/p\u003e\n\n## Release Information\n\n### Fixed\n\n* Reintroduced supposedly-private `URLTypes` shortcut. (#2673)\n\n\n---\n\n[Full changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)\n","description_content_type":"text/markdown","description_html":"\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eHTTPX is a fully featured HTTP client library for Python 3. It includes \u003cstrong\u003ean integrated command line client\u003c/strong\u003e, has support for both \u003cstrong\u003eHTTP/1.1 and HTTP/2\u003c/strong\u003e, and provides both \u003cstrong\u003esync and async APIs\u003c/strong\u003e.\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eInstall HTTPX using pip:\u003c/p\u003e\n\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;\"\u003e\u003ccode\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e$ pip install httpx\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eNow, let's get started:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-pycon\"\u003e\u0026gt;\u0026gt;\u0026gt; import httpx\n\u0026gt;\u0026gt;\u0026gt; r = httpx.get('https://www.example.org/')\n\u0026gt;\u0026gt;\u0026gt; r\n\u0026lt;Response [200 OK]\u0026gt;\n\u0026gt;\u0026gt;\u0026gt; r.status_code\n200\n\u0026gt;\u0026gt;\u0026gt; r.headers['content-type']\n'text/html; charset=UTF-8'\n\u0026gt;\u0026gt;\u0026gt; r.text\n'\u0026lt;!doctype html\u0026gt;\\n\u0026lt;html\u0026gt;\\n\u0026lt;head\u0026gt;\\n\u0026lt;title\u0026gt;Example Domain\u0026lt;/title\u0026gt;...'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr, using the command-line client.\u003c/p\u003e\n\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;\"\u003e\u003ccode\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e$ pip install \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;httpx[cli]\u0026#39;\u003c/span\u003e  \u003cspan style=\"color:#75715e\"\u003e# The command line client is an optional dependency.\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eWhich now allows us to use HTTPX directly from the command-line...\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eSending a request...\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cp\u003eHTTPX builds on the well-established usability of \u003ccode\u003erequests\u003c/code\u003e, and gives you:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA broadly \u003ca href=\"https://www.python-httpx.org/compatibility/\"\u003erequests-compatible API\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAn integrated command-line client.\u003c/li\u003e\n\u003cli\u003eHTTP/1.1 \u003ca href=\"https://www.python-httpx.org/http2/\"\u003eand HTTP/2 support\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eStandard synchronous interface, but with \u003ca href=\"https://www.python-httpx.org/async/\"\u003easync support if you need it\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAbility to make requests directly to \u003ca href=\"https://www.python-httpx.org/advanced/transports/#wsgi-transport\"\u003eWSGI applications\u003c/a\u003e or \u003ca href=\"https://www.python-httpx.org/advanced/transports/#asgi-transport\"\u003eASGI applications\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eStrict timeouts everywhere.\u003c/li\u003e\n\u003cli\u003eFully type annotated.\u003c/li\u003e\n\u003cli\u003e100% test coverage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlus all the standard features of \u003ccode\u003erequests\u003c/code\u003e...\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInternational Domains and URLs\u003c/li\u003e\n\u003cli\u003eKeep-Alive \u0026amp; Connection Pooling\u003c/li\u003e\n\u003cli\u003eSessions with Cookie Persistence\u003c/li\u003e\n\u003cli\u003eBrowser-style SSL Verification\u003c/li\u003e\n\u003cli\u003eBasic/Digest Authentication\u003c/li\u003e\n\u003cli\u003eElegant Key/Value Cookies\u003c/li\u003e\n\u003cli\u003eAutomatic Decompression\u003c/li\u003e\n\u003cli\u003eAutomatic Content Decoding\u003c/li\u003e\n\u003cli\u003eUnicode Response Bodies\u003c/li\u003e\n\u003cli\u003eMultipart File Uploads\u003c/li\u003e\n\u003cli\u003eHTTP(S) Proxy Support\u003c/li\u003e\n\u003cli\u003eConnection Timeouts\u003c/li\u003e\n\u003cli\u003eStreaming Downloads\u003c/li\u003e\n\u003cli\u003e.netrc Support\u003c/li\u003e\n\u003cli\u003eChunked Requests\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstallation\u003c/h2\u003e\n\u003cp\u003eInstall with pip:\u003c/p\u003e\n\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;\"\u003e\u003ccode\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e$ pip install httpx\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eOr, to include the optional HTTP/2 support, use:\u003c/p\u003e\n\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;\"\u003e\u003ccode\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e$ pip install httpx\u003cspan style=\"color:#f92672\"\u003e[\u003c/span\u003ehttp2\u003cspan style=\"color:#f92672\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eHTTPX requires Python 3.8+.\u003c/p\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cp\u003eProject documentation is available at \u003ca href=\"https://www.python-httpx.org/\"\u003ehttps://www.python-httpx.org/\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor a run-through of all the basics, head over to the \u003ca href=\"https://www.python-httpx.org/quickstart/\"\u003eQuickStart\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor more advanced topics, see the \u003ca href=\"https://www.python-httpx.org/advanced/\"\u003eAdvanced Usage\u003c/a\u003e section, the \u003ca href=\"https://www.python-httpx.org/async/\"\u003easync support\u003c/a\u003e section, or the \u003ca href=\"https://www.python-httpx.org/http2/\"\u003eHTTP/2\u003c/a\u003e section.\u003c/p\u003e\n\u003cp\u003eThe \u003ca href=\"https://www.python-httpx.org/api/\"\u003eDeveloper Interface\u003c/a\u003e provides a comprehensive API reference.\u003c/p\u003e\n\u003cp\u003eTo find out about tools that integrate with HTTPX, see \u003ca href=\"https://www.python-httpx.org/third_party_packages/\"\u003eThird Party Packages\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eContribute\u003c/h2\u003e\n\u003cp\u003eIf you want to contribute with HTTPX check out the \u003ca href=\"https://www.python-httpx.org/contributing/\"\u003eContributing Guide\u003c/a\u003e to learn how to start.\u003c/p\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cp\u003eThe HTTPX project relies on these excellent libraries:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ehttpcore\u003c/code\u003e - The underlying transport implementation for \u003ccode\u003ehttpx\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eh11\u003c/code\u003e - HTTP/1.1 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecertifi\u003c/code\u003e - SSL certificates.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eidna\u003c/code\u003e - Internationalized domain name support.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esniffio\u003c/code\u003e - Async library autodetection.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAs well as these optional installs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eh2\u003c/code\u003e - HTTP/2 support. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[http2]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esocksio\u003c/code\u003e - SOCKS proxy support. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[socks]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erich\u003c/code\u003e - Rich terminal support. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[cli]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclick\u003c/code\u003e - Command line client support. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[cli]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e or \u003ccode\u003ebrotlicffi\u003c/code\u003e - Decoding for \u0026quot;brotli\u0026quot; compressed responses. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[brotli]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ezstandard\u003c/code\u003e - Decoding for \u0026quot;zstd\u0026quot; compressed responses. \u003cem\u003e(Optional, with \u003ccode\u003ehttpx[zstd]\u003c/code\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA huge amount of credit is due to \u003ccode\u003erequests\u003c/code\u003e for the API layout that\nmuch of this work follows, as well as to \u003ccode\u003eurllib3\u003c/code\u003e for plenty of design\ninspiration around the lower-level networking details.\u003c/p\u003e\n\u003chr\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eRelease Information\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (#2673)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/encode/httpx/blob/master/CHANGELOG.md\"\u003eFull changelog\u003c/a\u003e\u003c/p\u003e\n","license":"BSD License","author":"","author_email":"Tom Christie \u003ctom@tomchristie.com\u003e","home_page":"","requires_python":"\u003e=3.8","requires_dist":["anyio","certifi","httpcore==1.*","idna","brotli; platform_python_implementation == \"CPython\" and extra == \"brotli\"","brotlicffi; platform_python_implementation != \"CPython\" and extra == \"brotli\"","click==8.*; extra == \"cli\"","pygments==2.*; extra == \"cli\"","rich\u003c14,\u003e=10; extra == \"cli\"","h2\u003c5,\u003e=3; extra == \"http2\"","socksio==1.*; extra == \"socks\"","zstandard\u003e=0.18.0; extra == \"zstd\""],"project_urls":{"Changelog":"https://github.com/encode/httpx/blob/master/CHANGELOG.md","Documentation":"https://www.python-httpx.org","Homepage":"https://github.com/encode/httpx","Source":"https://github.com/encode/httpx"},"classifiers":["Development Status :: 4 - Beta","Environment :: Web Environment","Framework :: AsyncIO","Framework :: Trio","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Internet :: WWW/HTTP"],"latest_files":[{"filename":"httpx-0.28.1-py3-none-any.whl","size":73517,"package_type":"bdist_wheel","python_version":"py3","upload_time":"2024-12-06T15:37:21.509172Z"},{"filename":"httpx-0.28.1.tar.gz","size":141406,"package_type":"sdist","python_version":"source","upload_time":"2024-12-06T15:37:23.222462Z"}],"install_size":73517,"module_format":"py3-none-any","python_versions":{"constraint":"\u003e=3.8","min_version":"3.8"},"dependencies":{"required":[{"name":"anyio","constraint":""},{"name":"certifi","constraint":""},{"name":"httpcore","constraint":"==1.*"},{"name":"idna","constraint":""}],"extras":{"brotli":[{"name":"brotli","constraint":""},{"name":"brotlicffi","constraint":""}],"cli":[{"name":"click","constraint":"==8.*"},{"name":"pygments","constraint":"==2.*"},{"name":"rich","constraint":"\u003c14,\u003e=10"}],"http2":[{"name":"h2","constraint":"\u003c5,\u003e=3"}],"socks":[{"name":"socksio","constraint":"==1.*"}],"zstd":[{"name":"zstandard","constraint":"\u003e=0.18.0"}]}},"platform_coverage":{"pure_python":true,"linux_x86_64":false,"linux_arm64":false,"macos_x86_64":false,"macos_arm64":false,"windows_x86_64":false,"musl":false},"release_cadence":{"releases_last_12mo":1,"avg_days_between_releases":31.3,"last_released_at":"2025-09-15T16:15:10Z","quarterly_counts":[{"quarter":"2024 Q3","count":2},{"quarter":"2024 Q4","count":2},{"quarter":"2025 Q1","count":0},{"quarter":"2025 Q2","count":0},{"quarter":"2025 Q3","count":3},{"quarter":"2025 Q4","count":0},{"quarter":"2026 Q1","count":0},{"quarter":"2026 Q2","count":0},{"quarter":"2026 Q3","count":0}]},"maintainers":[{"name":"Tom Christie","email":"tom@tomchristie.com"}],"doc_url":"https://www.python-httpx.org"}