mirror of
https://github.com/kennethreitz/requests3.git
synced 2026-06-05 23:10:16 +00:00
869aa411f4e2f1cd23f958efdea9aac662578554
Requests: HTTP for Humans™
If you're interested in financially supporting Requests 3 development, please make a donation. Your support helps tremendously with sustainability of motivation.
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".
Behold, the power of Requests III:
>>> from requests import HTTPSession
# Make a connection pool.
>>> http = HTTPSession()
# Make a request.
>>> r = http.request('get', 'https://httpbin.org/ip')
>>> r.json()
{'ip': '172.69.48.124'}
[](http://docs.python-requests.org/)
Requests III allows you to send *organic, grass-fed* HTTP/1.1 & HTTP/2 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*!
Feature Support
---------------
Requests III is ready for today's web.
- 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
Requests officially supports Python 2.7 & 3.4–3.7, and runs great on
PyPy.
Installation
------------
To install Requests, simply use [pipenv](http://pipenv.org/) (or pip, of
course):
``` {.sourceCode .bash}
$ pipenv install requests3
✨🍰✨
Satisfaction guaranteed.
Documentation
Fantastic documentation is available at http://3.python-requests.org/, for a limited time only.
How to Contribute
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.
Languages
Python
99.9%
Makefile
0.1%
