Skip to main content

Compiled Alberta Buck kernels for Python: integer monetary arithmetic bit-identical to the Solidity contracts, and the BN254 identity/wallet/registry cryptography

Project description

alberta-buck-kernel

The compiled Alberta Buck kernels for Python: integer monetary arithmetic bit-identical to the Solidity contracts, and the BN254 identity, wallet and registry cryptography.

Nothing requires this package. It is the optional fast path behind alberta-buck. Everything here has a pure-Python equivalent in alberta_buck.wallet, which remains the executable specification -- this package is proven bit-identical to it by golden vectors, so choosing it cannot change a single emitted byte. It is only faster.

pip install alberta-buck            # pure Python, works everywhere
pip install alberta-buck[kernel]    # adds this, where a wheel exists

Selection

At call time, via BUCK_IDENTITY_BACKEND:

value behaviour
unset use the kernel when importable, else pure Python
kernel require the kernel; ImportError if absent
py force the pure-Python path

One wheel per platform

The extension is built abi3-py311, so a single wheel serves every CPython from 3.11 onward -- no rebuild for 3.13, 3.14 and beyond.

Three of the four modules share one shared object: buck-identity, buck-wallet and buck-registry compile into a single cdylib with three #[pymodule] entry points. Shipping them separately would triple 1.5 MB for nothing, so each module loads the same file under its own name -- CPython derives the init symbol (PyInit_buck_wallet) from the last dotted component, not from the filename. Installed size is 2.0 MB rather than 4.9 MB.

Status

0.1.0, prototype. Unaudited cryptographic software. It has been checked for agreement with a reference implementation, which is not the same as having been checked for security.

Licence

CAL-1.0 (Cryptographic Autonomy License v1.0). Beyond the usual copyleft, CAL requires that anyone you provide this software's functionality to receives their own data and is not locked out of it by cryptographic or technical means. See LICENSING.md.

Repository: https://github.com/alberta-buck/alberta-buck

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

alberta_buck_kernel-0.1.0-cp311-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

alberta_buck_kernel-0.1.0-cp311-abi3-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 10.13+ x86-64

File details

Details for the file alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 911458b622c818d65b0b96cb88c4de9e0ce96dcc880ea5ced596306a5f5d4a9e
MD5 9bc3bed1fc97165df1fd192c4609d98b
BLAKE2b-256 6db97bf528239d66415ddde583d3276436ecce50fc0f1247e358a86de97461b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_x86_64.whl:

Publisher: release-pypi.yml on alberta-buck/alberta-buck

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

File details

Details for the file alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d7b135f0c7a19af0b2d8a3787c94e4986038a3e4721216ffac41bffe92abc3da
MD5 c48037b6d0def136b9ceecb0c5295ba2
BLAKE2b-256 45a528144f780d2abd728e3e6a32208f18be416840df3fc69585e42a46a7a0c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for alberta_buck_kernel-0.1.0-cp311-abi3-manylinux_2_28_aarch64.whl:

Publisher: release-pypi.yml on alberta-buck/alberta-buck

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

File details

Details for the file alberta_buck_kernel-0.1.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for alberta_buck_kernel-0.1.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af2e1268b1adac741474e0b92695ac1944bc686b704e4acbc40be40b6f14761e
MD5 42d5e52fcac47e81e4d2a78ce6cbcb5d
BLAKE2b-256 b1032ba3d29066e7350205363b4fc2d2c1cda9833769a8582be592707f39d27c

See more details on using hashes here.

Provenance

The following attestation bundles were made for alberta_buck_kernel-0.1.0-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on alberta-buck/alberta-buck

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

File details

Details for the file alberta_buck_kernel-0.1.0-cp311-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for alberta_buck_kernel-0.1.0-cp311-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 547696194dcc1c1f96a15ff46f4f0afec921b046c6464fbed2582974bd3abd09
MD5 56db13345011756eb27cabcf53844c21
BLAKE2b-256 af120ed3df18891bfd8e249c4ff33685a759cfbc68b4539d1ea80029d6ff2d09

See more details on using hashes here.

Provenance

The following attestation bundles were made for alberta_buck_kernel-0.1.0-cp311-abi3-macosx_10_13_x86_64.whl:

Publisher: release-pypi.yml on alberta-buck/alberta-buck

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