Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

curl_cffi

PyPI Downloads PyPI - Python Version PyPI version Generic badge Generic badge

Documentation

Python binding for curl-impersonate fork via cffi. For commercial support, visit impersonate.pro.

curl_cffi is the most popular Python binding for curl. Unlike other pure python http clients like httpx or requests, curl_cffi can impersonate browsers' TLS/JA3 and HTTP/2 fingerprints. If you are blocked by some website for no obvious reason, you can give curl_cffi a try.

For JavaScript bindings, see impers, for solving JavaScript challenges, see brimp.

Python 3.10 is the minimum supported version since v0.14.

Recent highlights

  • 🧭 Our new toy, brimp, a lightweight browser, works like curl_cffi with JavaScript enabled. Try it out today!
  • 🆕 Added support for the new algorithm and extensions in Chrome 150/152.

Recall.ai - API for meeting recordings

Recall.ai

If you’re looking for a meeting recording API, consider checking out Recall.ai, an API that records Zoom, Google Meet, Microsoft Teams, in-person meetings, and more.

Sponsors

Maintenance of this project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here. 💖


Bypass Cloudflare with API

Yes Captcha!

Yescaptcha is a proxy service that bypasses Cloudflare and uses the API interface to obtain verified cookies (e.g. cf_clearance). Click here to register: https://yescaptcha.com/i/stfnIO


TLS fingerprinting alone isn't enough for modern bot protection. Hyper Solutions provides the missing piece - API endpoints that generate valid antibot tokens for:

Akamai • DataDome • Kasada • Incapsula

No browser automation. Just simple API calls that return the exact cookies and headers these systems require.

🚀 Get Your API Key | 📖 Docs | 💬 Discord


cloro: SERP and AI search API for Google, ChatGPT, Perplexity, Gemini, Copilot and Grok


Impersonate Suite

curl-cffi is part of the impersonate suite.

  • curl-impersonate. A curl distribution that impersonates browsers.
  • curl_cffi. Python binding to curl-impersonate.
  • brimp. Browser-impersonate, a lightweight browser
  • impers. Node.js binding to curl-impersonate.
  • impersonate.pro. Commercial support, more fingerprints and cloud offering.

Features

  • Supports JA3/TLS and http2 fingerprints impersonation, including recent browsers and custom fingerprints.
  • Much faster than requests/httpx, on par with aiohttp/pycurl, see benchmarks.
  • Mimics the requests API, no need to learn another one.
  • Pre-compiled, so you don't have to compile on your machine.
  • Supports asyncio with proxy rotation on each request.
  • Supports http 2.0, which requests does not.
  • Supports http 3.0, with fingerprints and udp proxy.
  • Supports websocket.
  • MIT licensed.
requests aiohttp httpx pycurl curl_cffi
http/2
http/3 ☑️1 2
sync
async
websocket
native retry
fingerprints
speed 🐇 🐇🐇 🐇 🐇🐇 🐇🐇

Notes:

  1. For pycurl, http/3 is usually disabled at compile time by default.
  2. http/3 support since v0.11.4, http/3 proxy and fingerprints since v0.15.0.

Install

pip install curl_cffi --upgrade

This should work on Linux, macOS and Windows out of the box.

On macOS, you can also install via Homebrew:

brew install lexiforest/tap/curl-cffi

To install beta releases:

pip install curl_cffi --upgrade --pre

To install unstable version from GitHub:

git clone https://github.com/lexiforest/curl_cffi/
cd curl_cffi
make preprocess
pip install .

Usage

curl_cffi comes with a low-level curl API and a high-level requests-like API. curl_cffi also bundles with a CLI called curl-cffi.

CLI

Since v0.15, curl_cffi comes with a CLI called curl-cffi, you can use it for debugging a certain url with the --impersonate option. It can also serve as a web_fetch replacement for "agents".

curl-cffi get tls.browserleaks.com/json

# curl-cffi can be hard to type, use an alias if you want
alias imp=curl-cffi
imp get tls.browserleaks.com/json --impersonate chrome

For a complete CLI guide, see docs.

requests-like

import curl_cffi

# Notice the impersonate parameter
r = curl_cffi.get("https://tls.browserleaks.com/json", impersonate="chrome")

print(r.json())
# output: {..., "ja3n_hash": "aa56c057ad164ec4fdcb7a5a283be9fc", ...}
# the js3n fingerprint should be the same as target browser

# To keep using the latest browser version as `curl_cffi` updates,
# simply set impersonate="chrome" without specifying a version.
# Other similar values are: "safari" and "safari_ios"
r = curl_cffi.get("https://tls.browserleaks.com/json", impersonate="chrome")

# Use http/3 with impersonation
r = curl_cffi.get(
    "https://fp.impersonate.pro/api/http3",
    http_version="v3",
    impersonate="chrome"
)

# To pin a specific version, use version numbers together.
r = curl_cffi.get("https://tls.browserleaks.com/json", impersonate="chrome124")

# To impersonate other than browsers, bring your own ja3/akamai strings
# See examples directory for details.
r = curl_cffi.get("https://tls.browserleaks.com/json", ja3=..., akamai=...)

# http/socks proxies are supported
proxies = {"https": "http://localhost:3128"}
r = curl_cffi.get("https://tls.browserleaks.com/json", impersonate="chrome", proxies=proxies)

proxies = {"https": "socks://localhost:3128"}
r = curl_cffi.get("https://tls.browserleaks.com/json", impersonate="chrome", proxies=proxies)

Sessions

s = curl_cffi.Session()

# httpbin is a http test website, this endpoint makes the server set cookies
s.get("https://httpbin.org/cookies/set/foo/bar")
print(s.cookies)
# <Cookies[<Cookie foo=bar for httpbin.org />]>

# retrieve cookies again to verify
r = s.get("https://httpbin.org/cookies")
print(r.json())
# {'cookies': {'foo': 'bar'}}

Supported impersonate browsers

curl_cffi supports the same browser versions preset as supported by our fork of curl-impersonate:

The open source version of curl_cffi includes versions when we are adding new capabilities for impersonating. If you see a version, e.g. chrome135, was skipped, it's simply because there's nothing new or we were busy at that time. You can simply impersonate it with your own headers and the previous browser target.

For a full list of preset fingerprints, see the curl-impersonate docs. We will no longer put duplicated and outdated info here.

If you don't want to look up the headers/etc by yourself, consider buying commercial support from impersonate.pro. We have comprehensive browser tls, http and JavaScript fingerprints database for almost all the browser versions on various platforms.

Since v0.15.1, you can use curl-cffi update to retrieve the latest fingerprints, without updating to a new version. We offer the Safari, Chrome, Firefox updates for free and others as part of the commercial plan.

The current number of fingerprints:

Preset Free Pro

To see the current list of fingerprints on your device, use the command line:

curl-cffi list

To update fingerprints from impersonate.pro, use the command line:

curl-cffi update

If you are trying to impersonate a target other than a browser, use ja3=..., akamai=..., extra_fp=..., and perk=... to specify your own customized fingerprints. See the docs on impersonation for details.

Asyncio

from curl_cffi import AsyncSession

async with AsyncSession() as s:
    r = await s.get("https://example.com")

More concurrency:

import asyncio
from curl_cffi import AsyncSession

urls = [
    "https://google.com/",
    "https://facebook.com/",
    "https://twitter.com/",
]

async with AsyncSession() as s:
    tasks = []
    for url in urls:
        task = s.get(url)
        tasks.append(task)
    results = await asyncio.gather(*tasks)

For low-level APIs, Scrapy integration and other advanced topics, see the docs for more details.

WebSockets

curl_cffi provides an advanced Python interface to libcurl's WebSocket client. Handshake requests automatically inherit all session settings — such as browser impersonation (TLS/JA3 and HTTP/2), custom proxies, and headers, enabling seamless connections to servers protected by strict anti-bot systems.

WebSockets can be used synchronously, through standard blocking methods, direct iteration, or by using an event-driven callback model (similar to websocket-client):

from curl_cffi import Session, WebSocket

with Session() as session:
    # Handshake automatically inherits browser fingerprints (Chrome, Safari, etc.)
    with session.ws_connect("wss://echo.websocket.org", impersonate="chrome") as ws:
        ws.send_str("Hello, World!", timeout=5.0)

        # Standard block-and-read
        msg = ws.recv_str(timeout=5.0)
        print(f"Received: {msg}")

        for i in range(10):
            ws.send_str(f"Stream #{i}")

        # Stream incoming messages sequentially
        for message, _ in zip(ws, range(11)):
            print(message)

def on_message(ws, message):
    print(f"Received: {message}")

# Automatically negotiates upgrades and listens continuously
ws = WebSocket(on_message=on_message)
ws.run_forever("wss://api.gemini.com/v1/marketdata/BTCUSD")

For high-performance applications, the async client supports concurrent receiving and sending (similar to aiohttp):

import asyncio
from curl_cffi import AsyncSession

async def main():
    async with AsyncSession() as session:
        async with session.ws_connect("wss://echo.websocket.org", impersonate="chrome") as ws:
            # Execute concurrent sends
            await asyncio.gather(*[ws.send_str(f"Message {i}") for i in range(10)])

            # Receive messages
            received = await asyncio.gather(*[ws.recv_str() for i in range(11)])
            for frame in received:
                print(frame)

async def stream():
    async with AsyncSession() as session:
        async with session.ws_connect("wss://api.gemini.com/v1/marketdata/BTCUSD") as ws:
            # Stream incoming frames asynchronously
            async for message in ws:
                print(f"Asyncio Stream: {message}")

asyncio.run(main())  # or stream()

Features

  • Impersonation & Session Inheritance: Inherits browser fingerprints (TLS/JA3 and HTTP/2), custom proxies, and headers directly during the initial handshake request.
  • SIMD Performance: Frame payload masking is executed using SIMD hardware acceleration (AVX-512, AVX2, and ARM NEON) inside a customized libcurl build.
  • Automatic Message Reassembly: Automatically assembles fragmented WebSocket frames in the background, so messages are always delivered complete.
  • Robust Network Resiliency: Built with precise timeout boundaries and transient error recovery to safely handle network conditions without corrupting connection state.

See the WebSocket docs for full details and advanced options.

Ecosystem

Acknowledgement

  • Originally forked from multippt/python_curl_cffi, which is under the MIT license.
  • Headers/Cookies files are copied from httpx, which is under the BSD license.
  • Asyncio support is inspired by Tornado's curl http client.
  • The synchronous WebSocket API is inspired by websocket_client.
  • The asynchronous WebSocket API is inspired by aiohttp.

Contributing

When submitting an PR, please use a different branch other than main and check the "Allow edits by maintainers" box, so I can update your PR with lint or style fixes. Thanks!

AI Policy

  • Using AI is neither encouraged nor discouraged, use it by your own choice.
  • The bottom line here is that every line of code should be reviewed by human, and should be proven to work.
  • It's not guaranteed that AI will come up with the cleanest solution, you are responsible to guide it to the right way you know.
  • Fix any lint errors, make sure your code follows the established convention in this project.
  • LLM tends to generate extensive or none comments, revise the comments and make sure they are concise and helpful.
  • It's absolutely not acceptable to generate the entire PR summary by LLM. To communicate with other human, use words from a human.
  • The only acceptable exception is to fix grammar issues if you are not a native English speaker.
  • The essence here is to keep Human in the loop

You can even feed the policy above to your "copilot" to let it adjust the style for you. :P

Release files for curl-cffi 0.16.4b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for curl-cffi 0.16.4b1
File Size Uploaded
curl_cffi-0.16.4b1.tar.gz 271.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for curl-cffi 0.16.4b1
File
curl_cffi-0.16.4b1-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
curl_cffi-0.16.4b1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
curl_cffi-0.16.4b1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
curl_cffi-0.16.4b1-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
curl_cffi-0.16.4b1-cp314-cp314-android_24_arm64_v8a.whl CPython 3.14 CPython 3.14 Android API level 24+ ARM64 v8a Details
curl_cffi-0.16.4b1-cp313-cp313-android_24_arm64_v8a.whl CPython 3.13 CPython 3.13 Android API level 24+ ARM64 v8a Details
curl_cffi-0.16.4b1-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details
curl_cffi-0.16.4b1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl CPython 3.10 abi3 Linux glibc 2.39+ RISC-V 64, Linux glibc 2.34+ RISC-V 64 Details
curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl CPython 3.10 abi3 Linux glibc 2.28+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-32 Details
curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
curl_cffi-0.16.4b1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
curl_cffi-0.16.4b1-cp310-abi3-macosx_10_9_x86_64.whl CPython 3.10 abi3 macOS 10.9+ x86-64 Details

Total release size: 186.0 MB

Release files / curl_cffi-0.16.4b1.tar.gz

Download URL curl_cffi-0.16.4b1.tar.gz
Size 271.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2698bef48e51b84cb664991fdce2ca55312d0d34e91c55ff4ca8d26ce70ba376
BLAKE2b-256 checksum
How to use checksums
399c9a5f74fe1868c805aaf448d82a81acf5ed8181e9fbc55098da904776435b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-win_arm64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-win_arm64.whl
Size 1.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
9c5d1a82d68ca8cc56ca89ffdfbd3ee1a09b933d0d67ff1aea58e1f39420fb23
BLAKE2b-256 checksum
How to use checksums
570c54257cf849d84c013d32a08b7c69e9a65fb37ee5ca68fb7645a231c6e625
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-win_amd64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-win_amd64.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
790e67747f1e8c0738b20b4b878ff8f729caaa091131afa74b0697b2793d5c37
BLAKE2b-256 checksum
How to use checksums
1d6ace0f6ef88b7643806dd0d507caa21f02006ed8d10f5b58c0109e3c6bda3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 13.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
185dabe7ccdda03d039aa2791ae7b2ae5b55902443dd09cd846c31426b1a7c52
BLAKE2b-256 checksum
How to use checksums
6680bc3e28d1001c34dce7fe251fe7575e0aefda327d78b1d892f45acd2d3e6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 13.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
32dc88cc84555a059c286ec3b553fdfc1017936d843bc8738bc5f493e9cdff02
BLAKE2b-256 checksum
How to use checksums
7bce1f72b1d6c4163f38d53ffd7fd9297f6aa6ae78d5981c69ead88bba941a70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 14.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
98a895a50a4de30f0d9b0ab896e9dbb9d78707f18300e5d21149fb1a76ee2bd7
BLAKE2b-256 checksum
How to use checksums
b566919979b3f4112663b12f389874196b09d7c3b698511c3d93651ea8bd89af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 13.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1c471f3d59f3468b476c2e9075d435af43437390acf2333c0d2bbb9237af355a
BLAKE2b-256 checksum
How to use checksums
bd4abadf1f3f76288c42a1162712df0f5dcce688e7a2a7e6fff7970779b4c4b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4c47d743f6972578898381b534d2deec2a41dd87b012efa9ca28a86c657b264c
BLAKE2b-256 checksum
How to use checksums
25207b45eb68f7e018d5f24b868aac5a05690ec841866d58f082f3396f170059
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314t-macosx_10_15_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e5e96169ed1a6d8835138998d682ec4c9942b292303675a7b7147429a5fa4378
BLAKE2b-256 checksum
How to use checksums
17922467b62f30a7aa7cca1215cf697726ed483d2f658a091c2c831bcc894718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp314-cp314-android_24_arm64_v8a.whl

Download URL curl_cffi-0.16.4b1-cp314-cp314-android_24_arm64_v8a.whl
Size 8.8 MB
Tags Android API level 24+ ARM64 v8a CPython 3.14
SHA-256 checksum
How to use checksums
643145fe266a02a116fbf22503df47060ea71ebcf8a38e0934bdc4fc980b276a
BLAKE2b-256 checksum
How to use checksums
ec788b72d61952b262c56c5c4efef13112aaa45364200e382c3b8dbf775c3bbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp313-cp313-android_24_arm64_v8a.whl

Download URL curl_cffi-0.16.4b1-cp313-cp313-android_24_arm64_v8a.whl
Size 8.8 MB
Tags Android API level 24+ ARM64 v8a CPython 3.13
SHA-256 checksum
How to use checksums
9998b3f9aa62466d30079735c9ef8b7213df886dcaccf032f4ae93bac4e589ec
BLAKE2b-256 checksum
How to use checksums
91a0522df3ea3264eb2ecdacf5b7564080af34cf5359c4cd74707f161bb349cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-win_arm64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-win_arm64.whl
Size 1.8 MB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
e6d195ff3c62e7609b20a6e086601d573234a8344a03435050ba95186c2badf2
BLAKE2b-256 checksum
How to use checksums
37d65d380c6df5148c53740a9a22698cef7144a285f28c43b9bf6d479891e71a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-win_amd64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
33b9976e04c5d30b24d83157641080a2d8a8a30c02d2b9b69f531507f7626dd5
BLAKE2b-256 checksum
How to use checksums
ead8ff3b5f7e445bc4ae51133f761708c448584a78790f223abac0b95ad05552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 13.7 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
2fbd468f60393df5db1501757457a2006eacf6482d5c3bfcc43e44dcfb4d9ea9
BLAKE2b-256 checksum
How to use checksums
eaf34bed5695e13a74857614186783e075fbe733009677714522f9100a1daa14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 13.1 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
5af29df8d31d300b93b9ff93474f6c3ee3b65825137b1a6ea118d522a3c80d32
BLAKE2b-256 checksum
How to use checksums
7351942e6e1867b5ae0fe029f7ac7c0cccc72f0b0cb0b197db65ee46a556f96d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Size 13.4 MB
Tags CPython 3.10 Linux glibc 2.34+ RISC-V 64 Linux glibc 2.39+ RISC-V 64 abi3
SHA-256 checksum
How to use checksums
ef94d9602e7cb009e4b63ea5cdaaeb3593969c78629c67fbc06ff9afac3c4f2c
BLAKE2b-256 checksum
How to use checksums
55f774eef3d7ff376852b6219ed71f2e884a240acfa2661acc373c2d8ebf423f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl
Size 13.3 MB
Tags CPython 3.10 Linux glibc 2.28+ ARMv7l Linux glibc 2.31+ ARMv7l abi3
SHA-256 checksum
How to use checksums
5949712e679e2d4d6e3798f5f17e87ea2dee4c3a23578efdda55e2f5857807a8
BLAKE2b-256 checksum
How to use checksums
b21e2cb32c826a9724515eb10e035a02f41818e15ab4e6f90bcc1e9379bc263a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 14.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
ff26b30d45534213474dfdff2eb43a1b67e4765969a2012ea0adea52b351d51d
BLAKE2b-256 checksum
How to use checksums
c7344d57cf1f57d4c4df0bea606951c29df8c8d92164dddbdf7f4013a3cca938
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
Size 13.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
3f2bddcbcee63400efe8309630aaf0ee6ad0a40a267b3afc07c25cf8ae24f90a
BLAKE2b-256 checksum
How to use checksums
acb0963e9d86cfa51b583bb75bcfa15fdea1f1b42414e75f4e44eb9a63bfd6fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 13.4 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
b3f2529ea6a81f8151a092c90b46ef7a5d394d3d3799c05bad67fdbd61f1cc31
BLAKE2b-256 checksum
How to use checksums
5b14be51ba1b379d0c3c3c1753f543fe5b43478ecbff06d377f060bc58ceac0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-macosx_11_0_arm64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
583545f2a68f0e03af4000d6f959684b0187b0478c11b13b50bc29ac89f942eb
BLAKE2b-256 checksum
How to use checksums
c0ca70147f0afa85f79b013016fcfd64bd19fbf2a71ad46842a09b87b074bc89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / curl_cffi-0.16.4b1-cp310-abi3-macosx_10_9_x86_64.whl

Download URL curl_cffi-0.16.4b1-cp310-abi3-macosx_10_9_x86_64.whl
Size 3.2 MB
Tags CPython 3.10 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
84f79850988a56d10d215c794ef634571b1f1b69adfd6a765a634048ca113bf3
BLAKE2b-256 checksum
How to use checksums
8b1c2600480fd50ffd505a8e32774d9a856715a8a738a1fa9e2a2207fe00ab46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.16.4b1 This release

22 release files

0.12.0

9 release files

0.11.4

9 release files

0.11.0

8 release files

0.9.0

10 release files

0.7.3

10 release files

0.7.2

10 release files

0.7.1

10 release files

0.6.4

10 release files

0.6.3

10 release files

0.6.2

7 release files

0.6.1

7 release files

0.6.0

7 release files

0.5.10

6 release files

0.5.9

6 release files

0.5.7

6 release files

0.5.6

6 release files

0.5.5

6 release files

0.5.4

6 release files

0.5.3

6 release files

0.5.2

6 release files

0.5.1

6 release files

0.5.0

6 release files

0.4.0

6 release files

0.3.8

6 release files

0.3.7

6 release files

0.3.2

5 release files

0.3.1

6 release files

0.3.0

5 release files

0.2.5

33 release files

0.2.4

33 release files

0.2.1

25 release files

0.2.0

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page