impit for Python¶
README¶
impit
for Python¶
This documents the
impit
Python package, which provides bindings for theimpit
library.See documentation for the JavaScript/TypeScript version of
impit
here.
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.