crcmod
CRC Generator
Decision gist · record as of 2026-08-14
Yes, but with caution. The package is stable and widely used (8.2M monthly downloads), carries no known vulnerabilities, and is MIT-licensed. However, it is abandoned (last release 2010-06-27) with no documented support beyond Python 3.1. Install only if you need CRC computation and can verify compatibility with your Python version; for modern projects, consider whether a maintained alternative exists or whether you can vendor the pure Python fallback.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- C compiler required to build the optional extension module for performance; pure Python fallback available but significantly slower.
- Package tested only on Python 2.4–2.7 and 3.1; compatibility with modern Python versions is unverified.
- High install friction: the package is abandoned (last release 2010-06-27) and relies on optional C extension compilation.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2010-06-27 (5892 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,213,276 downloads/mo, #1,649 on PyPI
Alternatives
Verify before relying
import crcmod
# Create a CRC function for a standard polynomial
pred_crc32 = crcmod.predefined.mkCrcFun('crc-32')
checksum = pred_crc32(b'data')
print(checksum)- Whether the package works on Python versions beyond 3.1 (last tested version documented)
- Current compatibility with modern C compilers and build toolchains
- Whether the pure Python fallback remains functional on current Python releases
What it is and what it does
crcmod is a Python module for generating CRC computation objects. It supports any 8, 16, 24, 32, or 64-bit CRC polynomial and can produce either a standalone Python function or a Crc class instance with an interface matching the standard library's md5 and sha modules. The package includes a predefined module with standard polynomials, eliminating the need to research and specify your own in common cases.
The module can also generate C/C++ source code for CRC computation in other applications. Installation attempts to build a C extension for performance; if compilation fails, a pure Python implementation is used instead, though it runs significantly slower. The package is abandoned and has not been updated since 2010, with no documented support for Python versions beyond 3.1.
Use it for
- Verify data integrity in network protocols or file transfers by computing and comparing CRC checksums
- Generate CRC functions for embedded systems or legacy protocols that specify particular polynomials
- Export C/C++ code for CRC computation to be compiled and used in non-Python applications
- Validate messages in communication systems that use standard CRC polynomials like CRC-32
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, but with caution.
The package is stable and widely used (8.2M monthly downloads), carries no known vulnerabilities, and is MIT-licensed. However, it is abandoned (last release 2010-06-27) with no documented support beyond Python 3.1. Install only if you need CRC computation and can verify compatibility with your Python version; for modern projects, consider whether a maintained alternative exists or whether you can vendor the pure Python fallback.
Install
crcmod on PyPI
Before you install
High install friction: the package is abandoned (last release 2010-06-27) and relies on optional C extension compilation. Friction evidence shows only legacy Windows installers and source distributions; no wheels or modern packaging. Installation falls back to pure Python if compilation fails, but the C extension is significantly faster.
C compiler required to build the optional extension module for performance; pure Python fallback available but significantly slower. Package tested only on Python 2.4–2.7 and 3.1; compatibility with modern Python versions is unverified.
License in practice
MIT license (permissive) imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
import crcmod
# Create a CRC function for a standard polynomial
pred_crc32 = crcmod.predefined.mkCrcFun('crc-32')
checksum = pred_crc32(b'data')
print(checksum)
Verify before relying
- Whether the package works on Python versions beyond 3.1 (last tested version documented)
- Current compatibility with modern C compilers and build toolchains
- Whether the pure Python fallback remains functional on current Python releases
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 5,892 days since the last release |
| First released | |
| Downloads | 8,213,276 / month, #1,649 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: End Users/DesktopIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: CProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.4Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.1Topic :: CommunicationsTopic :: Scientific/Engineering :: Interface Engine/Protocol TranslatorTopic :: Scientific/Engineering :: MathematicsTopic :: Utilities |
Evidence: crcmod-1.7.tar.gz; crcmod-1.7.win32-py2.6.msi; crcmod-1.7.win32-py2.7.msi; crcmod-1.7.win32-py3.1.msi
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cyclic redundancy check generator”
- crcmodComputes Cyclic Redundancy Check (CRC) values for 8, 16, 24, 32, or…
- crcengineCrcEngine provides table-based and bit-bashing CRC calculation with…
- crcCalculate, verify, and manage CRC checksums using predefined…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also fastcrc · crc · anycrc · crcengine · crccheck · libscrc · filehash · red-black-tree-mod · checksumdir · crc32c