--- id: crcmod version: "1.7" license: MIT license_treatment: permissive maintenance: abandoned --- # crcmod — CRC Generator License: permissive · Maintenance: abandoned · Downloads: 8.2M/mo ## 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 above — verify before relying. Computes Cyclic Redundancy Check (CRC) values for 8, 16, 24, 32, or 64-bit polynomials, providing both Python functions and a class interface compatible with standard library hash modules. 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 pip install crcmod uv add crcmod poetry add crcmod ## Installing crcmod 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. 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) 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. 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: unspecified - Install friction: high - Maintenance: abandoned - Downloads: 8.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags crc calculation python, cyclic redundancy check generator, crc polynomial computation, checksum verification, crc hash function, checksum, data-integrity, legacy [View on SkillFed](https://skillfed.io/packages/crcmod) · [View on PyPI](https://pypi.org/project/crcmod/)