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!
Installation
MacPorts 🍎
sudo port install py-checkdigit
PyPi 🐍
pip install checkdigit
✨ Features
- PEP 561 compatible, with built in support for type checking.
- 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.
🪄
✅ Supported Formats
- Even/Odd binary parity
- CRC (credit to @sapieninja)
- GS1 Standards (credit to @OtherBarry)
- 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?
🔨 Contributing
- Contributing Page: https://checkdigit.rtfd.io/en/latest/contributing.html
- Issue Tracker: https://github.com/harens/checkdigit/issues
- Source Code: https://github.com/harens/checkdigit
Any change, big or small, that you think can help improve this project is more than welcome
As well as this, feel free to open an issue with any new suggestions or bug reports. Every contribution is appreciated.
To find out more, please read our contributing page. Thank you!
📙 License
This project is licensed under GPL-3.0-or-later.