blake2b-py 0.4.0


pip install blake2b-py

  Latest version

Released: Aug 21, 2026


Meta
Author: David Sanders, ApeWorX Collective
Maintainer: ApeWorX Collective
Requires Python: >=3.10, <4

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers

License
  • OSI Approved :: MIT License

Programming Language
  • Python :: 3
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Rust

blake2b-py

Blake2b hashing in Rust with Python bindings.

Developing

Install dependencies and build the Python extension in a virtual environment:

UV_CACHE_DIR=/tmp/uv-cache uv run --group test maturin develop

Run the test suites:

UV_CACHE_DIR=/tmp/uv-cache uv run --group test pytest
PYO3_PYTHON=.venv/bin/python cargo test test_

The slow EIP-152 vector can be run explicitly:

PYO3_PYTHON=.venv/bin/python cargo test --release test_f_eip_152_vec_8 -- --ignored --nocapture

Rust benchmarks use unstable Rust benchmark support and require nightly:

PYO3_PYTHON=.venv/bin/python cargo +nightly bench --features nightly-benches

You may need to specify the MACOSX_DEPLOYMENT_TARGET environment variable to your version of macOS.

Building and Releasing

Build local artifacts with maturin:

UV_CACHE_DIR=/tmp/uv-cache uv run --group build maturin build --release

The committed package version in Cargo.toml is intentionally the invalid release sentinel 0.0.0. Create a GitHub release with a semantic-version tag such as v0.5.0; the publish workflow validates the tag and replaces the sentinel before Maturin builds the wheels and source distribution. A local build retains the sentinel version and must not be published.

PyPI must be configured to trust the ApeWorX/blake2b-py GitHub repository and the .github/workflows/publish.yaml workflow before the release job can publish.

No dependencies