diff --git a/README.md b/README.md index c255d6f3..d3d132f3 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Requests III: HTTP for Humans and Machines, alike. [![image](https://img.shields.io/github/contributors/kennethreitz/requests3.svg)](https://github.com/requests/requests/graphs/contributors) [![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz) -**If you're interested in financially supporting Requests 3 development, please [make a donation](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation.** +**If you're interested in financially supporting Requests 3 development, please [make a donation](https://cash.me/$KennethReitz).** **Requests III** is an HTTP library for Python, built for Humans and Machines, alike. **This repository is a work in progress, and the expected release timeline is "before PyCon 2020"**. @@ -45,12 +45,13 @@ Feature Support Requests III is ready for today's web. +- Support for H11 & H2 protocols. - Type-annotations for all public-facing APIs. - Better defaults; required timeouts. - ``async``/``await`` keyword & ``asyncio`` support. - Compability with Python 3.6+. -While retaining all the features of `Requests Classic `_: +While retaining all the features of [Requests Classic](https://2.python-requests.org/): - International Domains and URLs - Keep-Alive & Connection Pooling diff --git a/docs/index.rst b/docs/index.rst index 18113559..b564fdff 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,67 +3,60 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Requests: HTTP for Humans™ -========================== +Requests III: HTTP for Humans and Machines, alike. +================================================== Release v\ |version|. (:ref:`Installation `) -.. image:: https://img.shields.io/pypi/l/requests.svg - :target: https://pypi.org/project/requests/ +.. image:: https://img.shields.io/pypi/l/requests3.svg + :target: https://pypi.org/project/requests3/ -.. image:: https://img.shields.io/pypi/wheel/requests.svg - :target: https://pypi.org/project/requests/ +.. image:: https://img.shields.io/pypi/wheel/requests3.svg + :target: https://pypi.org/project/requests3/ -.. image:: https://img.shields.io/pypi/pyversions/requests.svg - :target: https://pypi.org/project/requests/ - -.. image:: https://codecov.io/github/requests/requests/coverage.svg?branch=master - :target: https://codecov.io/github/requests/requests - :alt: codecov.io +.. image:: https://img.shields.io/pypi/pyversions/requests3.svg + :target: https://pypi.org/project/requests3/ .. image:: https://img.shields.io/badge/Say%20Thanks!-🦉-1EAEDB.svg :target: https://saythanks.io/to/kennethreitz +**Requests III** is an HTTP library for Python, built for Humans and Machines, alike. **This repository is a work in progress, and the expected release timeline is "before PyCon 2020"**. -**Requests** is the only *Non-GMO* HTTP library for Python, safe for human -consumption. - -.. note:: The use of **Python 3** is *highly* preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself *still* using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste. - —*Kenneth Reitz* +.. note:: If you're interested in financially supporting Requests 3 development, please `make a donation `_. If you're on the job market, consider taking `this programming quiz `_. A substantial donation will be made to this project, if you find a job through this platform. ------------------- -**Behold, the power of Requests**:: +Behold, the power of Requests III: - >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) - >>> r.status_code - 200 - >>> r.headers['content-type'] - 'application/json; charset=utf8' - >>> r.encoding - 'utf-8' - >>> r.text - u'{"type":"User"...' - >>> r.json() - {u'private_gists': 419, u'total_private_repos': 77, ...} +```pycon +>>> from requests import HTTPSession -See `similar code, sans Requests `_. +# Make a connection pool. +>>> http = HTTPSession() +# Make a request. +>>> r = http.request('get', 'https://httpbin.org/ip') -**Requests** allows you to send *organic, grass-fed* HTTP/1.1 requests, without the -need for manual labor. There's no need to manually add query strings to your -URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling -are 100% automatic, thanks to `urllib3 `_. +# View response data. +>>> r.json() +{'ip': '172.69.48.124'} +``` + +Requests III allows you to send *organic, grass-fed* **HTTP/1.1** & **HTTP/2** (wip) requests, +without the need for manual thought-labor. There's no need to add query +strings to your URLs, or to form-encode your POST data. Keep-alive and +HTTP connection pooling are 100% automatic, as well. + +Besides, all the cool kids are doing it. Requests is one of the most +downloaded Python packages of all time, pulling in over ~1.6 million +installations *per day*! User Testimonials ----------------- -Nike, Twitter, Spotify, Microsoft, Amazon, Lyft, BuzzFeed, Reddit, The NSA, Her Majesty's Government, Google, Twilio, Runscope, Mozilla, Heroku, -PayPal, NPR, Obama for America, Transifex, Native Instruments, The Washington -Post, SoundCloud, Kippt, Sony, and Federal U.S. -Institutions that prefer to be unnamed claim to use Requests internally. +**Microsoft**, **Google**, **Amazon**, **Salesforce**, **Heroku**, **DigitalOcean**, **RedHat**, **Twitter**, **Facebook**, **Instagram**, **Spotify**, *&c* all use **Requests** to query internal HTTPS services. **Armin Ronacher**, creator of Flask— *Requests is the perfect example how beautiful an API can be with the @@ -82,16 +75,22 @@ Institutions that prefer to be unnamed claim to use Requests internally. simple, Pythonic.* Requests is one of the most downloaded Python packages of all time, pulling in -over 400,000 downloads **each day**. Join the party! +pulling in over ~1.6 million installations *per day*!. Join the party! -If your organization uses Requests internally, consider `supporting the development of 3.0 `_. Your -generosity will be greatly appreciated, and help drive the project forward -into the future. +If your organization uses Requests internally, consider `supporting the development of 3.0 `_. -Beloved Features ----------------- +Feature Support +--------------- -Requests is ready for today's web. +Requests III is ready for today's web. + +- Support for H11 & H2 protocols. +- Type-annotations for all public-facing APIs. +- Better defaults; required timeouts. +- ``async``/``await`` keyword & ``asyncio`` support. +- Compability with Python 3.6+. + +While retaining all the features of `Requests Classic `_: - Keep-Alive & Connection Pooling - International Domains and URLs @@ -109,8 +108,6 @@ Requests is ready for today's web. - Chunked Requests - ``.netrc`` Support -Requests officially supports Python 2.7 & 3.4–3.7, and runs great on PyPy. - The User Guide --------------