NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #659 most downloaded on PyPI
A python package implementing the crc32c algorithm in hardware and software
Last release 24 days ago
11 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Nearly every release is documented
notes for 27 of 27 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
27 releases · first in 2017
Build and publish RISCV wheels to PyPI thanks to the RISE project (#92).
This project publishes no release notes. Between v2.9 and v2.9.post0 there were 2 commits, 2 of them substantive:
Added crc32c.__version__ attribute.
crc32c.__version__ attribute.This project publishes no release notes. Between v2.8 and v2.9 there were 23 commits, 5 of them substantive:
One column per quarter.
Add crc32c.cli module (and related crc32c generated script) as a command line utility to calculate the crc32c checksum on input files.
crc32c.cli module (and related crc32c generated script)
as a command line utility to calculate the crc32c checksum on input files.This project publishes no release notes. Between v2.7.1.post0 and v2.8 there were 6 commits, 6 of them substantive:
Use pyproject.toml to declare project metadata and configuration. This includes its build system (setuptools), moving most static content from setup.p
pyproject.toml to declare project metadata and configuration.
This includes its build system (setuptools),
moving most static content from setup.py to pyproject.toml,
and moving the pytest configuration out from pytest.ini too.tox as a job runner for development activities,
good to use with tox-uv for easy multi-python testing.This project publishes no release notes. Between v2.7.1 and v2.7.1.post0 there were 28 commits, 13 of them substantive:
Actually advertise that our C extension supports sub-interpreters, and per-GIL ones for that matter.
This project publishes no release notes. Between v2.7.post1 and v2.7.1 there were 8 commits, 6 of them substantive:
Added missing test files to source distribution (#59).
This project publishes no release notes. Between v2.7.post0 and v2.7.post1 there were 3 commits, 3 of them substantive:
Fixed generation of source distribution (#58).
This project publishes no release notes. Between v2.7 and v2.7.post0 there were 3 commits, 3 of them substantive:
Added a gil_relese_mode parameter to the CRC32CHash constructor used by all underlying crc32c function calls (#51).
gil_relese_mode parameter to the CRC32CHash constructor
used by all underlying crc32c function calls (#51).gil_release_mode parameter doesn't have any effect.CRC32CHash.checksum auxiliary property.crc32c.benchmark utility for simple benchmarking.crc32c module doesn't fail to import when CRC32C_SW_MODE is none
and no hardware acceleration is found,
making the act of importing the module less ackward.
Now a RuntimeWarning is issued at import time instead,
and aRuntimeError is raised any time
a checksum calculation is attempted.CRC32C_SKIP_HW_PROBE environment variable
is set to 1.This project publishes no release notes. Between v2.6 and v2.7 there were 30 commits, 30 of them substantive:
…and 10 more.
Added new crc32c.CRC32CHash class modelled after the stdlib hashlib hash objects.
crc32c.CRC32CHash class
modelled after the stdlib hashlib hash objects.This project publishes no release notes. Between v2.5 and v2.6 there were 9 commits, 9 of them substantive:
Made this package PEP 561 compliant (#49).
gil_release_mode argument lets users choose between always/never/automatically releasing it (#47).crc32c function (crc32c(data, value=0, gil_release_mode=-1)).crc32c from a module-only distribution into a package,
and moves all sources under src.switch C statements
for clarity, and to avoid potential warnings (#46).This project publishes no release notes. Between v2.4.1 and v2.5 there were 17 commits, 15 of them substantive:
gil_release_mode for releasing GIL during computation of CRC32C hashFixed failure on big-endian, signed char platforms (found in SPARC, but there might be more) due to an incorrect (and unnecessary) cast from unsigned
char platforms
(found in SPARC, but there might be more)
due to an incorrect (and unnecessary) cast
from unsigned char * to char * (#43).This project publishes no release notes. Between v2.4 and v2.4.1 there were 7 commits, 3 of them substantive:
Changed package compilation under gcc/clang to use compiler extensions to build hardware-specific functions instead of command-line options for improv
Mention explicit support for Python 3.11.
Improved macro definition logic and platform detection to enable building universal2 binary wheels for macOS, alongside arm64 and x86_64 ones; added s
universal2 binary wheels for macOS,
alongside arm64 and x86_64 ones;
added step to GitHub Actions to generate and publish them (#28).Updated GitHub Actions to produce ARM64 Linux binary wheels and publish them to PyPI.
Fixed software algorithm implementation to work on big endian machines (#22). Now the algorithm works correctly, with numerical (uint32_t) values stil
big_endian attribute
that indicates if the currently platform
is big endian or not.Deprecated the crc32 function in favour of the new crc32c function, which apart from the new, better name has no other changes.
crc32 function
in favour of the new crc32c function,
which apart from the new, better name
has no other changes.Changed binary distribution generation strategy, moving from a local+Travis+AppVeyor setup to a unified script using GitHub Actions.
Changed package import logic (#12). Instead of failing to import if hardware support is not found, the package now automatically falls back to using t
CRC32C_SW_MODE to none.Fixes wrong uploads to PyPI (#8).
Added new auto software mode to allow automatic selection of hardware or software backend (#5).
auto software mode to allow automatic selection
of hardware or software backend (#5).icc.Adding software implementation of crc32c algorithm, original developed by Mark Adler (#4). Software implementation is not accessible by default in ord
crc32c algorithm,
original developed by Mark Adler (#4).
Software implementation is not accessible by default
in order to maintain current importing logic,
and is switched on by setting CRC32C_SW_MODE to 1.crc32c
from our own home-brewed code to Mark Adler's.Added support to compile in Windows using MSVC.
Added support to compile in Windows using the MinGW compiler (#1).
First version of crc32c doing pre- and post-masking against 0xffffffff. This is thus the first version of the package that is easily usable.
crc32c doing pre- and post-masking
against 0xffffffff.
This is thus the first version of the package
that is easily usable.* Correct license reference.
[1.0]: https://github.com/ICRAR/crc32c/releases/tag/v1.0 [1.1]: https://github.com/ICRAR/crc32c/releases/tag/v1.1 [1.2]: https://github.com/ICRAR/crc3
Your coding agent can read these notes before it upgrades. Set up the MCP server →