Skip to main content

libcurl ffi bindings for Python, with impersonation support.

Project description

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.

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

Recent highlights

  • ๐Ÿ’จ http/3 fingerprints and UDP socks5 proxy support was added in v0.15.0!
  • ๐Ÿฆž Added curl-cffi CLI and skills for debugging and for claws/agents.

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.

Residential Proxies

Thordata

Thordata: A reliable and cost-effective proxy service provider. One-click collection of public network data, providing enterprises and developers with stable, efficient, and compliant global proxy IP services. Register for a free trial of residential proxies and receive 2000 free SERP API calls.

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


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.
  • impers. Node.js binding to curl-impersonate.
  • impersonate.pro. Commercial support, more fingerprints and integrated solutions.

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.

curl-cffi CLI(new)

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 "claws" and "agents".

curl httpie curl-cffi
http/2 โœ… โŒ โœ…
http/3 โ˜‘๏ธ1 โŒ โœ…
human-friendly โ˜‘๏ธ2 โœ… โœ…
colorful โŒ โœ… โœ…3
fingerprints โŒ โŒ โœ…

Notes:

  1. You need an http/3 enabled curl build, it's not enabled by default, at leat on my machine.
  2. As a long time command line user, I personally feel very comfortable using curl -X POST httpbin.org, but some users may prefer http GET httpbin.org syntax. If you prefer the curl syntax, you can keep using curl-impersonate.
  3. Install curl_cffi[cli] for colorful CLI output. Without rich, the CLI uses plain text output.

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

Android support, including Termux, is currently in beta, you can install the beta release for testing. For BSD systems, we need to get libcurl-impersonate compile first, and then add support in curl_cffi. If you are using these OSes, please lend an hand.

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

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 as supported by my fork of curl-impersonate:

The open source version of curl_cffi includes versions whose fingerprints differ from previous versions. If you see a version, e.g. chrome135, was skipped, you can simply impersonate it with your own headers and the previous version.

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

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

To see the complete list of fingerprints, use the command line:

curl-cffi list

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 following table is the builtin fingerprints bundled with current version.

Browser Open Source Pro version
Chrome chrome99, chrome100, chrome101, chrome104, chrome107, chrome110, chrome116[1], chrome119[1], chrome120[1], chrome123[3], chrome124[3], chrome131[5], chrome133a[5][6], chrome136[8], chrome142[11], chrome145[13][14], chrome146[13][14] chrome132, chrome134, chrome135
Chrome Android chrome99_android, chrome131_android[5] chrome132_android, chrome133_android, chrome134_android, chrome135_android
Chrome iOS N/A coming soon
Safari[9] safari153[2], safari155[2], safari170[1], safari180[4], safari184[8], safari260[10], safari2601[11] coming soon
Safari iOS[9] safari172_ios[1], safari180_ios[4], safari184_ios[8], safari260_ios[10] coming soon
Firefox firefox133[5], firefox135[7], firefox144[11][12], firefox147[13][14] coming soon
Firefox Android N/A firefox135_android
Tor tor145[8] coming soon
Edge edge99, edge101 edge133, edge135
Opera N/A coming soon
Brave N/A coming soon

Notes:

  1. Added in version 0.6.0.
  2. Fixed in version 0.6.0, previous http2 fingerprints were not correct.
  3. Added in version 0.7.0.
  4. Added in version 0.8.0.
  5. Added in version 0.9.0.
  6. The version suffix a(e.g. chrome133a) means that this is an alternative version, i.e. the fingerprint has not been officially updated by browser, but has been observed because of A/B testing.
  7. Added in version 0.10.0.
  8. Added in version 0.11.0.
  9. Since 0.11.0, the format safari184_ios is preferred over safari18_4_ios, both are supported, but the latter is quite confusing and hard to parse.
  10. Added in version 0.12.0.
  11. Added in version 0.14.0.
  12. Fixed in version 0.15.0, previous User-Agent header was not correct.
  13. Added in version 0.15.0.
  14. http3 support included.

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

from curl_cffi import WebSocket

def on_message(ws: WebSocket, message: str | bytes):
    print(message)

ws = WebSocket(on_message=on_message)
ws.run_forever("wss://api.gemini.com/v1/marketdata/BTCUSD")

Asyncio WebSockets

import asyncio
from curl_cffi import AsyncSession

async with AsyncSession() as session:
    async with session.ws_connect("wss://echo.websocket.org") as ws:
        await asyncio.gather(*[ws.send_str("Hello, World!") for _ in range(10)])
        async for message in ws:
            print(message)

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

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 Distribution

curl_cffi-0.15.1b1.tar.gz (215.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

curl_cffi-0.15.1b1-cp314-cp314t-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.14tWindows ARM64

curl_cffi-0.15.1b1-cp314-cp314t-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.14tWindows x86-64

curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_aarch64.whl (11.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

curl_cffi-0.15.1b1-cp314-cp314t-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

curl_cffi-0.15.1b1-cp314-cp314t-macosx_10_15_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

curl_cffi-0.15.1b1-cp313-abi3-android_24_arm64_v8a.whl (7.2 MB view details)

Uploaded Android API level 24+ ARM64 v8aCPython 3.13+

curl_cffi-0.15.1b1-cp310-abi3-win_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10+Windows ARM64

curl_cffi-0.15.1b1-cp310-abi3-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_aarch64.whl (11.3 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl (10.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ riscv64manylinux: glibc 2.39+ riscv64

curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl (10.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARMv7lmanylinux: glibc 2.31+ ARMv7l

curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl (10.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (10.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

curl_cffi-0.15.1b1-cp310-abi3-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

curl_cffi-0.15.1b1-cp310-abi3-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10+macOS 10.9+ x86-64

File details

Details for the file curl_cffi-0.15.1b1.tar.gz.

File metadata

  • Download URL: curl_cffi-0.15.1b1.tar.gz
  • Upload date:
  • Size: 215.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for curl_cffi-0.15.1b1.tar.gz
Algorithm Hash digest
SHA256 b09cea90f72bd25ad8ddae52a8af4303af7879b144c15012ecaec62ebfeca10c
MD5 01ad99540d4caa7fd6d6baa9f3ce19c0
BLAKE2b-256 6db6eb80b3a46e46192bcf12c5558f5c8c85a8ad3155ebab95f099c893d49099

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1.tar.gz:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 7f158166e1b35bfe63011fb52a68c72b0a875cf1e491110f874cb3d55b1868a5
MD5 2d501c9c9949d6af181666fc95fd57fc
BLAKE2b-256 494bbdeb6b7e7831124b67defcead793f3629be64955db4de22159956b888bb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-win_arm64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d382f30d4b69f8d0152b4f601b0d4417ef709ba2c827107fc9bafc1891f2e9b8
MD5 57c2fa2662c8ac2072e3c7d8b6aeb535
BLAKE2b-256 149131fea3643a442b077bb2f1520d8b908723ea897b6b42647cb5f6ffc365bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-win_amd64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25c281172614f55a4b814364e1346f39344905ee0b960798fb0744ac850d55f1
MD5 2b023db7edb97caa192af4763549c908
BLAKE2b-256 73798537eabe4f79e7e7b3a2f655a059eafbf6fd33c6d8b91865dd2ade8e0bfb

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1c1737abe9dda1ca29ea155cfbda3f52682f3ff5eccf2b6c2de62e9a831ba1d6
MD5 fc0f1a6d968bf0f4ad4045a498964035
BLAKE2b-256 d2f951df97b9f97be902273325f1db5d11a1ac4d64b704957ac84d00e771283e

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3e1817823bdc30efec646779e5588e768617f6f9b68c095acadb3457e344c515
MD5 2063097b19aeb6c28de86bdfc0ccf80e
BLAKE2b-256 6fffa9d7d627282b4cb495de13c3e80b7695580c501b91a5030cea744baa0df4

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1ac7136c0a18e8219560933264a5cf3df6884d950dcb80d57ec9a314474544c0
MD5 4f410c11e4cbff2ccb4b0637e7640c0b
BLAKE2b-256 03d690f354a7eacb28bd8acd344f249f1a031fb366a5554e564cbf297909d5f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0d130473b610e7f18b73c07193e34cd216c379fde65ed4d97b7bd155d8f19cb
MD5 da2bba3f3d977c2f0d513a54b3215140
BLAKE2b-256 b4a5c1cc7e23a742d93d29f0025aa3938ea58d190119d9a5a0b325128e9ca1ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 be2668d968fdb0b941d480b5e44aa7c74ab52dd2179be517e325afbd4644e882
MD5 514a463653d6e3ec442e2a17bf94895b
BLAKE2b-256 2c95cf42181b49a13026206e5294b8854aaeba89f5531a75e782705104a461e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp313-abi3-android_24_arm64_v8a.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp313-abi3-android_24_arm64_v8a.whl
Algorithm Hash digest
SHA256 daa7646c8191d1463e96559f44035e50c8cc619a3d44374452b9aa31d09387a7
MD5 3e925e89b44e2cceb0664924f593e566
BLAKE2b-256 3e20bec9d024149c4aeaa9f2f1664182a1f515d6a52927df5aedea90208b0e64

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp313-abi3-android_24_arm64_v8a.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-win_arm64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 a1802459677acdc222c11914e8814e647e2e2cf8ff17878a6bbd8773081cfc63
MD5 f970032a9588a71d6fdc7bf9464ca9c4
BLAKE2b-256 048b05e71f460503674a8677b7bb5894d8c976c992c66f63af1389c7284e2ff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-win_arm64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: curl_cffi-0.15.1b1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a8189636529fe2d40dc39ec1266ef63da7606fa5ea2f195b261c3172bf12190c
MD5 073539645874991bdebabd322640fea4
BLAKE2b-256 11bf8aa65c7e26448d2384bee670e5668076cbd7768666c693ef6e2066bc2259

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-win_amd64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 651571df1ac9f9cfd1f32e2f9e0c35c778675ee43f68f8d88336cdbd70894553
MD5 f7292cb23a264e0fc204c66ed0823e81
BLAKE2b-256 c388a988cebff873b9180dca936d5f0d482874e7cd39ee1f1d9dc611fecb8185

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 da3d823d6ae2f8d889593cade5fd2165f5d38502a7cf66a15ec77ae1cfb9f0dc
MD5 266a04327b3388503269992b0f76ef09
BLAKE2b-256 a0fef83d621a10245680bd819ed852712a9b7a99b83cc08d308ca055175be460

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 2aeff9615783a3de429b9ae80baa04e8de19dae3fe8f3baf3c80b1748a8df038
MD5 281fb21d31b29979fd876a5eb2229c4a
BLAKE2b-256 b96d6a3f5e22e0da5601802fd5a72eaec5474828b75f067d72b3cb8234fbf5b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 44aa0f33dbc69dcee2277bb5de261eac57b664274495f2c215d62617c9c483b6
MD5 6afcbb126239fc0567b1c328328033a5
BLAKE2b-256 f721d4ceae319cc64e9d13dbe9d6aa9e4c4983526db8c7908cc07d4238352cf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 82648dcb6b45885808f99bc25474f273c2b302d7410476a9c9c35a6762605e9f
MD5 3d55be5417d5c5b9d4547f78114f8135
BLAKE2b-256 29e8450e948e299d30cc0a46d1cb795a5f61d8bf9f1ec8b30f65be78c2d3b7f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 e2e925d86f72ca647b873c8771a98e3d254bb5545ffb2a37a182c04bb4a605fe
MD5 5827a43d18799b6f6016a09c0c9781c0
BLAKE2b-256 7c75274671788c1ed06002b5a5342acd9507144425735b093967d2292e2fa646

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 16b7dece76982bb51ed0429f060fcd1352acf6396d359942f8488a277a3512a1
MD5 9239dc4b6169bbb5fe5786c5fec304dd
BLAKE2b-256 3fd3632283075dec57c59dfc674fbc5ad603c6deafe574299ae2ffc95af4b0ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f71ee55250062c4a629d28d6138b02140eba994ed3d4c532074d8641f06c017
MD5 d9477bf1943447ed0fd5d4c31a7dcd98
BLAKE2b-256 059aa27ec2ac4c9049da71d37aff271edc09d440860580e0e4981f1b9aece382

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file curl_cffi-0.15.1b1-cp310-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for curl_cffi-0.15.1b1-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 71d02bca06731344338cb52a5d1c53f5a7d1741bf73714313288591ab374b915
MD5 a5157fa615aac9b62e611e5555121c6a
BLAKE2b-256 7df8c61cab3ae01d729de7b8ab91223be8af1fc7b3f2e205e0c68d7ba46d3ff8

See more details on using hashes here.

Provenance

The following attestation bundles were made for curl_cffi-0.15.1b1-cp310-abi3-macosx_10_9_x86_64.whl:

Publisher: release.yaml on lexiforest/curl_cffi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page