Skip to main content

mcurl

Build status PyPI version License

Python wrapper for libcurl with a high-level API for the easy and multi interfaces. Originally created for the Px proxy server.

Installation

mcurl can be installed using pip:

pip install pymcurl

Binary packages are provided for the following platforms:

  • aarch64-linux-gnu
  • aarch64-linux-musl
  • arm64-mac
  • i686-linux-gnu
  • x86_64-linux-gnu
  • x86_64-linux-musl
  • x86_64-windows

mcurl leverages cffi to interface with libcurl and all binary dependencies are sourced from binarybuilder.org. auditwheel on Linux, delocate on macOS and delvewheel on Windows are used to bundle the shared libraries into the wheels.

Thanks to cffi and Py_LIMITED_API, the CPython wheel works on any CPython ≥ 3.9. Separate wheels are provided for PyPy.

Usage

Easy interface

import mcurl

mcurl.dprint = print

c = mcurl.Curl('http://httpbin.org/get')
c.set_debug()
c.buffer()
ret = c.perform()
if ret == 0:
    ret, resp = c.get_response()
    headers = c.get_headers()
    data = c.get_data()
    print(f"Response: {resp}\n\n{headers}{data}")

Multi interface

import mcurl

mcurl.dprint = print

m = mcurl.MCurl()

c1 = mcurl.Curl('http://httpbin.org/get')
c1.set_debug()
c1.buffer()
m.add(c1)

data = "test8192".encode("utf-8")
c2 = mcurl.Curl('https://httpbin.org/post', 'POST')
c2.set_debug()
c2.buffer(data=data)
c2.set_headers({"Content-Length": len(data)})
m.add(c2)

ret1 = m.do(c1)
ret2 = m.do(c2)

if ret1:
    print(f"Response: {c1.get_response()}\n\n" +
          f"{c1.get_headers()}{c1.get_data()}")
else:
    print(f"Failed with error: {c1.errstr}")

if ret2:
    print(f"Response: {c2.get_response()}\n\n" +
          f"{c2.get_headers()}{c2.get_data()}")
else:
    print(f"Failed with error: {c2.errstr}")

m.close()

Raw libcurl API

The libcurl C API can also be accessed directly:

from mcurl import ffi, libcurl

url = "http://httpbin.org/get"
curl = ffi.new("char []", url.encode("utf-8"))

easy = libcurl.curl_easy_init()
libcurl.curl_easy_setopt(easy, libcurl.CURLOPT_URL, curl)
cerr = libcurl.curl_easy_perform(easy)

Threading

Each MCurl instance manages its own curl multi handle with internal locking for thread-safe concurrent operations. Multiple threads can safely call add(), do(), remove(), and stop() on the same MCurl instance.

Recommended patterns:

  • MCurl per thread — create a separate MCurl in each thread for maximum parallelism:

    import threading, mcurl
    
    def worker(url):
        m = mcurl.MCurl()
        c = mcurl.Curl(url)
        c.buffer()
        m.do(c)
        print(c.get_data())
        m.close()
    
    threads = [threading.Thread(target=worker, args=(f"http://httpbin.org/get?id={i}",)) for i in range(4)]
    for t in threads: t.start()
    for t in threads: t.join()
    
  • Shared MCurl — multiple threads can share one MCurl instance (internally locked):

    m = mcurl.MCurl()
    
    def worker(url):
        c = mcurl.Curl(url)
        c.buffer()
        m.do(c)
        print(c.get_data())
        m.remove(c)
    
    threads = [threading.Thread(target=worker, args=(f"http://httpbin.org/get?id={i}",)) for i in range(4)]
    for t in threads: t.start()
    for t in threads: t.join()
    m.close()
    

Versioning

Version format is X.Y.Z.P where X.Y.Z matches the upstream libcurl version and P is the wrapper patch (starts at 1 per upstream release). Wheels are built automatically when a new LibCURL_jll.jl release is detected.

Documentation

See the docs/ folder for detailed documentation:

Development

Requires a C compiler and uv.

git clone https://github.com/genotrance/mcurl.git
cd mcurl
make install
make test
Target Description
make install Create venv, build C extension, install pre-commit
make test Run tests with coverage
make check Run linters and type checking
make build Build sdist and wheel
make clean Remove build artifacts
make env Print LD_LIBRARY_PATH for local development

Contributing

Bug reports and pull requests are welcome at https://github.com/genotrance/mcurl/issues.

  1. Fork and clone the repository.
  2. Run make install to set up the venv, build the C extension, and install pre-commit hooks.
  3. Create a feature branch, make changes, add tests in tests/.
  4. Run make check && make test — all checks must pass.
  5. Open a pull request. CI runs on Ubuntu, Windows, and macOS across Python 3.9–3.14 and PyPy 3.11.

Building

mcurl is built using gcc on Linux, clang on macOS and mingw-x64 on Windows. The shared libraries are downloaded from binarybuilder.org using jbb for Linux and Windows. Custom libcurl binaries that include kerberos support on Linux and remove the libssh2 dependency are available. macOS uses the libcurl binaries and dependencies installed via Homebrew.

cibuildwheel is used to build wheels for all platforms and architectures via GitHub Actions. See docs/build.md for details.

Acknowledgments

The modernization of this project — including expanded test suite, CI/CD infrastructure, and comprehensive documentation — was developed with the assistance of LLMs.

License

MIT

Metadata

Release files for pymcurl 8.22.0.1

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

Source distribution (sdist)

Source distribution for pymcurl 8.22.0.1
File Size Uploaded
pymcurl-8.22.0.1.tar.gz 150.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pymcurl 8.22.0.1
File
pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-32, Linux glibc 2.28+ x86-32 Details
pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
pymcurl-8.22.0.1-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details
pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 Details
pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-32, Linux glibc 2.28+ x86-32 Details
pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
pymcurl-8.22.0.1-cp315-cp315t-macosx_14_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 14.0+ ARM64 Details
pymcurl-8.22.0.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
pymcurl-8.22.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
pymcurl-8.22.0.1-cp39-abi3-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-32, Linux glibc 2.28+ x86-32 Details
pymcurl-8.22.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
pymcurl-8.22.0.1-cp39-abi3-macosx_14_0_arm64.whl CPython 3.9 abi3 macOS 14.0+ ARM64 Details

Total release size: 87.9 MB

Release files / pymcurl-8.22.0.1.tar.gz

Download URL pymcurl-8.22.0.1.tar.gz
Size 150.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fed3b05377022b65df69fc843f8c65dd4af90acd4388d6de6043dcd812122ce8
BLAKE2b-256 checksum
How to use checksums
65a5e65454d8cdfe909a59e7c8350b4642b262c88b7164e9c2bd498ccb490580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 6.0 MB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
24982c29c3624a163f828976242ecff55bd87318ada3204182dfdc2e882e76e3
BLAKE2b-256 checksum
How to use checksums
c1728304ca93a93e43af0f7b86412ee1c21856af0ce01c0408e871bff73ffd76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl

Download URL pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Size 5.8 MB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.28+ x86-32 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
290e51ec64b86aa4a59c4cb29659735059818674557e300f50bd17c60747ba07
BLAKE2b-256 checksum
How to use checksums
e203761881e97b0644e1827aca528aeac9462b6546e81fc8c4bbe0bb31115d89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL pymcurl-8.22.0.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 5.6 MB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
ee0ae55a8dd67e76934ddffdeae340ddfccf83470c2b8902192d9ef3d3bcfaef
BLAKE2b-256 checksum
How to use checksums
41b5f25b4243df54f7517337cbe2f578a95184269c76348a5e7b5f3b93145165
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-win_amd64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-win_amd64.whl
Size 1.6 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
91a2ca36b681f2e4d370130b2923dd8acad0c33a8f208dd780dd8d55e0cd3223
BLAKE2b-256 checksum
How to use checksums
1d9288c05dcc2bed752acd422447b9282f190846eddcabf5ad4b59fa68510647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 6.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
32e1e6d344c2f8849a7836e837e402ba83825f193b5afc7a13bf68b6bda6f386
BLAKE2b-256 checksum
How to use checksums
462fc6c006203545b76c5267b86e06e7b1420c85d34c1fb3367ef1f0613e2400
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 5.6 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
511147e3a89f350d3ab50840299b750f9f2a46268792c3a47d4442d22ce7b6a1
BLAKE2b-256 checksum
How to use checksums
65b480b68945c7c2b5d7832a4b479a325b903d06933eacf098afeab12dbad911
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 6.2 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d6c88738e5c05f213813aeee533fc9838be7032f53666cf9f5125312340e92c
BLAKE2b-256 checksum
How to use checksums
b57c9b6bd097ecd6cd76bc348c77c7dc07f54041e875e682c761b54f39c3a41b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Size 5.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
01e60b30656e40f62a27617718b88805885855c93b9679059b94874fc8201cb4
BLAKE2b-256 checksum
How to use checksums
cfcb6788e87ac04b45bf3008e030aa4607fc57b17714a53db21c658447c5f8ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3f9cad3e1c4ff8febaa9895e1ec9133a66a544febbc52003bc734c6a300e6650
BLAKE2b-256 checksum
How to use checksums
809bf7a9a528ac428f1bb8d4d839b01efe6fe2f7dbe4857114f129a10d909f75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp315-cp315t-macosx_14_0_arm64.whl

Download URL pymcurl-8.22.0.1-cp315-cp315t-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
575633b6739cf520cccf9d1cab5436a659daf4460b1552a8f4141a29f27dfc73
BLAKE2b-256 checksum
How to use checksums
be07550e2bc4fa62c799cb0b37c734a8e67592000e130d678d275908e39608cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-win_amd64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-win_amd64.whl
Size 1.6 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
014f9c7aad39d758fd9b4db8f0ade1633a9b6d9271d726523b5de9f52db17c8f
BLAKE2b-256 checksum
How to use checksums
0d3e2c17228badc811fbc6a4a681d50f4fcead10f2127a4b2a1c4f7211964b08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_x86_64.whl
Size 6.0 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
af1ed0b8fa6737c7681ceb6ad2d4d48776e0d056d1cdc7999305127dda89f033
BLAKE2b-256 checksum
How to use checksums
9640f99f2a7b617f692b5633c51aaea39b107c268365c3c11d72314b9c111bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-musllinux_1_2_aarch64.whl
Size 5.6 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
62d85afd83767d74585617d8818d58211dd13ae62e0aa3d51e263c75a525ae42
BLAKE2b-256 checksum
How to use checksums
4ce32bf0413a15c9c50b091ebe3bc8c0b350083ed8dad7cb13e58f1f177a9ff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 6.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
cd8f4138f4e974b40f694e55a8bce11400ec8e455c07f1a3525604dee8ae8ff8
BLAKE2b-256 checksum
How to use checksums
d58323033a5532b6ed442194a690170e2491e62d674f4c8bb3e21674f1828337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Size 5.9 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.28+ x86-32 abi3
SHA-256 checksum
How to use checksums
2a8c7b08edeb24d884ab1f41337c24c1cf139185d68aff9acf3909e1e11e2743
BLAKE2b-256 checksum
How to use checksums
9ac7294197d7779c77b34abbfd832f7c9a4ec5a147ac751d963f609115d53df0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
3b7790579a4bc26143b765d16fc157b989f4559261e611c1199540eb3619ef4e
BLAKE2b-256 checksum
How to use checksums
15764efe2d1ebfa3ef7d74f2c9bd8bbeb3fd35e3049d656f11d6c439930417c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / pymcurl-8.22.0.1-cp39-abi3-macosx_14_0_arm64.whl

Download URL pymcurl-8.22.0.1-cp39-abi3-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.9 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
671e04d190dc6b75957f8041a42bb8e51bfc0f0bdbbc4a3ad534ccdabd9e446f
BLAKE2b-256 checksum
How to use checksums
88ea92038f4c51abb1ee9598c701ffd2ce77a95a17ea10ae0841a9ec8d246324
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

8.22.0.1 This release

18 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