ckzg
Python bindings for C-KZG-4844
What it is and what it does
ckzg is a Python binding to C-KZG-4844, a minimal C implementation of the Polynomial Commitments API specified in Ethereum's EIP-4844 (Deneb) and EIP-7594 (Fulu) consensus specifications. It exposes cryptographic functions for KZG commitments, proofs, and verification operations used by Ethereum clients to validate blob data without re-implementing critical cryptographic primitives.
The library is designed for use within Ethereum infrastructure and provides functions like blob-to-commitment conversion, proof computation, and batch verification. It relies on blst for BLS12-381 signature operations and has been audited by Sigma Prime (2023) for EIP-4844 and zkSecurity (2025) for EIP-7594. Single-threaded by design for simplicity; batch verification functions offer efficiency gains when processing multiple blobs.
Use it for:
- Ethereum client implementations validating EIP-4844 blob commitments and proofs during consensus.
- Ethereum node software implementing EIP-7594 data availability sampling with cell KZG proof verification.
- Research and testing of Ethereum consensus specifications against reference test vectors.
- Building Ethereum infrastructure tools that need to verify blob data authenticity without reimplementing KZG.
- Batch processing of multiple blob proofs where performance is critical (53% faster per blob in batch mode).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to C-KZG-4844, a cryptographic library implementing polynomial commitments for Ethereum's EIP-4844 and EIP-7594 specifications.
Yes, if you are building Ethereum client software or infrastructure that must validate EIP-4844 or EIP-7594 commitments. The package is actively maintained, audited, has no known vulnerabilities, and avoids the need to reimplement cryptographic functions. Install friction is moderate due to compiled wheels; ensure the trusted setup file is available at runtime.
Install
ckzg on PyPI
pip
pip install ckzguv
uv add ckzgpoetry
poetry add ckzgInstalling ckzg
Before you install
Medium install friction due to compiled wheel distribution across multiple platforms (cp310–cp312, manylinux, musllinux, macOS arm64, Windows). Active maintenance with recent release 36 days ago and ongoing repository activity.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions; suitable for most production and research contexts.
Quickstart
pip install ckzg
import ckzg
# Load trusted setup once during initialization
ckzg.load_trusted_setup_file('trusted_setup.txt', precompute=0)
# Verify a blob KZG proof
ckzg.verify_blob_kzg_proof(blob, commitment, proof)
Requires the trusted setup file (trusted_setup.txt) to be available at runtime; precompute parameter affects memory usage and performance trade-offs.
Verify before relying
- Whether the package includes or downloads the trusted setup file automatically, or if users must provide it separately.
- Exact Python version support range (requires_python is unspecified in metadata).
- Performance characteristics on systems other than Apple M1 referenced in benchmarks.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,353,243/month — #1,923 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ckzg-2.1.8-cp310-cp310-macosx_11_0_arm64.whl; ckzg-2.1.8-cp310-cp310-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl; ckzg-2.1.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; ckzg-2.1.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ckzg-2.1.8-cp310-cp310-musllinux_1_2_aarch64.whl; ckzg-2.1.8-cp310-cp310-musllinux_1_2_i686.whl; ckzg-2.1.8-cp310-cp310-musllinux_1_2_x86_64.whl; ckzg-2.1.8-cp310-cp310-win_amd64.whl; ckzg-2.1.8-cp311-cp311-macosx_11_0_arm64.whl; ckzg-2.1.8-cp311-cp311-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl; ckzg-2.1.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; ckzg-2.1.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ckzg-2.1.8-cp311-cp311-musllinux_1_2_aarch64.whl; ckzg-2.1.8-cp311-cp311-musllinux_1_2_i686.whl; ckzg-2.1.8-cp311-cp311-musllinux_1_2_x86_64.whl; ckzg-2.1.8-cp311-cp311-win_amd64.whl; ckzg-2.1.8-cp312-cp312-macosx_11_0_arm64.whl; ckzg-2.1.8-cp312-cp312-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl; ckzg-2.1.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; ckzg-2.1.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
securesystemslibSecuresystemslib provides a cryptography…
permissive · top 5,000 on PyPI
PyKMIPPyKMIP implements the KMIP protocol for…
permissive · top 15,000 on PyPI
py-eccImplements elliptic curve cryptography…
permissive · top 5,000 on PyPI
siweImplements EIP-4361 Sign-In with Ethereum for…
permissive · top 15,000 on PyPI
opentimestampsA Python library for creating and verifying…
copyleft · top 15,000 on PyPI
coincurvecoincurve provides Python bindings to…
permissive · top 5,000 on PyPI
cryptgcryptg provides a native Python extension that…
permissive · top 15,000 on PyPI
lighteccLightECC provides elliptic curve arithmetic…
permissive · top 15,000 on PyPI
pyDesPure Python implementation of DES and Triple…
permissive · top 15,000 on PyPI
ziglangDistributes the Zig programming language…
permissive · top 5,000 on PyPI