impit for Python¶
README¶
impit for Python¶
This documents the
impitPython package, which provides bindings for theimpitlibrary.See documentation for the JavaScript/TypeScript version of
impithere.
impit is a Python package that provides bindings for the impit library.
It allows you to switch the TLS fingerprints and the HTTP headers of your requests, while still using the same API as httpx or requests.
Installation¶
pip install impit
Compatibility¶
Operating System |
Architecture |
libc implementation |
Prebuilt wheels available on PyPI |
|---|---|---|---|
Linux |
x86_64 |
glibc |
✅ |
Linux |
x86_64 |
musl |
✅ |
macOS |
x86_64 |
N/A |
✅ |
Windows |
x86_64 |
N/A |
✅ |
macOS |
arm64 |
N/A |
✅ |
Windows |
arm64 |
N/A |
✅ |
Linux |
arm64 |
musl |
✅ |
Linux |
arm64 |
glibc |
❌* |
*The prebuilt binaries for Linux on arm64 with glibc are WIP and not available as prebuilt wheels on PyPI yet. You can build the package from sources in this repository.
Usage¶
import asyncio
from impit import AsyncClient
async def main():
impit = AsyncClient(http3=True, browser='firefox')
response = await impit.get(
"https://example.com",
);
print(response.status_code)
print(response.text)
print(response.http_version)
asyncio.run(main())
Impit implements the HTTPX client interface, so you can use it as a drop-in replacement for httpx.AsyncClient.
Note that the implementation is partial and some features may not be supported yet.