Python wrapper for Chromium's http library
Project description
python-cronet
python-cronet
is a library to use Chromium's network stack from Python.
The library is currently in alpha stage.
What is Cronet
Cronet is the networking stack of Chromium put into a library for use on Android. It offers an easy-to-use, high performance, standards-compliant, and secure way to perform HTTP requests.
The Chromium team also provides a native version of the library(not officially supported) which allows you to use it in desktop/server operating systems like Linux, macOS and Windows.
The main benefits of using cronet as an HTTP client are:
- You get to use the same high quality code that runs on Chromium.
- Support for the latest protocols like QUIC and compression formats.
- Concurrency support by performing asynchronous requests.
- Has the same TLS fingerprint as Chrome, meaning that Cloudflare and other bot detection systems can't block your requests based on it.
- It's much more lightweight on system resources compared to headless Chrome(although it doesn't support executing javascript).
Installation
For the time being the only supported platform is linux-x86-64. The plan is to also support windows and macOS.
pip install python-cronet
Example usage
The library provides an asynchronous API:
import asyncio
import cronet
async def main():
with cronet.Cronet() as cr:
response = await cr.get("https://example.com")
print(response.url, response.status_code)
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for python_cronet-0.1.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f69b6e1ff32dca9763479d3bb2962ac6ff4df6d43688981740d882ab947a1155 |
|
MD5 | 507f438aca698e1ddc0f4ad1e967e4ad |
|
BLAKE2b-256 | 2122e946577941cc1648e732b1491a1c1a85ffd02d2bc495d318634034f7656f |
Hashes for python_cronet-0.1.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f27d558d93e64cf6e0658b0ce1506a073bf9f59ac7716721a0c989c8ce3fde1d |
|
MD5 | 875f4bf1a31eccbc37d89a42e86555fb |
|
BLAKE2b-256 | ef4272fb0f23f017424e80f1f0e073edf3481efd412e47f88c33ef3f4a18dcc9 |
Hashes for python_cronet-0.1.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0f7a857f2a883830151eddc0de94d4f636478da5217e77cedcc982a1067cbde |
|
MD5 | b20eb10bc4e12f3ab56a2f00f6c5e265 |
|
BLAKE2b-256 | 47a96b245f3c0494b1d476485621dcb02099dc8985e196b374a3eeb84fa44371 |
Hashes for python_cronet-0.1.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c0465d9b3bc775e5794ad75f92492ff510a4ba94155d9f1536807b1e955a01e |
|
MD5 | 210626ab6a259c3da81dac2d2882d2e2 |
|
BLAKE2b-256 | cc5c65360939a08755e0bf025aa97edae213b6a2f31aa67537ec254d61199809 |
Hashes for python_cronet-0.1.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aca391303fc3592966c45b0c3aa0c83a7eea6fa37d0c0b5db9154f44f425d67 |
|
MD5 | 05874cc64a27bad1961776b2308fe9a2 |
|
BLAKE2b-256 | 9f799f78baad7d05de4fe73a92fd8b6eee95374f42e651fd3bbe7f50d5afbe94 |