Niquests: HTTP for Humans™#
Release v3.2.1. (Installation)
Niquests is an elegant and simple HTTP library for Python, built for human beings. It is designed to be a drop-in replacement for Requests that is no longer under feature freeze.
Behold, the power of Niquests:
>>> r = niquests.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
'{"type":"User"...'
>>> r.json()
{'private_gists': 419, 'total_private_repos': 77, ...}
>>> r
<Reponse HTTP/2 [200]>
>>> r.ocsp_verified
True
See similar code, sans Niquests.
Niquests allows you to send HTTP/1.1, HTTP/2 and HTTP/3 requests extremely easily. 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.future.
Beloved Features#
Niquests is ready for today’s web.
Automatic Content Decompression and Decoding
OS truststore by default, no more certifi!
OCSP Certificate Revocation Verification
Browser-style TLS/SSL Verification
Sessions with Cookie Persistence
Keep-Alive & Connection Pooling
International Domains and URLs
Automatic honoring of
.netrc
Basic & Digest Authentication
Familiar
dict
–like CookiesObject-oriented headers
Multi-part File Uploads
Chunked HTTP Requests
Fully type-annotated!
SOCKS Proxy Support
Connection Timeouts
Streaming Downloads
HTTP/2 by default
HTTP/3 over QUIC
Multiplexed!
Async!
Niquests officially supports Python 3.7+, and runs great on PyPy.
The User Guide#
This part of the documentation, which is mostly prose, begins with some background information about Niquests, then focuses on step-by-step instructions for getting the most out of Niquests.
- Installation of Niquests
- Quickstart
- Make a Request
- Passing Parameters In URLs
- Response Content
- Binary Response Content
- JSON Response Content
- Raw Response Content
- Custom Headers
- More complicated POST requests
- POST a Multipart Form-Data without File
- POST a Multipart-Encoded File
- Response Status Codes
- Response Headers
- Cookies
- Redirection and History
- Timeouts
- Errors and Exceptions
- HTTP/3 over QUIC
- Multiplexed Connection
- Async session
- Advanced Usage
- Session Objects
- Request and Response Objects
- Prepared Requests
- SSL Cert Verification
- Client Side Certificates
- CA Certificates
- Body Content Workflow
- Keep-Alive
- Streaming Uploads
- Chunk-Encoded Requests
- POST Multiple Multipart-Encoded Files
- Event Hooks
- Custom Authentication
- Streaming Requests
- Proxies
- Compliance
- HTTP Verbs
- Custom Verbs
- Link Headers
- Transport Adapters
- Blocking Or Non-Blocking?
- Header Ordering
- Timeouts
- OCSP or Certificate Revocation
- Specify HTTP/3 capable endpoint preemptively
- Increase the default Alt-Svc cache size
- Disable HTTP/2, and/or HTTP/3
- Passing a bearer token
- Authentication
The Community Guide#
This part of the documentation, which is mostly prose, details the Niquests ecosystem and community.
The API Documentation / Guide#
If you are looking for information on a specific function, class, or method, this part of the documentation is for you.
The Contributor Guide#
If you want to contribute to the project, this part of the documentation is for you.
There are no more guides. You are now guideless. Good luck.