skillfed

fastcrc

A hyper-fast Python module for computing CRC(8, 16, 32, 64) checksum

fastcrc v0.3.6 949.8K downloads/30d#4,659 on PyPI29
Permissive license Active released

What it is and what it does

fastcrc is a Python module that wraps Rust-based CRC computation to provide fast checksum calculations for 8, 16, 32, and 64-bit CRC variants. It exposes multiple algorithm implementations (such as cdma2000 for CRC-8, xmodem for CRC-16, aixm for CRC-32, and ecma_182 for CRC-64) as importable functions that accept byte data and return computed checksums. The module has no runtime dependencies and is distributed as pre-compiled wheels for most common platforms.

Typical use cases include data integrity verification, network protocol implementations, and embedded systems communication where CRC checksums are required. The package is actively maintained, supports Python 3.7 and later, and carries permissive MIT licensing.

Use it for:

  • Verify data integrity in file transfers or network protocols that mandate specific CRC algorithms.
  • Implement embedded systems communication (e.g., industrial protocols, automotive diagnostics) requiring CRC-8, CRC-16, or CRC-32 checksums.
  • Compute checksums for firmware or binary payloads in IoT or edge computing applications.
  • Validate data in storage systems or databases that use CRC for corruption detection.
  • Build incremental checksum validation by chaining CRC computations across data chunks.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

fastcrc computes CRC checksums (8, 16, 32, and 64-bit variants) using multiple algorithm implementations, with a focus on speed through Rust-backed computation.

Yes. fastcrc is actively maintained, carries no security vulnerabilities, has zero runtime dependencies, and offers permissive MIT licensing. Medium install friction is acceptable given pre-built wheels for common platforms. Install it if you need CRC checksums and want compiled-speed performance; skip it if you only need Python's built-in hashlib.crc32 or can tolerate pure-Python performance.

Install

fastcrc on PyPI

pip

pip install fastcrc

uv

uv add fastcrc

poetry

poetry add fastcrc

Installing fastcrc

Before you install

Medium install friction due to compiled wheels; however, wheels are pre-built for many platforms (x86_64, aarch64, armv7l, ppc64le, s390x, i686, riscv64, and Windows/macOS variants). Active maintenance with a recent release 100 days ago.

License in practice

Licensed under MIT (permissive), allowing use in commercial and proprietary projects with minimal restrictions.

Quickstart

pip install fastcrc

from fastcrc import crc8, crc16, crc32, crc64

data = b"123456789"
print(crc8.cdma2000(data))
print(crc16.xmodem(data))
print(crc32.aixm(data))
print(crc64.ecma_182(data))

Requires Python 3.7 or later; pre-compiled wheels available for common platforms, but installation on unsupported architectures may require a Rust toolchain.

Verify before relying

  • Performance comparison with Python's built-in hashlib.crc32 or other pure-Python CRC libraries to validate 'hyper-fast' claim.
  • Which specific CRC algorithms and variants are supported beyond the examples shown (cdma2000, xmodem, aixm, ecma_182).
  • Whether incremental/streaming CRC computation is supported (as suggested by the chained xmodem example).

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 100 days since the last release
Last repo commit
First released
Downloads 949,773/month — #4,659 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: fastcrc-0.3.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_31_riscv64.whl; fastcrc-0.3.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; fastcrc-0.3.6-cp310-cp310-musllinux_1_2_aarch64.whl; fastcrc-0.3.6-cp310-cp310-musllinux_1_2_armv7l.whl; fastcrc-0.3.6-cp310-cp310-musllinux_1_2_i686.whl; fastcrc-0.3.6-cp310-cp310-musllinux_1_2_x86_64.whl; fastcrc-0.3.6-cp310-cp310-win_amd64.whl; fastcrc-0.3.6-cp311-cp311-macosx_10_12_x86_64.whl; fastcrc-0.3.6-cp311-cp311-macosx_11_0_arm64.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fastcrc-0.3.6-cp311-cp311-manylinux_2_31_riscv64.whl

Keywords: crc, crc8, crc16, crc32, crc64

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: RustTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

Tags

crc checksum computationcrc8 crc16 crc32 crc64fast cyclic redundancy checkcrc algorithm librarydata integrity verificationchecksum calculation python
checksumcrcdata-integrity

More Python Modules packages