CrcElk is an updated fork of the CrcMoose module for recent versions of Python. It provides a pure Python implementation of the CRC algorithm and allows for variants to easily be defined by providing their parameters such as width, starting polynomial, etc. Python versions 2.6+ and 3.1+ are supported.
>>> import crcelk
>>> import struct
>>> crc = crcelk.CRC_CCITT.calc_bytes(b'Hello World')
>>> print("{0} (0x{0:04x})".format(crc))
19749 (0x4d25)
CrcElk is released under the same MIT license as the original CrcMoose source. Details are available in the file header.