request

Simple and elegant HTTP library for Python.
Features
- Simple and intuitive API
- Support for all HTTP methods (GET, POST, PUT, DELETE, etc.)
- Session support with connection pooling
- Automatic decompression
- Unicode support
- HTTP(S) proxy support
- SSL/TLS verification
- Connection timeouts
- File uploads
- Cookies support
Installation
Install using pip:
pip install request
Quick Start
import request
response = request.get('https://api.github.com/users/github')
print(response.status_code)
print(response.json())
data = {'key': 'value'}
response = request.post('https://httpbin.org/post', json=data)
print(response.text)
with request.Session() as session:
session.headers.update({'User-Agent': 'My App'})
response = session.get('https://httpbin.org/get')
print(response.text)
Documentation
For full documentation, visit: https://request.readthedocs.io/
API Reference
Making Requests
import request
r = request.get('https://api.example.com/data')
r = request.post('https://api.example.com/data', data={'key': 'value'})
r = request.put('https://api.example.com/data', data={'key': 'value'})
r = request.delete('https://api.example.com/data')
r = request.head('https://api.example.com/data')
r = request.options('https://api.example.com/data')
Response Content
import request
r = request.get('https://api.example.com/data')
print(r.text)
print(r.json())
print(r.content)
print(r.status_code)
print(r.headers)
Parameters
import request
params = {'key1': 'value1', 'key2': 'value2'}
r = request.get('https://api.example.com/data', params=params)
headers = {'User-Agent': 'My App'}
r = request.get('https://api.example.com/data', headers=headers)
r = request.get('https://api.example.com/data', timeout=5)
Requirements
- Python 3.7+
- urllib3 >= 2.0.0
- certifi >= 2023.7.22
- charset-normalizer >= 3.0.0
- idna >= 3.4
License
Apache License 2.0
Contributing
Contributions are welcome! Please read our Contributing Guide for details.
Changelog
Version 2.32.3 (2026-08-24)
- Performance improvements
- Bug fixes and stability enhancements
- Updated dependencies
- Improved error handling
- Enhanced connection pooling
Version 2.32.2
- Security updates
- Minor bug fixes
Version 2.32.1
- Initial release
- Full HTTP methods support
- Session management
- SSL/TLS support
Support
Authors
Python Software Foundation and contributors
Acknowledgments
Built with inspiration from the popular requests library.
try:
response = await requests.get('https://api.example.com', timeout=5)
response.raise_for_status()
except requests.Timeout:
print("Request timed out")
except requests.HTTPError as e:
print(f"HTTP error: {e}")
Documentation
Full documentation available at: https://requests-async-http.readthedocs.io/
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE file for details.
Credits
Built on top of the excellent requests library.