checkdigit is a pure Python library built for identification numbers. You want to validate a credit card number, or maybe even calculate a missing digit on an ISBN code? We've got you covered ๐.
Want to know more? Check out the API Reference and documentation!
MacPorts ๐
sudo port install py-checkdigit
PyPi ๐
pip install checkdigit
- ๐ฆ Works out of the box with all supported Python versions (3.7-3.11).
- โจ๏ธ PEP 561 compatible, with built in support for type checking.
- ๐ Zero runtime dependencies. What you see is what you get.
- ๐งฎ Capable of calculating missing digits or validating a block of data.
- ๐ Extensive in-code comments and docstrings to explain how it works behind the scenes.
- Even/Odd binary parity
- CRC
- GS1 Standards
- EAN-8/13
- GDTI
- GLN
- SSCC
- UPC-A/E
- etc. (all fixed length numeric GS1 data structures with a check digit)
- ISBN-10/13
- Luhn
- Verhoeff
For each of these formats, we provide functions to validate them and calculate missing digits.
Do you have any formats that you'd like to see supported? ๐ค Feel free to raise an issue, or even to send a pull request!
This project follows the all-contributors specification. Contributions of any kind are welcome!
Want to help out? Check out the contributing page.
Thanks goes to these wonderful people (emoji key):
Timothy Langer |
Charlie Wilson ๐ป |
Max Bowman ๐ป |
Mohsen BANAN ๐ |
This project is licensed under GPL-3.0-or-later.