Skip to main content

Python bindings for leanMultisig: XMSS signatures + zkVM aggregation

Project description

py-lean-multisig

Python bindings for leanMultisig: XMSS signatures and zkVM-backed signature aggregation.

Requires Python >= 3.11. Wheels are built for Linux (x86_64, aarch64; glibc + musl) and macOS arm64.

Install

pip install py-lean-multisig

XMSS keygen / sign / verify

import py_lean_multisig as lm

# Key generation (seed is 32 bytes; slot range is inclusive)
sk, pk = lm.keygen(b"\x00" * 32, 0, 1023)

# Sign and verify (message is 32 bytes)
msg = b"\x42" * 32
sig = lm.sign(sk, msg, 5, rng_seed=b"\x99" * 32)  # rng_seed optional
lm.verify(pk, msg, sig, 5)

# Serialize/deserialize
pk2 = lm.PublicKey.from_bytes(pk.to_bytes())
sig2 = lm.Signature.from_bytes(sig.to_bytes())
assert pk == pk2 and sig == sig2

Aggregation

Aggregate N signatures over the same (message, slot) into a single proof, then verify.

import py_lean_multisig as lm

msg, slot = b"\x42" * 32, 5
pairs = [lm.keygen(bytes([i+1])*32, 0, 1023) for i in range(4)]
pks  = [pk for _, pk in pairs]
sigs = [lm.sign(sk, msg, slot, rng_seed=bytes([i+100])*32) for i, (sk, _) in enumerate(pairs)]

prover = lm.Prover(log_inv_rate=4)
verifier = lm.Verifier()

sorted_pks, agg = prover.aggregate(pks, sigs, msg, slot)
verifier.verify(sorted_pks, msg, agg, slot)

# AggregatedSignature bytes round-trip
agg2 = lm.AggregatedSignature.from_bytes(agg.to_bytes())

Hierarchical aggregation

Aggregated proofs are themselves zkVM-verifiable, so a Prover can fold existing aggregates into a new one via the children=.

This is useful for tree-shaped aggregation (each node aggregates its sub-tree's proofs) and for distributing proving work across machines (each shard produces a child proof and a coordinator folds them).

import py_lean_multisig as lm

msg, slot = b"\x42" * 32, 5

def _signers(seed_offset, n):
    pairs = [lm.keygen(bytes([seed_offset + i]) * 32, 0, 1023) for i in range(n)]
    pks  = [pk for _, pk in pairs]
    sigs = [lm.sign(sk, msg, slot, rng_seed=bytes([seed_offset + 100 + i]) * 32)
            for i, (sk, _) in enumerate(pairs)]
    return pks, sigs

prover   = lm.Prover(log_inv_rate=4)
verifier = lm.Verifier()

# Two disjoint sets of signers, aggregated independently.
pks_a, sigs_a = _signers(seed_offset=1,  n=2)
pks_b, sigs_b = _signers(seed_offset=50, n=2)
sorted_pks_a, agg_a = prover.aggregate(pks_a, sigs_a, msg, slot)
sorted_pks_b, agg_b = prover.aggregate(pks_b, sigs_b, msg, slot)

# Top level: no fresh raw signatures, just fold the two child proofs.
# Each child is the (sorted_pub_keys, AggregatedSignature) tuple
# returned by the previous aggregate() call.
sorted_pks_top, agg_top = prover.aggregate(
    [], [], msg, slot,
    children=[(sorted_pks_a, agg_a), (sorted_pks_b, agg_b)],
)

verifier.verify(sorted_pks_top, msg, agg_top, slot)

You can also mix raw signatures with children at the same level — e.g. fold two existing child aggregates plus a fresh batch of N raw signatures into one combined proof in a single aggregate() call.

Development

Uses uv for venv + dependency management

# One-time setup: create the venv, install maturin + dev deps, build
# and editable-install the extension.
uv venv
uv pip install maturin pytest mypy
uv run maturin develop --release --extras dev

# Run the test suite.
uv run pytest tests/ -v

# Verify the .pyi stubs match the runtime extension.
uv run python -m mypy.stubtest py_lean_multisig --allowlist stubtest_allowlist.txt

After Rust source changes, re-run uv run maturin develop --release to rebuild the extension.

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_lean_multisig-0.2.0.tar.gz (38.5 kB view details)

Uploaded Source

Built Distributions

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

py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file py_lean_multisig-0.2.0.tar.gz.

File metadata

  • Download URL: py_lean_multisig-0.2.0.tar.gz
  • Upload date:
  • Size: 38.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for py_lean_multisig-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f5bbdd4701b8d009b5a40d4e9cd07103434cca8b5f8a377c52adf554a0913a0a
MD5 4e0d323958773f08e9b95fcaa42458e7
BLAKE2b-256 2643aa30d32145f4b5b5a0bd54817f4418fbaae3cb5d3dc3756cc3a34a52c763

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0.tar.gz:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e42aa209d6fa43bef102cd07ce3ab72e2faffaefbc143f8cc1fffee3100f39b2
MD5 aa3abc2a3d95338b7d04c2de4379d919
BLAKE2b-256 715529aee6800531eba85c75747e181dd6a766e4457e21842cd8b05370081517

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ddbcd79f9c5b7db883a3cafccc61c63af1abde2f38f849bcadcd17a3fc75c26b
MD5 17d678ecc4f222a5f9e80221eec5c287
BLAKE2b-256 b35900b8b0c30a39d80022d7e7c90e65af9a8f61e2995682bf605196664a1069

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21cbdc1db8abcfaacd512f47e1420d172e88e657ee967cca25c1d1d3ae9bbaad
MD5 5bc4f2bb8e7251a669c8dffb9f6fed4f
BLAKE2b-256 3b7a5160e24dba4bc6a77acafb4878bc420a92c58769dfee99e49752aefaeaf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 409c2eebcb0a5186496cac95c018f1b176ed81a59278defddc3a20da3ce001a9
MD5 73cf9f5778bdc85c42da256cc9c279d0
BLAKE2b-256 c7e95a4e472d473724aa55c7fbc2e023aac56e4fbf4d79491cd3309073341144

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6c7f22668fee2e9e869e19ac7d64aa4ebf6cfe55cfd0100aae0802a5b141a12c
MD5 b3a6a14aeea8b04ab747280e622ad437
BLAKE2b-256 8515b59e2ee6c62303eb5f288c6bd62947e26b6db968c00f49e8897203933e04

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fe0a8eb86a6c5a72dfdd9dd62c95bb58c31ee1c1ca2a3f491b27b976071e8cc7
MD5 09ce1210e768dc70bd1d563438d3fd26
BLAKE2b-256 250f7f4af422a2762836245128a0be93db68f27f60a1689d5f9d6b0ff93742e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9245c0c081dca1cd94d0cac6fa5b32cdda7a91c3be180acce695e3247da0cce6
MD5 093e21a16f79bd0f522fad5884072299
BLAKE2b-256 911ce27dd7afe8aecfc8174e65fd163c6dec9c68c380a205ec62cbb9e4fe27f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dacd4073c66deed36b5d0944a550a794f41c0af511e5bc68d3972d7a53c36ac3
MD5 8780ab51794a494d93a1e7661c304d11
BLAKE2b-256 16ec11211ca1f87505cbf04f12ac92718e7ba05d12ac1b42258fc593cc1a4b2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 647b97b9ebff871ab69077f277f23612be1c087b3c17a2e84fe85ad0ad952a43
MD5 0d818bec791645bc2eb49e15e7900a0d
BLAKE2b-256 f44d5edb1b83e0f4f0afd21f771b90c907ea1499039ba17c38b1980178b66720

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69a507e21ffd687d0589cf2ad4d9f6d4ebc5d20e0ba0df24783d52f5ebf51fd4
MD5 4cab615dce422fc2b65944fe4e42f4a0
BLAKE2b-256 9249f14bd0769c2165750deb98f89dfbbc9c47004c5c080914945a27b71987ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5685da40f9f9901b633edfd5b790fd0efc0067b7d290f9cc09db957c28d14be9
MD5 3fee34466e53fb2667fbe1e5dc9d42bf
BLAKE2b-256 3ba6fb6f70b011a1c1f0d1a568e598100b34d307d4b2aaaf755bf77a7ca56a0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9a7126abc0c96642926d0aa9fa922e477840dcefe79cd14910f87d6fffa7a8b
MD5 9b496399c25176aae2ccc11deac50156
BLAKE2b-256 bdb86e06a4c0527243f32f7af7df502fa6512e6e3b7e7da6a288e5c7f16f792a

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03851f6fb5531cbc2ac97b4d32ea4841416d572b358711c573a13cb69b6f478b
MD5 da43f976229258b611964de861f8f16c
BLAKE2b-256 df36053e44e404339ecd2514eba3677392cf635deaa407c8b80a63f597a26e44

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3837ffd7ffd76ebeb4e271c908be68f93962280149e83061bf2ce92e089ebb75
MD5 9906a6cba2349455cce4e60986f66a38
BLAKE2b-256 0f2a273cedf41675d9def849cd1b25f5a21d9121934dd247da25492d75578da1

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 726661d679fa0bc7b08d99f873b0ae30ebd90404ea4bff51b68bbcedc18abae4
MD5 dbe2bc304d3290cb4c9b6a8b2156a8d0
BLAKE2b-256 f6d996f52a3c74671c8aaeda684fc04a1f3d8d946efc5316381b94b8e7669cbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fdc1629c71142d4d320f59b40caa7c1413c2bd980d38f7ecf87339140caabc5c
MD5 694c48fd0db6e4185438eb7ebe62445e
BLAKE2b-256 b69091c091417997f1e50785db26e2a5309cf2af20db4699157196ef79a5fe4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8228953be90979cdc3b7460ff6d32100e89cd6b7c4e5cf53d66162de6fbe51c9
MD5 b8772aba53b305e728396da6d6a1062c
BLAKE2b-256 d28f2dbb8d9f2441dbd5d555d56a5fe21ce81ff15ce7d88f1a43bc7cd9e53c34

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37ff616901502031dabdea03a476e4b2b620340c54d7cb3c310739a00195817d
MD5 632ee4369e3f9608a82bd1ac49520c32
BLAKE2b-256 f9d71d179b445184c3f63d503a5277b487b0d8b5f826a6573a7fd913020a05eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ed4f5100b60b6546cb13b06fad7c2c65801662b22259720178cd14a9fd7488f
MD5 84e3926e69d14110f60415b923559bd2
BLAKE2b-256 f20e44b622d6a9a5b4e8254aaa60d4d8ad268051d3e544dce1add584b98555db

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e3d498b29a029dfa37305410306068ab08ed062a0317fe9e73106e0627103f10
MD5 1b0274b9aff3b061361596e8ce2d15c5
BLAKE2b-256 87856728e407e0d1279ae9cce6021760fc67bb25cde4a4ce125bd860a42e3370

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 253051bb7a74b8c1aaffb64022de2973948e14900b5f18e7ae4eaf8c53c6caba
MD5 bfea9882d8ecf8775b208816a800fc29
BLAKE2b-256 e098802d737b0a25f2f6c52b864b5d9a7f613c778e3ccf0d2dbb7efcc8f997cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a21899488064ccee6ac6039e02366a0930cab27731eaabbc7902c8fc7ccf15d7
MD5 52998c45f6c58770b30d5b96d732f1b7
BLAKE2b-256 1fa8a6216d0ffe6a132d5805029e7fca10e744c75c9f5e8ab94a0f462f8b0f60

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 020723037c29043065414797ad193f91ff6ee24f4d69957403bf73c216ec60a7
MD5 f1cfc2b79ee70fe09205141e82afb824
BLAKE2b-256 944c8e87ecf9820ba3a2a99adfab6f0333e34cf46e327a0f5fc80560fc822e4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ba080245b31648b70fa78c608a20e1afce51dcf1479541e8382326978f918e1
MD5 ff0401fbb8877d3f6bc466747fee300c
BLAKE2b-256 72b2dceb92310a601154e5ad48ebfb0fcea04747fccf6728769ee84202f44ff1

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 037666f42b14ff295f844affb371dba4f1599fcd11268698c4b544325b3f88bb
MD5 168278814cb3d50dec5ed07f88ef3d67
BLAKE2b-256 7a685a2810874ff1457b059acaefe025ad0f73dfbf0dcb0ef8f48af733902c2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a486f3439e661d07839f5afc7cd42080a720122670475211f2da4671fe02814
MD5 4bc0a5c937c74bfe872ac3d14926f803
BLAKE2b-256 2b1e069e3c7fee2a788b56f23e1af1fbe73e50ea4ddd2fc41fbcc07493d7c23b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 491e0b7adb4aed7cd1bef98280ee8465eb0e0bc806e41b31d0dd9d98da97efd7
MD5 8ab7a6c4f505eeaa9b88e43b5290d115
BLAKE2b-256 d9d5c50db61998cc65e5dfdc39463e2f914c05a191527de9c0285acd04f5d735

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54e6d1bc02139a6ee6a951a56ffad27486a2129d5c8d933fc748f5ed1ce31d52
MD5 b543ead8e3ed125f5eb04715763a1b5b
BLAKE2b-256 97e63b8758068bdea51c7c1e01e9c091cea7c978c1bc8c67acc026e0e0845263

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 16fb47d8a62e58e6a8e3c59ea78ce9f746bc5686f892475f4d9ec8217a54a2b6
MD5 54f577546560e680aa5c705dbee2fd07
BLAKE2b-256 f2e762ab277bbd8a03c831693c58b599f0ed76a5cb90d90b6ad2c9bfb3a5e0ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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

File details

Details for the file py_lean_multisig-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07f66727b3fade856c825cc52b552cf255917b76d4df4fca99ccfc9865b4b54d
MD5 bd41203fa892d8c1bdea2c0eba61aea0
BLAKE2b-256 8f5a0750696e47809af80eb0cb18cd37926e9ea92c0cc702b8497fd807d19d8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on kevaundray/py-lean-multisig

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