NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #945 most downloaded on PyPI
Python bindings for the Rust blake3 crate
Last release 5 days ago
29 Sep 2026
Release timing varies
gaps range from 9 days to 10 months
Nearly every release is documented
notes for 27 of 28 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
28 releases · first in 2020
One column per quarter.
Bump the github-actions group across 1 directory with 4 updates by @dependabot [bot] in #111
update by @oconnor663 in #121Full Changelog: 1.0.9...1.0.10
Update pyo3 to v0.29. This version drops support for Python 3.13t, so we no longer build those wheels.
Changes since v1.0.8:
pyo3 to v0.29. This version drops support for Python 3.13t,
so we no longer build those wheels.Changes since 1.0.7: - Set gil_used = false, to avoid activating the GIL when this module is imported in freethreaded builds. We already managed the b
version 1.0.8
Changes since 1.0.7:
- Set `gil_used = false`, to avoid activating the GIL when this module
is imported in freethreaded builds. We already managed the
blake3::Hasher with a Mutex internally, so not much else needed to
change.
- Fix a soundness bug where we released PyBuffer objects before we
finished reading the underlying bytes. This made it possible for other
threads to race to resize the buffer, which could've cause a
use-after-free. Now with the PyBuffer retained, other threads that try
to do that will fail and raise an exception.
MSRV is now Rust 1.80, driven by rayon .
pyo3 to v0.26.rayon.Update pyo3 requirement from 0.24.1 to 0.25.0 by @dependabot [bot] in #70
Full Changelog: 1.0.5...1.0.6
Bump PyO3/maturin-action from 1.45.0 to 1.46.0 by @dependabot in #59
Full Changelog: 1.0.4...1.0.5
Bump version to 1.0.4 by @tiran in #58
Full Changelog : 1.0.2...1.0.2_rerelease
Bump maturin, pyo3, add free-threaded 3.13t wheel by @ddelange in https://github.com/oconnor663/blake3-py/pull/47
Full Changelog: https://github.com/oconnor663/blake3-py/compare/1.0.0...1.0.1
The public API hasn't changed for a long time, so the main purpose of this release is to "officially" stabilize it as-is.
Changes since 0.4.1:
blake3.pyi (static typing stubs) now uses collections.abc.Buffer for bytes-like arguments. This is more correct and more permissive, but it means that static typechecking requires Python 3.12+.update and update_mmap now return self, so they can be called fluently.
version 0.4.1
Changes since 0.4.0:
update and update_mmap now return self, so they can be called
fluently.version 0.4.0 Changes since 0.3.4: - Add blake3.update_mmap.
version 0.4.0
Changes since 0.3.4:
Add type stubs. See blake3.pyi.
version 0.3.4
Changes since 0.3.3:
Change blake3.__module__ from "blake3" to "blake3.blake3". This is the correct canonical path, related to some Maturin implementation details. This is
version 0.3.3
Changes since 0.3.2:
blake3.__module__ from "blake3" to "blake3.blake3". This is
the correct canonical path, related to some Maturin implementation
details. This is intended to help tooling that relies on canonical
paths, but most regular callers don't need to worry about this. See
https://github.com/mkdocstrings/mkdocstrings/issues/451 for an example
of a tool that needs to know this.from blake3 import blake3; blake3.__module__ now correctly returns "blake3". Fixes #38.
version 0.3.2
Changes since 0.3.1:
from blake3 import blake3; blake3.__module__ now correctly returns
"blake3". Fixes #38.The experimental C implementation has been bumped to v0.0.1. Testers and reviewers can install this implementation from TestPyPI with: pip install -i
version 0.3.1
Changes since 0.3.0:
pip install -i https://test.pypi.org/simple/ blake3-experimental-cThere is now an experimental, API-compatible C implementation of the Python blake3 module in the c_impl/ directory. This a proof-of-concept for code t
version 0.3.0
Changes since 0.2.1:
blake3 module in the c_impl/ directory. This a
proof-of-concept for code that might be submitted to Python's standard
hashlib module in the future. It probably won't be published on PyPI.multithreading keyword arg previously on blake3() and update()
has been replaced with the max_threads keyword arg on blake3() only.
This accepts any positive integer, or the special value blake3.AUTO,
which is equivalent to the previous behavior. This change helps
compatiblity with the current C implementation, which ignores
max_threads, and with a hypothetical future C implementation, which
might want to store a thread pool on the hasher.max_threads is greater than 1 and not equal to blake3.AUTO.usedforsecurity keyword arg, for compatibility with hashlib.
The value is currently ignored.data
arguments are now strictly positional-only.The "blake3" crate version has been updated to 1.0.0.
version 0.2.1
Changes since 0.2.0:
Rename the "context" keyword argument to "derive_key_context" for clarity.
version 0.2.0
Changes since 0.1.8:
blake3.__version__ module constant.The hasher now supports the copy method and the name attribute, matching the conventions of hashlib. Added by @xkortex.
version 0.1.8
Changes since 0.1.7:
copy method and the name attribute,
matching the conventions of hashlib. Added by @xkortex.data argument can. Previously key could only be bytes.Add support for hashing buffers of signed chars. This is uncommon, but it can come up with e.g. PyArrow. See https://github.com/oconnor663/blake3-py/i
version 0.1.7
Changes since 0.1.6:
Upgrade to pyo3 0.11, which supports stable Rust.
version 0.1.6
Changes since 0.1.5:
The Linux build is now properly manylinux-compatible. Previously the Linux binary wheels were linked against a too-recent version of glibc, leading to
version 0.1.5
Changes since 0.1.4:
Update to version 0.3.0 of the blake3 crate.
version 0.1.4
Changes since 0.1.3:
The key keyword argument for blake3(), which enables the keyed mode.
version 0.1.3
Changes since 0.1.2:
key keyword argument for blake3(), which enables the keyed mode.context keyword argument for blake3(), which enables the key
derivation mode.length and seek keyword arguments for digest() and
hexdigest(), which expose the XOF.multithreading keyword argument for blake3() and update(), which
enables Rayon-based multithreading.Fix an issue that caused version 0.1.1 to be built and released in debug mode, leading to very bad performance.
version 0.1.2
Changes since 0.1.1:
Binary wheels are now built automatically by GitHub Actions for common platforms. Currently Python 3.5-3.8 for Linux, macOS, and x86+x64 Windows.
version 0.1.1
Changes since 0.1.0:
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →