{ "info": { "author": "Tom Christie", "author_email": "tom@tomchristie.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Internet :: WWW/HTTP" ], "description": "# HTTP3\n\n\n \"Build\n\n\n \"Coverage\"\n\n\n \"Package\n\n\nHTTP3 is a next-generation HTTP client for Python 3.\n\n**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.*\n\n---\n\nLet's get started...\n\n```python\n>>> import http3\n>>> r = http3.get('https://www.example.org/')\n>>> r\n\n>>> r.status_code\n200\n>>> r.protocol\n'HTTP/2'\n>>> r.headers['content-type']\n'text/html; charset=UTF-8'\n>>> r.text\n'\\n\\n\\nExample Domain...'\n```\n\n## Features\n\nHTTP3 builds on the well-established usability of `requests`, and gives you:\n\n* A requests-compatible API.\n* HTTP/2 and HTTP/1.1 support.\n* Support for [issuing HTTP requests in parallel](https://www.encode.io/http3/parallel/). *(Coming soon)*\n* Standard synchronous interface, but [with `async`/`await` support if you need it](https://www.encode.io/http3/async/).\n* Ability to [make requests directly to WSGI or ASGI applications](https://www.encode.io/http3/advanced/#calling-into-python-web-apps).\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 & Connection Pooling\n* Sessions with Cookie Persistence\n* Browser-style SSL Verification\n* Basic/Digest Authentication *(Digest is still TODO)*\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 *(TODO)*\n* Connection Timeouts\n* Streaming Downloads\n* .netrc Support *(TODO)*\n* Chunked Requests\n\n## Installation\n\nInstall with pip:\n\n```shell\n$ pip install http3\n```\n\nHTTP3 requires Python 3.6+\n\n## Documentation\n\nProject documentation is available at [www.encode.io/http3/](https://www.encode.io/http3/).\n\nFor a run-through of all the basics, head over to the [QuickStart](https://www.encode.io/http3/quickstart/).\n\nFor more advanced topics, see the [Advanced Usage](https://www.encode.io/http3/advanced/) section, or\nthe specific topics on making [Parallel Requests](https://www.encode.io/http3/parallel/) or using the\n[Async Client](https://www.encode.io/http3/async/).\n\nThe [Developer Interface](https://www.encode.io/http3/api/) provides a comprehensive API reference.\n\n## Dependencies\n\nThe HTTP3 project relies on these excellent libraries:\n\n* `h2` - HTTP/2 support.\n* `h11` - HTTP/1.1 support.\n* `certifi` - SSL certificates.\n* `chardet` - Fallback auto-detection for response encoding.\n* `idna` - Internationalized domain name support.\n* `rfc3986` - URL parsing & normalization.\n* `brotlipy` - Decoding for \"brotli\" compressed responses. *(Optional)*\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

— \u2b50\ufe0f —

\n

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

", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/encode/http3", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "http3", "package_url": "https://pypi.org/project/http3/", "platform": "", "project_url": "https://pypi.org/project/http3/", "project_urls": { "Homepage": "https://github.com/encode/http3" }, "release_url": "https://pypi.org/project/http3/0.6.7/", "requires_dist": null, "requires_python": ">=3.6", "summary": "The next generation HTTP client.", "version": "0.6.7" }, "last_serial": 5501544, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b8677bc77a4060c453b4036474e515e2", "sha256": "3642c29681295a2bc99c25ad8c6aded9866c1ec52d26b9b4ef149858d1886419" }, "downloads": -1, "filename": "http3-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b8677bc77a4060c453b4036474e515e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31041, "upload_time": "2019-06-10T18:17:09", "url": "https://files.pythonhosted.org/packages/b2/c7/218101ab63ac80c675928c8edfa3d65181abd51f79225f33f35621babfda/http3-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "39689ffe3f9decc8c16a50a5624f0eb9", "sha256": "72a298b3b56a622df7ddf8f83916ff653e735c032d38ef935388be9c9def59b0" }, "downloads": -1, "filename": "http3-0.1.0.tar.gz", "has_sig": false, "md5_digest": "39689ffe3f9decc8c16a50a5624f0eb9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 30012, "upload_time": "2019-06-17T13:53:02", "url": "https://files.pythonhosted.org/packages/35/77/4c0d1533290e8336cb05e4bc1a6d99b7b05e6172958e830ca53f7b27ccb3/http3-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9f8a775ecc7f3380751623afd73b822d", "sha256": "1e8b0683530e06dd6ad847128781acc1b64361f6c1151050e02f0e995c48ed07" }, "downloads": -1, "filename": "http3-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9f8a775ecc7f3380751623afd73b822d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 29954, "upload_time": "2019-06-17T15:56:13", "url": "https://files.pythonhosted.org/packages/30/e7/c8e93d8633a25e74f3b4ebc5e9851edd1d307fa6414d32efddef65baed2f/http3-0.1.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "b5815382e8ab3f707d8773cd1f8ec8f4", "sha256": "1cf962e9f8790d2de8b39374a420b33e688d5f36930aeb3962415d3a7e3088b9" }, "downloads": -1, "filename": "http3-0.5.0.tar.gz", "has_sig": false, "md5_digest": "b5815382e8ab3f707d8773cd1f8ec8f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32574, "upload_time": "2019-06-18T14:54:49", "url": "https://files.pythonhosted.org/packages/0a/7a/85a1c62169ff84f449ede22e4df204ce74f72188097343efde0db3c627c4/http3-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f664f706e5e4bc77b0ca75012a17da2c", "sha256": "911b1cab5886a7e0f44490283365e954a0e27e9de5f7f7d4c18e26983f5f18f3" }, "downloads": -1, "filename": "http3-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f664f706e5e4bc77b0ca75012a17da2c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32765, "upload_time": "2019-06-21T12:50:45", "url": "https://files.pythonhosted.org/packages/d7/d3/0ada0c4abc5a96c386ff69b2f14fce3fa988f03f4f7794a11f968bcd4191/http3-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "d7398ce196ab6ba3825cf0d04336250b", "sha256": "a09b612a34a62bdc0080d06f8cf06ef9c5fbb78f2d39d7cf8146da4ef5df3aa0" }, "downloads": -1, "filename": "http3-0.6.1.tar.gz", "has_sig": false, "md5_digest": "d7398ce196ab6ba3825cf0d04336250b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32850, "upload_time": "2019-06-21T15:46:02", "url": "https://files.pythonhosted.org/packages/b1/aa/69369afbb479b51d93ed9d9a8c34753cd9bdaf0bc523d51c66f7acc7728b/http3-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "b7a725cb66a9ed2ca95adb5515d3ae57", "sha256": "2cc7728e9136f2013514bdfd0330662280eb1222e7389c974c0ab27c1f889999" }, "downloads": -1, "filename": "http3-0.6.2.tar.gz", "has_sig": false, "md5_digest": "b7a725cb66a9ed2ca95adb5515d3ae57", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32765, "upload_time": "2019-06-23T10:24:53", "url": "https://files.pythonhosted.org/packages/f7/ba/5642d9ab438d33aa50588fda80d9ac591f4b95125ae1895f4ccf6ba712cb/http3-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "8cc3e72c9ff1f48467782963ddb46ec1", "sha256": "7bfd27419296e66a5d5eb3d0792973a1fa121abe84b219fb93cb4f05c2847d39" }, "downloads": -1, "filename": "http3-0.6.3.tar.gz", "has_sig": false, "md5_digest": "8cc3e72c9ff1f48467782963ddb46ec1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33713, "upload_time": "2019-06-24T15:54:28", "url": "https://files.pythonhosted.org/packages/0b/39/740d53fa1a5c7344cfdc3100c69097d233c1f8b541f9604034283a4a105f/http3-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "7428c4884b0960cc0a023ea80b4f1725", "sha256": "6d4054ab8490f0d6b2b9db5a2e8d907785247f3d760b514c7fe6e6ab3b25f628" }, "downloads": -1, "filename": "http3-0.6.4.tar.gz", "has_sig": false, "md5_digest": "7428c4884b0960cc0a023ea80b4f1725", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34393, "upload_time": "2019-06-25T12:24:26", "url": "https://files.pythonhosted.org/packages/08/b5/1f6d78597ef7965cd37e1ab034c4d9960ad1b2c7d79cbbefd31fcdc7384d/http3-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "1d9c4a7accfeb7ef79eeb76595a81138", "sha256": "24c4e3705a45252c53560fd2e6e23ed8f1d5c15a3bb83fa16eb35cdc29c4e49c" }, "downloads": -1, "filename": "http3-0.6.5.tar.gz", "has_sig": false, "md5_digest": "1d9c4a7accfeb7ef79eeb76595a81138", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34649, "upload_time": "2019-06-27T15:47:10", "url": "https://files.pythonhosted.org/packages/83/ee/32b1f2f71f474989ebb06a2560999cecaff2ef3fefef3a71becd57128b46/http3-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "bea68964af396ebd383bdce0340951ef", "sha256": "28da5a7737cd6f4fe5e97e7b7e02d65e2c9d19ae11bc3534e2bfa70f331002d9" }, "downloads": -1, "filename": "http3-0.6.6.tar.gz", "has_sig": false, "md5_digest": "bea68964af396ebd383bdce0340951ef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34835, "upload_time": "2019-07-03T09:35:32", "url": "https://files.pythonhosted.org/packages/c9/d4/ad0720c24994bc0ca2b07bb295e7332b6b3a75e333918bbde01a19358706/http3-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "a6e6378e93fa98fd2622859dbd0f6b5a", "sha256": "dbf9beedc58d8bbcf6e681a9d63d9e7cd8da346e1ffb512e02e9bf097d91f0bf" }, "downloads": -1, "filename": "http3-0.6.7.tar.gz", "has_sig": false, "md5_digest": "a6e6378e93fa98fd2622859dbd0f6b5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35119, "upload_time": "2019-07-08T14:58:54", "url": "https://files.pythonhosted.org/packages/ae/47/7d25c71f5dab11f7c2a70766baf76b8f079706f66d14d047cca81d167c48/http3-0.6.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6e6378e93fa98fd2622859dbd0f6b5a", "sha256": "dbf9beedc58d8bbcf6e681a9d63d9e7cd8da346e1ffb512e02e9bf097d91f0bf" }, "downloads": -1, "filename": "http3-0.6.7.tar.gz", "has_sig": false, "md5_digest": "a6e6378e93fa98fd2622859dbd0f6b5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35119, "upload_time": "2019-07-08T14:58:54", "url": "https://files.pythonhosted.org/packages/ae/47/7d25c71f5dab11f7c2a70766baf76b8f079706f66d14d047cca81d167c48/http3-0.6.7.tar.gz" } ] }