FiberHTTP 
FiberHTTP High Performance HTTP Requests Library
The benchmarks folder contains comparisons between FiberHTTP and other well-known libraries such as requests, httpx, http.client, and others. You will notice that FiberHTTP outperforms them every time
Fiberhttp might not for you
Fiberhttp is designed to provide high performance but lacks many features like:
missing Features:
- No Support streaming requests
- No Support redirects requests
- No Support compressed requests
- No Support chunked requests
All these features are not supported by the library for the purpose of improving performance.
If these features are important to you, and you value compatibility and functionality over performance, then the requests library might be a better choice for you.
Features:
- Keep-alive (socket connection)
- Upload & Download Multi Files
- Prepare bytes request before send
- Create Connection with server before send the request
- High-performance SSL/TLS handshake, verify
- Reading responses in various formats such as JSON, headers, Cookies
Benchmarks
Benchmarks Codes: benchmarks
| Library | Results (Lower is Better) |
|---|---|
| FiberHTTP | 1,000,000 HTTP Requests in 18 SEC'S |
| http.client | 1,000,000 HTTP Requests in 92 SEC'S |
| AIOHTTP | 1,000,000 HTTP Requests in 162 SEC'S |
| urllib3 | 1,000,000 HTTP Requests in 221 SEC'S |
| HTTPX | 1,000,000 HTTP Requests in 332 SEC'S |
| HTTPX-ASYNC | 1,000,000 HTTP Requests in 427 SEC'S |
| requests | 1,000,000 HTTP Requests in 472 SEC'S |
How to use
install Fiberhttp (supported all os systems)
pip install fiberhttp
with client session
import fiberhttp
# create client session with timeout
# ! timeout arg not requierd
cn = fiberhttp.Client(timeout=10)
# send get request
res = cn.get('https://httpbin.org/ip')
status_code = res.status_code()
body = res.text()
headers = res.headers()['Date']
json = res.json()['origin']
without client session
import fiberhttp
# send request without create client
response = fiberhttp.get('https://httpbin.org/ip')
with proxies
import fiberhttp
# create client proxy
cn = fiberhttp.Client_Proxy('http://20.111.54.16:8123')
# send request after the proxy in the client session
response = cn.get('https://httpbin.org/ip').json()['origin']
print(response)
use prepare request to get high performance
import fiberhttp
cn = fiberhttp.Client()
# prepare request with this format
request = fiberhttp.Request('GET', 'https://httpbin.org/ip')
# send request after prepare it
response = cn.send(request).json()
create connection with host before send request to reduce response time
import fiberhttp
cn = fiberhttp.Client()
request = fiberhttp.Request('GET', 'https://httpbin.org/ip')
# create connection with host
cn.connect('httpbin.org')
response = cn.send(request).text()
print(response)
Metadata
Release files for fiberhttp 5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fiberhttp-5.2.tar.gz | 12.7 kB | Without provenance | Details for fiberhttp-5.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fiberhttp-5.2-py3-none-any.whl | Python 3 | none | any | Details for fiberhttp-5.2-py3-none-any.whl |
Total release size: 26.1 kB
Release files / fiberhttp-5.2.tar.gz
| Download URL | fiberhttp-5.2.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5801df6ade10193995d8c3cb67dd9d05c89548fa695dd7c2fd4988fe76ef216
|
|
BLAKE2b-256 checksum How to use checksums |
811f40279ffee9cde786a54cc8daa040a9e3e286aba0c411c04778e32ba22ab2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / fiberhttp-5.2-py3-none-any.whl
| Download URL | fiberhttp-5.2-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfce62644314c2cafef18e8bba824c6587ce177c3c6165aac99ec8b1d795d9e4
|
|
BLAKE2b-256 checksum How to use checksums |
987b0b71b3e50bdcb256b81677b512dcb6c904e40a79e4f8158bf04aee0f405c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Security for fiberhttp 5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.